Compare commits

..

No commits in common. 'main' and 'dev' have entirely different histories.
main ... dev

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry including="**/*.java" kind="src" output="target/classes" path="src">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-fileupload-1.4.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-io-2.6.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/json-20240303.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/mysql-connector-java-8.0.16.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v9.0"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>

8
.idea/.gitignore vendored

@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="jdk21" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/classes" />
</component>
</project>

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>air_ticket_book</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.common.project.facet.core.builder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.validation.validationbuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
</natures>
</projectDescription>

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry excluding="**/bower_components/*|**/node_modules/*|**/*.min.js" kind="src" path="WebContent"/>
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.WebProject">
<attributes>
<attribute name="hide" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/>
<classpathentry kind="output" path=""/>
</classpath>

@ -0,0 +1,2 @@
eclipse.preferences.version=1
encoding//src/servlet/search_fly.java=UTF-8

@ -0,0 +1,11 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
org.eclipse.jdt.core.compiler.release=disabled
org.eclipse.jdt.core.compiler.source=1.8

@ -0,0 +1,4 @@
activeProfiles=
eclipse.preferences.version=1
resolveWorkspaceProjects=true
version=1

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="air_ticket_book">
<wb-resource deploy-path="/" source-path="/WebContent" tag="defaultRootSource"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
<property name="java-output-path" value="/air_ticket_book/build/classes"/>
<property name="context-root" value="air_ticket_book"/>
</wb-module>
</project-modules>

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<fixed facet="jst.web"/>
<fixed facet="wst.jsdt.web"/>
<fixed facet="java"/>
<installed facet="java" version="1.8"/>
<installed facet="jst.web" version="3.0"/>
<installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>

@ -0,0 +1 @@
org.eclipse.wst.jsdt.launching.baseBrowserLibrary

@ -0,0 +1,2 @@
eclipse.preferences.version=1
org.eclipse.wst.ws.service.policy.projectEnabled=false

@ -1,23 +0,0 @@
# 基于生成式AI的机票推荐系统
# 项目介绍
随着人工智能技术的飞速发展生成式AI在多个领域展现出强大的潜力。在民航业生成式AI不仅能够高效处理每日航班起降带来的海量数据还能根据历史数据、天气预报以及实时趋势实现对机场与航空公司运行情况的实时模拟和精准预测。这种能力为基于生成式AI的机票推荐系统提供了坚实的技术基础。同时智慧民航建设的持续推进也为这一系统的发展提供了良好的环境。通过应用物联网、大数据、云计算等技术民航业实现了对航班、机场设施、旅客服务等各个环节的精准监控和智能调度为生成式AI机票推荐系统提供了丰富的数据资源和应用场景。
本软件专门解决用户的出行需求而设计,它可以分析用户的信息,结合当前航班数据、价格趋势等,为用户生成个性化的机票推荐方案,提前为用户提供备选方案或调整建议。
# 项目功能
登录以及注册功能查看机票信息AI机票推荐跳转购票网站数据维护。
# 环境配置
## 推荐系统主体
1. 编码IDE为Eclipse Java EE 2023-09使用的JDK版本为17.0.10。
2. 数据库为MySQL 8.0.38。
3. 数据库管理工具Navicat Premium 12
4. 服务器工具Tomcat 9.0
## 数据维护部分
1. 编码IDE为Pycharm Community Edition 2023.3.4,使用的python版本为3.10.6。
2. ctrip_flights_scraper_V3使用到的Python外部库为magic,requests,selenium,seleniumwire,pandas
3. db_import使用到的Python外部库为mysql-connector-python,pandas,datetime
# 运行维护方法
1. 在Eclipse中导入src中的源码对整个项目源文件进行重新Build如果有报错则需要重新导入依赖在src/WebContent/WEB-INF/lib中导入所需要的jar包。
2. 在src/src/javabean中db_conn.java中将数据库的用户名和密码改为自己的数据库用户名和密码。
3. 部署Tomcat将项目部署到Tomcat中。
4. 使用Navicat连接数据库导入SQL文件
5. 运行数据维护中ctrip_flights_scraper_V3.py文件此文件为爬取数据的程序,使用db_import.py文件将爬取的数据导入数据库(注意将其中数据库用户名和密码改为自己的)。
5. 运行src/WebContent/default中的index.jsp,此文件为项目的主页面。

@ -0,0 +1,3 @@
Manifest-Version: 1.0
Class-Path:

@ -0,0 +1,105 @@
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0">
<display-name>air_ticket_book</display-name>
<servlet>
<servlet-name>login_check</servlet-name>
<servlet-class>servlet.check</servlet-class>
<load-on-startup>5</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>login_check</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>backstage_frame</servlet-name>
<servlet-class>servlet.frame</servlet-class>
<load-on-startup>5</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>backstage_frame</servlet-name>
<url-pattern>/frame</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>check_user_login_reg</servlet-name>
<servlet-class>servlet.check_login_reg</servlet-class>
<load-on-startup>5</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>check_user_login_reg</servlet-name>
<url-pattern>/login_reg</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>common_user_center</servlet-name>
<servlet-class>servlet.userCenter</servlet-class>
<load-on-startup>5</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>common_user_center</servlet-name>
<url-pattern>/user_center</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>up_img</servlet-name>
<servlet-class>servlet.upload_file</servlet-class>
<load-on-startup>5</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>up_img</servlet-name>
<url-pattern>/upload_img</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>deal_message_board</servlet-name>
<servlet-class>servlet.deal_message</servlet-class>
<load-on-startup>5</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>deal_message_board</servlet-name>
<url-pattern>/messageBoard</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>nav_search</servlet-name>
<servlet-class>servlet.search_fly</servlet-class>
<load-on-startup>5</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>nav_search</servlet-name>
<url-pattern>/search</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>delete_message</servlet-name>
<servlet-class>servlet.del_user_message</servlet-class>
<load-on-startup>5</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>delete_message</servlet-name>
<url-pattern>/del_message</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>add_flight_info</servlet-name>
<servlet-class>servlet.addFlight</servlet-class>
<load-on-startup>5</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>add_flight_info</servlet-name>
<url-pattern>/add_flight</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>order_add</servlet-name>
<servlet-class>servlet.deal_order</servlet-class>
<load-on-startup>5</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>order_add</servlet-name>
<url-pattern>/add_order</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>ChatServlet</servlet-name>
<servlet-class>servlet.ChatServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ChatServlet</servlet-name>
<url-pattern>/api/chat</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1,336 @@
(function (jQuery) {
// Variable
var $ = jQuery;
$.fn.ripple = function () {
$(this).click(function (e) {
var rippler = $(this),
ink = rippler.find(".ink");
if (rippler.find(".ink").length === 0) {
rippler.append("<span class='ink'></span>");
}
ink.removeClass("animate");
if (!ink.height() && !ink.width()) {
var d = Math.max(rippler.outerWidth(), rippler.outerHeight());
ink.css({
height: d,
width: d
});
}
var x = e.pageX - rippler.offset().left - ink.width()/2;
var y = e.pageY - rippler.offset().top - ink.height()/2;
ink.css({
top: y+'px',
left:x+'px'
}).addClass("animate");
});
};
$.fn.carouselAnimate = function()
{
function doAnimations(elems)
{
var animEndEv = 'webkitAnimationEnd animationend';
elems.each(function () {
var $this = $(this),
$animationType = $this.data('animation');
$this.addClass($animationType).one(animEndEv, function () {
$this.removeClass($animationType);
});
});
}
var $myCarousel = this;
var $firstAnimatingElems = $myCarousel.find('.item:first')
.find('[data-animation ^= "animated"]');
doAnimations($firstAnimatingElems);
$myCarousel.carousel('pause');
$myCarousel.on('slide.bs.carousel', function (e) {
var $animatingElems = $(e.relatedTarget)
.find("[data-animation ^= 'animated']");
doAnimations($animatingElems);
});
};
this.hide = function()
{
$(".tree").hide();
$(".sub-tree").hide();
};
this.treeMenu = function()
{
$('.tree-toggle').click(function(e){
e.preventDefault();
var $this = $(this).parent().children('ul.tree');
$(".tree").not($this).slideUp(600);
$this.toggle(700);
$(".tree").not($this).parent("li").find(".tree-toggle .right-arrow").removeClass("fa-angle-down").addClass("fa-angle-right");
$this.parent("li").find(".tree-toggle .right-arrow").toggleClass("fa-angle-right fa-angle-down");
});
$('.sub-tree-toggle').click(function(e) {
e.preventDefault();
var $this = $(this).parent().children('ul.sub-tree');
$(".sub-tree").not($this).slideUp(600);
$this.toggle(700);
$(".sub-tree").not($this).parent("li").find(".sub-tree-toggle .right-arrow").removeClass("fa-angle-down").addClass("fa-angle-right");
$this.parent("li").find(".sub-tree-toggle .right-arrow").toggleClass("fa-angle-right fa-angle-down");
});
};
this.leftMenu = function()
{
$('.opener-left-menu').on('click', function(){
$(".line-chart").width("100%");
$(".mejs-video").height("auto").width("100%");
if($('#right-menu').is(":visible"))
{
$('#right-menu').animate({ 'width': '0px' }, 'slow', function(){
$('#right-menu').hide();
});
}
if( $('#left-menu .sub-left-menu').is(':visible') ) {
$('#content').animate({ 'padding-left': '0px'}, 'slow');
$('#left-menu .sub-left-menu').animate({ 'width': '0px' }, 'slow', function(){
$('.overlay').show();
$('.opener-left-menu').removeClass('is-open');
$('.opener-left-menu').addClass('is-closed');
$('#left-menu .sub-left-menu').hide();
});
}
else {
$('#left-menu .sub-left-menu').show();
$('#left-menu .sub-left-menu').animate({ 'width': '230px' }, 'slow');
$('#content').animate({ 'padding-left': '230px','padding-right':'0px'}, 'slow');
$('.overlay').hide();
$('.opener-left-menu').removeClass('is-closed');
$('.opener-left-menu').addClass('is-open');
}
});
};
this.userList = function(){
$(".user-list ul").niceScroll({
touchbehavior:true,
cursorcolor:"#FF00FF",
cursoropacitymax:0.6,
cursorwidth:24,
usetransition:true,
hwacceleration:true,
autohidemode:"hidden"
});
};
this.rightMenu = function(){
$('.opener-right-menu').on('click', function(){
userList();
$(".user").niceScroll();
$(".user ul li").on('click',function(){
$(".user-list ul").getNiceScroll().remove();
$(".user").hide();
$(".chatbox").show(1000);
userList();
});
$(".close-chat").on("click",function(){
$(".user").show();
$(".chatbox").hide(1000);
});
$(".line-chart").width("100%");
if($('#left-menu .sub-left-menu').is(':visible')) {
$('#left-menu .sub-left-menu').animate({ 'width': '0px' }, 'slow', function(){
$('#left-menu .sub-left-menu').hide();
$('.overlay').show();
$('.opener-left-menu').removeClass('is-open');
$('.opener-left-menu').addClass('is-closed');
});
$('#content').animate({ 'padding-left': '0px'}, 'slow');
}
if($('#right-menu').is(':visible') ) {
$('#right-menu').animate({ 'width': '0px' }, 'slow', function(){
$('#right-menu').hide();
});
$('#content').animate({ 'padding-right': '0px'}, 'slow');
}
else {
$('#right-menu').show();
$('#right-menu').animate({ 'width': '230px' }, 'slow');
$('#content').animate({ 'padding-right': '230px'}, 'slow');
}
});
};
$(".box-v6-content-bg").each(function(){
$(this).attr("style","width:" + $(this).attr("data-progress") + ";");
});
$('.carousel-thumb').on('slid.bs.carousel', function () {
if($(this).find($(".item")).is(".active"))
{
var Current = $(this).find($(".item.active")).attr("data-slide");
$(".carousel-thumb-img li img").removeClass("animated rubberBand");
$(".carousel-thumb-img li").removeClass("active");
$($(".carousel-thumb-img").children()[Current]).addClass("active");
$($(".carousel-thumb-img li").children()[Current]).addClass("animated rubberBand");
}
});
$(".carousel-thumb-img li").on("click",function(){
$(".carousel-thumb-img li img").removeClass("animated rubberBand");
$(".carousel-thumb-img li").removeClass("active");
$(this).addClass("active");
});
$("#mimin-mobile-menu-opener").on("click",function(e){
$("#mimin-mobile").toggleClass("reverse");
var rippler = $("#mimin-mobile");
if(!rippler.hasClass("reverse"))
{
if(rippler.find(".ink").length == 0) {
rippler.append("<div class='ink'></div>");
}
var ink = rippler.find(".ink");
ink.removeClass("animate");
if(!ink.height() && !ink.width())
{
var d = Math.max(rippler.outerWidth(), rippler.outerHeight());
ink.css({height: d, width: d});
}
var x = e.pageX - rippler.offset().left - ink.width()/2;
var y = e.pageY - rippler.offset().top - ink.height()/2;
ink.css({
top: y+'px',
left:x+'px',
}).addClass("animate");
rippler.css({'z-index':9999});
rippler.animate({
backgroundColor: "#FF6656",
width: '100%'
}, 750 );
$("#mimin-mobile .ink").on("animationend webkitAnimationEnd oAnimationEnd MSAnimationEnd",
function(e){
$(".sub-mimin-mobile-menu-list").show();
$("#mimin-mobile-menu-opener span").removeClass("fa-bars").addClass("fa-close").css({"font-size":"2em"});
});
}else{
if(rippler.find(".ink").length == 0) {
rippler.append("<div class='ink'></div>");
}
var ink = rippler.find(".ink");
ink.removeClass("animate");
if(!ink.height() && !ink.width())
{
var d = Math.max(rippler.outerWidth(), rippler.outerHeight());
ink.css({height: d, width: d});
}
var x = e.pageX - rippler.offset().left - ink.width()/2;
var y = e.pageY - rippler.offset().top - ink.height()/2;
ink.css({
top: y+'px',
left:x+'px',
}).addClass("animate");
rippler.animate({
backgroundColor: "transparent",
'z-index':'-1'
}, 750 );
$("#mimin-mobile .ink").on("animationend webkitAnimationEnd oAnimationEnd MSAnimationEnd",
function(e){
$("#mimin-mobile-menu-opener span").removeClass("fa-close").addClass("fa-bars").css({"font-size":"1em"});
$(".sub-mimin-mobile-menu-list").hide();
});
}
});
$(".form-text").on("click",function(){
$(this).before("<div class='ripple-form'></div>");
$(".ripple-form").on("animationend webkitAnimationEnd oAnimationEnd MSAnimationEnd",
function(e){
// do something here
$(this).remove();
});
});
$('.mail-wrapper').find('.mail-left').css('height', $('.mail-wrapper').innerHeight());
$("#left-menu ul li a").ripple();
$(".ripple div").ripple();
$("#carousel-example3").carouselAnimate();
$("#left-menu .sub-left-menu").niceScroll();
$(".sub-mimin-mobile-menu-list").niceScroll({
touchbehavior:true,
cursorcolor:"#FF00FF",
cursoropacitymax:0.6,
cursorwidth:24,
usetransition:true,
hwacceleration:true,
autohidemode:"hidden"
});
$(".fileupload-v1-btn").on("click",function(){
var wrapper = $(this).parent("span").parent("div");
var path = wrapper.find($(".fileupload-v1-path"));
$(".fileupload-v1-file").click();
$(".fileupload-v1-file").on("change",function(){
path.attr("placeholder",$(this).val());
console.log(wrapper);
console.log(path);
});
});
var datetime = null,
date = null;
var update = function () {
date = moment(new Date())
datetime.html(date.format('HH:mm'));
datetime2.html(date.format('dddd, MMMM Do YYYY'));
};
$(document).ready(function(){
datetime = $('.time h1');
datetime2 = $('.time p');
update();
setInterval(update, 1000);
});
$("body").tooltip({ selector: '[data-toggle=tooltip]' });
leftMenu();
rightMenu();
treeMenu();
hide();
})(jQuery);

File diff suppressed because it is too large Load Diff

@ -0,0 +1,85 @@
html{
width:100%;
height:100%;
}
body{
margin:0px;
padding:0px;
width:100%;
height:100%;
font-family:·ÂËÎ;
}
#left {
background:#313541;
width:20%;
height:100%;
float: left;
position:absolute;
top: 0px;
bottom: 0px;
}
#right{
width:80%;
height:100%;
float:right;
}
#right_top {
width:100%;
height:15%;
float: right;
border-bottom: 1px solid #b0cdff;
}
#right_bottom {
float: right;
width: 100%;
height:83%;
text-align:center;
margin:0;
}
.leftTiyle {
font-size: 25px;
padding-left: 30px;
color:grey;
float: left;
}
.thisUser {
float: right;
margin-right:30px;
font-size: 20px;
line-height: 100px;
color:#008080;
font-family:·ÂËÎ;
}
.logout {
float:right;
padding-left:30px;
font-size:20px;
}
.logout a{
text-decoration:none;
color:grey;
}
.logout a:hover{
color:blue;
}
.bigTitle {
background:#3d598a;
color: #fff;
height: 15%;
line-height: 100px;
text-align: center;
font-size: 24px;
}

@ -0,0 +1,115 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="verify_login.jsp" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="/air_ticket_book/admin/asset/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="/air_ticket_book/admin/asset/css/plugins/font-awesome.min.css"/>
<link rel="stylesheet" type="text/css" href="/air_ticket_book/admin/asset/css/plugins/animate.min.css"/>
<link rel="stylesheet" type="text/css" href="/air_ticket_book/admin/asset/css/style.css" >
</head>
<body >
<form method="post" action="../add_flight">
<div class="panel">
<div class="panel-body">
<div class="col-md-12">
<h3 class="animated fadeInLeft">添加航班</h3>
<p class="animated fadeInDown">航班管理<span class="fa-angle-right fa"></span>添加航班</p>
</div>
</div>
</div>
<div class="form-element">
<div class="col-md-12 padding-0">
<div class="col-md-12">
<div class="panel form-element-padding">
<div class="panel-heading">
<h4>基本表单</h4>
</div>
<div class="panel-body" style="padding-bottom:30px;">
<div class="col-md-12">
<div class="form-group">
<label class="col-sm-1 control-label text-right" style="width:100px;">航班号</label>
<div class="col-sm-11" style="width:200px;">
<input name="flight_id" type="text" class="form-control" placeholder="例CA4312">
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label text-right" style="width:100px;">起点</label>
<div class="col-sm-3" style="width:200px;">
<input name="start_place" type="text" class="form-control" placeholder="例:深圳">
</div>
<label class="col-sm-1 control-label text-right" style="width:100px;">终点</label>
<div class="col-sm-3" style="width:200px;">
<input name="end_place" type="text" placeholder="例:成都" class="form-control">
</div>
<label class="col-sm-1 control-label text-right" style="width:100px;">始发机场</label>
<div class="col-sm-3" style="width:200px;">
<input name="start_airport" type="text" placeholder="例:宝安机场" class="form-control">
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label text-right" style="width:100px;">到达机场</label>
<div class="col-sm-3" style="width:200px;">
<input name="end_airport" type="text" placeholder="例:双流机场" class="form-control">
</div>
<label class="col-sm-1 control-label text-right" style="width:100px;">起飞时间</label>
<div class="col-sm-3" style="width:200px;">
<input name="take_off_time" type="text" placeholder="例19:20:00" class="form-control">
</div>
<label class="col-sm-1 control-label text-right" style="width:100px;">到达时间</label>
<div class="col-sm-3" style="width:200px;">
<input name="landing_time" type="text" placeholder="例22:15:00" class="form-control">
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label text-right" style="width:100px;">机票价格</label>
<div class="col-sm-3" style="width:200px;">
<input name="first_class_price" type="text" placeholder="例600" class="form-control">
</div>
</div>
</div>
</div>
</div>
<div class="col-md-12 text-center" style="margin:20px;">
<input class="submit btn btn-danger" type="submit" value="提交">
</div>
</div>
</div>
</div>
</form>
</body>
</html>

@ -0,0 +1,105 @@
<%@page import="java.sql.ResultSet"%>
<%@page import="javabean.db_conn"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="verify_login.jsp"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="asset/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="asset/css/plugins/font-awesome.min.css"/>
<link rel="stylesheet" type="text/css" href="asset/css/plugins/animate.min.css"/>
<link href="asset/css/style.css" rel="stylesheet">
</head>
<body>
<div class="panel">
<div class="panel-body">
<div class="col-md-12">
<h3 class="animated fadeInLeft">航班列表</h3>
<p class="animated fadeInDown">航班管理<span class="fa-angle-right fa"></span>航班列表</p>
</div>
</div>
</div>
<div class="col-md-12 padding-0 form-element">
<div class="panel">
<div class="panel-heading">
<h3>列表内容</h3>
</div>
<div class="panel-body">
<div class="responsive-table">
<div id="datatables-example_wrapper" class="dataTables_wrapper form-inline dt-bootstrap no-footer">
<div class="row">
<div class="col-sm-12">
<table class="table table-striped table-bordered dataTable no-footer" width="100%" cellspacing="0" style="width: 100%;">
<thead>
<tr role="row">
<th class="sorting_asc"style="width:8%;">航班号</th>
<th class="sorting" style="width:8%;">起始地</th>
<th class="sorting" style="width:8%;">目的地</th>
<th class="sorting" style="width:13%;">起始机场</th>
<th class="sorting" style="width:13%;">到达机场</th>
<th class="sorting" style="width:10%;">起飞时间</th>
<th class="sorting" style="width:10%;">到达时间</th>
<th class="sorting" style="width:10%;">机票价格</th>
<th class="sorting" style="width:5%;">操作</th>
</tr>
</thead>
<tbody>
<%
db_conn conn=new db_conn();
String sql="select * from flight";
ResultSet res=conn.executeQuery(sql);
while(res.next()){
String f_i=res.getString(1);
String s_p=res.getString(2);
String a_p=res.getString(3);
String s_a=res.getString(4);
String a_a=res.getString(5);
String s_t=res.getString(6);
String a_t=res.getString(7);
String f_p=res.getString(8);
String row=null;
if(res.getRow()%2==0){
row="even";
}else{
row="odd";
}
%>
<tr role="row" class="<%=row%>">
<td class="sorting_1"><%=f_i %></td>
<td><%=s_p %></td>
<td><%=a_p %></td>
<td><%=s_a %></td>
<td><%=a_a %></td>
<td><%=s_t %></td>
<td><%=a_t %></td>
<td><%=f_p %></td>
<td><a style="text-decoration:none;" >删除</a></td>
</tr>
<%
}
%>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

@ -0,0 +1,84 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="verify_login.jsp"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<%--包含导航栏所用的css-start--%>
<link rel="stylesheet" type="text/css" href="/air_ticket_book/admin/asset/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="/air_ticket_book/admin/asset/css/plugins/font-awesome.min.css"/>
<link rel="stylesheet" type="text/css" href="/air_ticket_book/admin/asset/css/style.css" >
<link rel="stylesheet" href="/air_ticket_book/admin/css/page.css" />
<script type="text/javascript" src="/air_ticket_book/admin/js/jquery.min.js" ></script>
<title>后台管理</title>
</head>
<body>
<div id="left">
<div class="bigTitle">机票预订后台管理系统</div>
<div id="left-menu">
<div class="sub-left-menu scroll" style="width: 20%;">
<ul class="nav nav-list">
<li class="active ripple"><a class="tree-toggle nav-header"><span
class="fa-home fa"></span>航班信息管理<span
class="fa-angle-right fa right-arrow text-right"></span> </a>
<ul class="nav nav-list tree">
<li><a target="frame" href="/air_ticket_book/admin/flight_add.jsp">添加航班信息</a></li>
<li><a target="frame" href="/air_ticket_book/admin/flight_list.jsp">航班信息列表</a></li>
</ul>
</li>
<li class="active ripple"><a class="tree-toggle nav-header"><span
class="fa-home fa"></span>机票信息管理<span
class="fa-angle-right fa right-arrow text-right"></span> </a>
<ul class="nav nav-list tree">
<li><a target="frame" href="/air_ticket_book/admin/ticket_add.jsp">添加机票信息</a></li>
<li><a target="frame" href="/air_ticket_book/admin/ticket_information.jsp">查看现有机票信息</a></li>
</ul>
</li>
<li class="ripple"><a class="tree-toggle nav-header"> <span
class="fa-diamond fa"></span>订单信息管理<span
class="fa-angle-right fa right-arrow text-right"></span>
</a>
<ul class="nav nav-list tree">
<li><a target="frame" href="/air_ticket_book/admin/order_list.jsp">订单信息列表</a></li>
</ul>
</li>
<li class=" ripple"><a class="tree-toggle nav-header"><span
class="fa fa-check-square-o"></span>用户信息管理<span
class="fa-angle-right fa right-arrow text-right"></span> </a>
<ul class="nav nav-list tree">
<li><a target="frame" href="/air_ticket_book/admin/user_list.jsp">用户信息列表</a></li>
</ul>
</li>
</ul>
</div>
</div>
</div>
<div id="right">
<div id="right_top">
<div class="leftTiyle" id="flTitle"></div>
<div class="thisUser">
当前用户:<%=session.getAttribute("admin_id") %>
<div class="logout"><a href="/air_ticket_book/admin/logout.jsp">退出</a></div>
</div>
</div>
<div id="right_bottom">
<iframe name="frame" scrolling="auto" width="100%" height="100%" frameborder="0" src="/air_ticket_book/admin/welcome.jsp"></iframe>
</div>
</div>
<%--包含导航栏所用的js-start--%>
<script src="/air_ticket_book/admin/asset/js/jquery.min.js"></script>
<script src="/air_ticket_book/admin/asset/js/bootstrap.min.js"></script>
<script src="/air_ticket_book/admin/asset/js/plugins/jquery.nicescroll.js"></script>
<script src="/air_ticket_book/admin/asset/js/main.js"></script>
<%--包含导航栏所用的js-end--%>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 171 KiB

@ -0,0 +1,73 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>机票预订后台管理系统</title>
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/common.css" rel="stylesheet">
<link href="css/corptravel.css" rel="stylesheet">
<link href="css/enterprise.css" rel="stylesheet">
<link href="css/iconfont.css" rel="stylesheet">
<script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>
<script src="js/bootstrap.min.js"></script>
</head>
<style>
.center {
text-align: center;
}
.p2 {
font-size: 20px;
font-family: 微软雅黑 Light;
}
body {
background: url(images/background.jpg) no-repeat center 0px;
background-position: center 0;
background-size: cover;
}
</style>
<script>
function isValid() {
if (nameform.id.value == "") {
window.alert("您必须完成帐号的输入!");
nameform.id.focus();
return false;
}
if (nameform.password.value == "") {
window.alert("您必须完成密码的输入!");
nameform.password.focus();
return false;
}
}
</script>
<body>
<p class="p2"><b>机票预订后台管理系统</b><br/></p>
<div class="center">
<div class="index-wall white " style="">
<div style="margin-top:150px;">
<form action="../login" method=post name="nameform"
onSubmit="return isValid(this);">
<p class="p2">
<b>用户名:</b><input type="text" name="id" value="" size="30"
maxlength="20">
</p>
<p class="p2">
<b>密&nbsp;&nbsp;码:</b><input type="password" name="password" value=""
size="30" maxlength="20"><br />
<br />
</p>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input name=b1 type="submit" value="登录" style='font-size:20px'/>&nbsp;&nbsp;&nbsp;
</form>
</div>
</div>
</div>
</body>
</html>

@ -0,0 +1,5 @@
function pageClick(k) {
$(k).parent().find("div").removeClass("active");
$(k).addClass("active");
$("#flTitle").text($(k).text());
}

File diff suppressed because one or more lines are too long

@ -0,0 +1,23 @@
var nav = document.getElementById("nav");
var oDiv = document.getElementById("oDiv");
nav.onclick = function(){
oDiv.style.display = (oDiv.style.display == "block") ? "none": "block";
}
/*
function(e) {
var src = e ? e.target : event.srcElement;
if (src.tagName == "H3") {
var next = src.nextElementSibling || src.nextSibling;
next.style.display = (next.style.display == "block") ? "none": "block";
}
//$("oDiv").style.display = ($("oDiv").style.display == "block") ? "none": "block";
*/

@ -0,0 +1,13 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<%
session.setAttribute("admin_id", null);
response.sendRedirect("/air_ticket_book/admin/index.jsp");
%>
</body>
</html>

@ -0,0 +1,94 @@
<%@page import="java.sql.ResultSet"%>
<%@page import="javabean.db_conn"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="verify_login.jsp" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="asset/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="asset/css/plugins/font-awesome.min.css"/>
<link rel="stylesheet" type="text/css" href="asset/css/plugins/animate.min.css"/>
<link href="asset/css/style.css" rel="stylesheet">
</head>
<body>
<div class="panel">
<div class="panel-body">
<div class="col-md-12">
<h3 class="animated fadeInLeft">订单列表</h3>
<p class="animated fadeInDown">订单管理<span class="fa-angle-right fa"></span>订单列表</p>
</div>
</div>
</div>
<div class="col-md-12 padding-0 form-element">
<div class="panel">
<div class="panel-heading">
<h3>列表内容</h3>
</div>
<div class="panel-body">
<div class="responsive-table">
<div id="datatables-example_wrapper" class="dataTables_wrapper form-inline dt-bootstrap no-footer">
<div class="row">
<div class="col-sm-12">
<table class="table table-striped table-bordered dataTable no-footer" width="100%" cellspacing="0" style="width: 100%;">
<thead>
<tr role="row">
<th class="sorting_asc"style="width:15%;">订单号</th>
<th class="sorting" style="width:10%;">航班号</th>
<th class="sorting" style="width:10%;">乘机人</th>
<th class="sorting" style="width:15%;">乘机日期</th>
<th class="sorting" style="width:10%;">机票价格</th>
<th class="sorting" style="width:15%;">证件号码</th>
<th class="sorting" style="width:10%;">起飞机场</th>
<th class="sorting" style="width:10%;">终点机场</th>
<th class="sorting" style="width:5%;">操作</th>
</tr>
</thead>
<tbody>
<%
db_conn conn=new db_conn();
String sql="select * from ticket_view";
ResultSet res=conn.executeQuery(sql);
String row=null;
while(res.next()){
if(res.getRow()%2==0){
row="even";
}else{
row="odd";
}
%>
<tr role="row" class="<%=row %>">
<td class="sorting_1"><%=res.getString(1) %></td>
<td><%=res.getString(2) %></td>
<td><%=res.getString(14) %></td>
<td><%=res.getString(3) %></td>
<td><%=res.getString(13) %></td>
<td><%=res.getString(4) %></td>
<td><%=res.getString(9) %></td>
<td><%=res.getString(10) %></td>
<td><a style="text-decoration:none;" >删除</a></td>
</tr>
</tr>
<%
}
%>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

@ -0,0 +1,85 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="verify_login.jsp" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="/air_ticket_book/admin/asset/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="/air_ticket_book/admin/asset/css/plugins/font-awesome.min.css"/>
<link rel="stylesheet" type="text/css" href="/air_ticket_book/admin/asset/css/plugins/animate.min.css"/>
<link rel="stylesheet" type="text/css" href="/air_ticket_book/admin/asset/css/style.css" >
</head>
<body >
<form method="post" action="/air_ticket_book/addticket">
<div class="panel">
<div class="panel-body">
<div class="col-md-12">
<h3 class="animated fadeInLeft">添加机票</h3>
<p class="animated fadeInDown">航班管理<span class="fa-angle-right fa"></span>添加机票</p>
</div>
</div>
</div>
<div class="form-element">
<div class="col-md-12 padding-0">
<div class="col-md-12">
<div class="panel form-element-padding">
<div class="panel-heading">
<h4>基本表单</h4>
</div>
<div class="panel-body" style="padding-bottom:30px;">
<div class="col-md-12">
<div class="form-group">
<label class="col-sm-1 control-label text-right" style="width:100px;">机票订单号</label>
<div class="col-sm-11" style="width:800px;">
<input name="ticket_id" type="text" class="form-control" placeholder="例10001323999">
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label text-right" style="width:100px;">航班号</label>
<div class="col-sm-3" style="width:200px;">
<input name="flight_id" type="text" class="form-control" placeholder="例GJ8821">
</div>
<label class="col-sm-1 control-label text-right" style="width:100px;">日期</label>
<div class="col-sm-3" style="width:200px;">
<input name="date" type="text" placeholder="例2019-12-02" class="form-control">
</div>
<label class="col-sm-1 control-label text-right" style="width:100px;">座位号</label>
<div class="col-sm-3" style="width:200px;">
<input name="seat_id" type="text" placeholder="例A23" class="form-control">
</div>
</div>
</div>
</div>
</div>
<div class="col-md-12 text-center" style="margin:20px;">
<input class="submit btn btn-danger" type="submit" value="提交">
</div>
</div>
</div>
</div>
</form>
</body>
</html>

@ -0,0 +1,105 @@
<%@page import="java.sql.ResultSet"%>
<%@page import="javabean.db_conn"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="verify_login.jsp"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="asset/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="asset/css/plugins/font-awesome.min.css"/>
<link rel="stylesheet" type="text/css" href="asset/css/plugins/animate.min.css"/>
<link href="asset/css/style.css" rel="stylesheet">
</head>
<body>
<div class="panel">
<div class="panel-body">
<div class="col-md-12">
<h3 class="animated fadeInLeft">查看现有机票信息</h3>
<p class="animated fadeInDown">机票管理<span class="fa-angle-right fa"></span>查看现有机票信息</p>
</div>
</div>
</div>
<div class="col-md-12 padding-0 form-element">
<div class="panel">
<div class="panel-heading">
<h3>列表内容</h3>
</div>
<div class="panel-body">
<div class="responsive-table">
<div id="datatables-example_wrapper" class="dataTables_wrapper form-inline dt-bootstrap no-footer">
<div class="row">
<div class="col-sm-12">
<table class="table table-striped table-bordered dataTable no-footer" width="100%" cellspacing="0" style="width: 100%;">
<thead>
<tr role="row">
<th class="sorting_asc"style="width:10%;">机票订单号</th>
<th class="sorting" style="width:8%;">航班号</th>
<th class="sorting" style="width:10%;">日期</th>
<th class="sorting" style="width:5%;">座位号</th>
<th class="sorting" style="width:8%;">余票数目</th>
<th class="sorting" style="width:15%;">乘车人身份证号</th>
<th class="sorting" style="width:15%;">购买人身份证号</th>
<th class="sorting" style="width:10%;">是否付款1付款0未付款</th>
<th class="sorting" style="width:5%;">操作</th>
</tr>
</thead>
<tbody>
<%
db_conn conn=new db_conn();
String sql="select * from ticket";
ResultSet res=conn.executeQuery(sql);
while(res.next()){
String f_i=res.getString(1);
String s_p=res.getString(2);
String a_p=res.getString(3);
String s_a=res.getString(4);
String a_a=res.getString(5);
String s_t=res.getString(6);
String a_t=res.getString(7);
String f_p=res.getString(8);
String row=null;
if(res.getRow()%2==0){
row="even";
}else{
row="odd";
}
%>
<tr role="row" class="<%=row%>">
<td class="sorting_1"><%=f_i %></td>
<td><%=s_p %></td>
<td><%=a_p %></td>
<td><%=s_a %></td>
<td><%=a_a %></td>
<td><%=s_t %></td>
<td><%=a_t %></td>
<td><%=f_p %></td>
<td><a style="text-decoration:none;" >删除</a></td>
</tr>
<%
}
%>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

@ -0,0 +1,94 @@
<%@page import="java.sql.ResultSet"%>
<%@ page import="javabean.db_conn" %>
<%@ include file="verify_login.jsp" %>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="asset/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="asset/css/plugins/font-awesome.min.css"/>
<link rel="stylesheet" type="text/css" href="asset/css/plugins/animate.min.css"/>
<link href="asset/css/style.css" rel="stylesheet">
</head>
<body>
<div class="panel">
<div class="panel-body">
<div class="col-md-12">
<h3 class="animated fadeInLeft">用户列表</h3>
<p class="animated fadeInDown">用户管理<span class="fa-angle-right fa"></span>用户列表</p>
</div>
</div>
</div>
<div class="col-md-12 padding-0 form-element">
<div class="panel">
<div class="panel-heading">
<h3>列表内容</h3>
</div>
<div class="panel-body">
<div class="responsive-table">
<div id="datatables-example_wrapper" class="dataTables_wrapper form-inline dt-bootstrap no-footer">
<div class="row">
<div class="col-sm-12">
<table class="table table-striped table-bordered dataTable no-footer" width="100%" cellspacing="0" style="width: 100%;">
<thead>
<tr role="row">
<th class="sorting_asc"style="width: 20%;">用户名</th>
<th class="sorting" style="width: 30%;">用户密码</th>
<th class="sorting" style="width:10%;">操作</th>
</tr>
</thead>
<tbody>
<%
db_conn conn= new db_conn();
String sql="select * from p_inf";
ResultSet res=conn.executeQuery(sql);
while(res.next()){
String p_tel=res.getString(3);
String p_pwd=res.getString(6);
String row=null;
if(res.getRow()%2==0){
row="even";
}else{
row="odd";
}
%>
<tr role="row" class="even">
<td class="sorting_1"><%=p_tel%></td>
<td><%=p_pwd %></td>
<td>
<a style="text-decoration:none;" href="/air_ticket_book/del_message?id=<%=p_tel%>&class=user">
删除
</a>
</td>
</tr>
<%
}
%>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

@ -0,0 +1,12 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
try{
if(session.getAttribute("admin_id")==null){
response.sendRedirect("/air_ticket_book/frame");
}
}catch(Exception e){
System.out.println("验证登陆时出现异常"+e);
response.sendRedirect("/air_ticket_book/frame");
}
%>

@ -0,0 +1,23 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="verify_login.jsp"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<style>
html,body{
margin:0;
padding:0;
}
#p{
width:600px;
margin:200px auto;
font-size:30px;
font-family:仿宋;
}
</style>
</head>
<body>
<div id="p"><p><i></i></p></div>
</body>
</html>

@ -0,0 +1,46 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<style type="text/css">
*{margin:0;padding:0;list-style-type:none;}
a,img{border:0;}
body{font:12px/180% Arial, Helvetica, sans-serif, "新宋体";}
.demo{width:480px;margin:40px auto 0 auto;}
.demo div{height:40px;float:left;width:240px;}
</style>
<div class="demo">
<div>
出发地:
<input type="text" value="" size="15" id="homecity_name" name="homecity_name" mod="address|notice" mod_address_source="hotel" mod_address_suggest="@Beijing|北京|53@Shanghai|上海|321@Shenzhen|深圳|91@Guangzhou|广州|80@Qingdao|青岛|292@Chengdu|成都|324@Hangzhou|杭州|383@Wuhan|武汉|192@Tianjin|天津|343@Dalian|大连|248@Xiamen|厦门|61@Chongqing|重庆|394@" mod_address_reference="cityid" mod_notice_tip="中文/拼音" />
<input id="cityid" name="cityid" type="hidden" value="{$cityid}" />
</div>
<div>
目的地:
<input type="text" value="" size="15" id="getcity_name" name="getcity_name" mod="address|notice" mod_address_source="hotel" mod_address_suggest="@Beijing|北京|53@Shanghai|上海|321@Shenzhen|深圳|91@Guangzhou|广州|80@Qingdao|青岛|292@Chengdu|成都|324@Hangzhou|杭州|383@Wuhan|武汉|192@Tianjin|天津|343@Dalian|大连|248@Xiamen|厦门|61@Chongqing|重庆|394@" mod_address_reference="getcityid" mod_notice_tip="中文/拼音" />
<input id="getcityid" name="getcityid" type="hidden" value="{$getcityid}" />
</div>
</div>
<div id="jsContainer" class="jsContainer" style="height:0">
<div id="tuna_alert" style="display:none;position:absolute;z-index:999;overflow:hidden;"></div>
<div id="tuna_jmpinfo" style="visibility:hidden;position:absolute;z-index:120;"></div>
</div>
<script type="text/javascript" src="js/fixdiv.js"></script>
<script type="text/javascript" src="js/address.js"></script>
<div align="center" style="clear:both;font-size:12px;color:#666;">
</div>
</body>
</html>

File diff suppressed because one or more lines are too long

@ -0,0 +1,202 @@
@charset "utf-8";
/*颜色*/
.gray{ color:#CCC}
.gray-999{ color:#999}
.gray-666 { color:#656667;}
.black{ color:#000;}
.white{ color:#FFF}
.green{ color:#6DD900}
.green-middle{ color:#42AC24;}
.orange{ color:#F90}
.orange-ea{ color:#ea8010}
.orange-f60{ color:#ff6600;}
.red{ color:#F30}
.red-930{ color:#930}
.yellow{ color:#FFD24C}
.blue{ color:#39F}
.blue-0093dd{ color:#0093dd;}
/*背景颜色*/
.bg-green{ background-color:#6DD900}
.bg-yellow{ background-color:#FFD24C}
.bg-yellow-fcf { background-color: #fcf8e3; }
.bg-red{ background-color:#F30}
.bg-red-930{ background-color:#930}
.bg-black{ background-color:#333}
.bg-white{ background-color:#fff}
.bg-gray{ background-color:#CCC}
.bg-gray-eee { background-color:#eee;}
.bg-gray-f5{ background: #F5F5F5; } /*最浅的灰色背景,常用*/
.bg-blue-f9fbff{ background-color:#f9fbff;}
/*字体大小*/
.font10 { font-size: 10px; }
.font11 { font-size: 11px; }
.font12 { font-size: 12px; }
.font13 { font-size: 13px; }
.font14 { font-size: 14px; }
.font16 { font-size: 16px; }
.font18 { font-size: 18px; }
.font20{ font-size:20px}
.font24{ font-size:24px}
.font30 { font-size: 30px; }
.font36{ font-size:36px}
.font48{ font-size:48px}
.font60{ font-size:60px}
/*文本行高设置*/
.lh1 { line-height: 1px; }
.lh10 { line-height: 10px; }
.lh15 { line-height: 15px; }
.lh18 { line-height: 18px; }
.lh20 { line-height: 20px; }
.lh25 { line-height: 25px; }
.lh30 { line-height: 30px; }
.lh35 { line-height: 35px; }
.lh40 { line-height: 40px; }
/*宽度*/
.w50{ width:50px;}
.w60{ width:60px;}
.w70{ width:70px;}
.w80{ width:80px;}
.w90{ width:90px;}
.w100{ width:100px;}
.w110{ width:110px;}
.w120{ width:120px;}
.w150{ width:150px;}
.w200{ width:200px;}
.w300{ width:300px;}
.w400{ width:400px;}
.w500{ width:500px;}
.w600{ width:600px;}
.w700{ width:700px;}
.w800{ width:800px;}
.w-percentage-10 { width:10%;}
.w-percentage-13 { width:13%;}
.w-percentage-15 { width:15%;}
.w-percentage-18 { width:18%;}
.w-percentage-20 { width:20%;}
.w-percentage-25 { width:25%;}
.w-percentage-30 { width:30%;}
.w-percentage-35 { width:35%;}
.w-percentage-40 { width:40%;}
.w-percentage-100 { width:100%;}
/* 高度 */
.h1 { height: 1px; }
.h5 { height: 5px; }
.h8 { height: 8px; }
.h10 { height: 10px; }
.h15 { height: 15px; }
.h20 { height: 20px; }
.h25 { height: 25px; }
.h30 { height: 30px; }
.h35 { height: 35px; }
.h40 { height: 40px; }
.h45 { height: 45px; }
.h50 { height: 50px; }
.h55 { height: 55px; }
.h60 { height: 60px; }
.h70 { height: 70px; }
.h80 { height: 80px; }
.h90 { height: 90px; }
.h100 { height: 100px; }
/*内边距*/
.pad-10 { padding:10px;}
.pad-15 { padding:15px;}
.pad-20 { padding:20px;}
.pad-top-10{ padding-top:10px;}
.pad-top-20{ padding-top:20px;}
.pad-top-30{ padding-top:30px;}
.pad-bottom-10{ padding-bottom:10px;}
.pad-bottom-20{ padding-bottom:20px;}
.pad-bottom-30{ padding-bottom:30px;}
.pad-bottom-40{ padding-bottom:40px;}
.pad-bottom-50{ padding-bottom:50px;}
.pad-bottom-60{ padding-bottom:60px;}
.pad-left-5{ padding-left:5px;}
.pad-left-10{ padding-left:10px;}
.pad-left-20{ padding-left:20px;}
.pad-left-30{ padding-left:30px;}
.pad-left-40{ padding-left:40px;}
.pad-left-50{ padding-left:50px;}
.pad-left-100{ padding-left:100px;}
.pad-right-10{ padding-right:10px;}
.pad-right-20{ padding-right:20px;}
.pad-right-30{ padding-right:30px;}
.pad-right-40{ padding-right:40px;}
.pad-right-50{ padding-right:50px;}
/*外边距*/
.mar-10 { margin:10px; }
.mar-15 { margin:15px; }
.mar-20 { margin:20px; }
.mar-25 { margin:25px; }
.mar-30 { margin:30px; }
.mar-40 { margin:40px; }
.mar-50 { margin:50px; }
.mar-top-5{ margin-top:5px;}
.mar-top-10{ margin-top:10px;}
.mar-top-15 { margin-top:15px;}
.mar-top-20 { margin-top:20px;}
.mar-top-30 { margin-top:30px;}
.mar-top-40 { margin-top:40px;}
.mar-top-50 { margin-top:50px;}
.mar-top-60 { margin-top:60px;}
.mar-top-70 { margin-top:70px;}
.mar-top-80 { margin-top:80px;}
.mar-top-90 { margin-top:90px;}
.mar-top-100 { margin-top:100px;}
.mar-top-125 { margin-top:125px;}
.mar-top-140 { margin-top:140px;}
.mar-right-5{ margin-right:5px;}
.mar-right-10{ margin-right:10px;}
.mar-right-20{ margin-right:20px;}
.mar-right-30{ margin-right:30px;}
.mar-left-5{ margin-left:5px;}
.mar-left-10{ margin-left:10px;}
.mar-left-20{ margin-left:20px;}
.mar-left-30{ margin-left:30px;}
.mar-left-40{ margin-left:30px;}
.mar-left-50{ margin-left:50px;}
.mar-left-100{ margin-left:100px;}
.mar-left-150{ margin-left:150px;}
.mar-left-200{ margin-left:200px;}
.mar-bottom-10{ margin-bottom:10px;}
.mar-bottom-15{ margin-bottom:15px;}
.mar-bottom-20{ margin-bottom:20px;}
.mar-bottom-30{ margin-bottom:30px;}
.mar-bottom-40{ margin-bottom:40px;}
.mar-bottom-50{ margin-bottom:50px;}
.mar-bottom-60{ margin-bottom:60px;}
/*边框*/
.bor-solid-1 { border:1px solid #EBEBEB;}
.bor-solid-3 { border:3px solid #EBEBEB;}
.bor-solid-5 { border:5px solid #EBEBEB;}
.bor-solid-blue-2 { border:2px solid #0093dd;}
.bor-right-dashed-1{ border-right:1px dashed #EBEBEB; }
.bor-bottom-dashed-1{ border-bottom:1px dashed #EBEBEB;}
.bor-top-solid-1{ border-top:1px solid #EBEBEB;}
.bor-bottom-solid-1{ border-bottom:1px solid #EBEBEB;}
.bor-right-solid-1{ border-right:1px solid #EBEBEB;}
.bor-bottom-solid-d8-1{ border-bottom:1px solid #D8D8D8;}
/*对齐*/
.v-align-middle{ vertical-align:middle;}
.v-align-bottom{ vertical-align:bottom;}
.v-align-top{ vertical-align:top;}
/*不换行超出省略*/
.Nobreak{word-break:keep-all;word-wrap:normal; white-space:nowrap;}
/*文字添加删除线*/
.text-del { text-decoration:line-through;}
/* 阴影 */
.box-shadow{ -webkit-box-shadow:0 0 10px rgba(0, 0, 0, .3); -moz-box-shadow:0 0 10px rgba(0, 0, 0, .3); box-shadow:0 0 10px rgba(0, 0, 0, .3);
}

@ -0,0 +1,225 @@
@charset "utf-8";
/* CSS Document */
/*
* @description:
* @author: SXL
*/
body { background-color:#F9F9F9; font-family: "Microsoft YaHei", Arial, Helvetica, sans-serif; color: #000; line-height: 22px; font-size: 14px; }
body {font-family: "Microsoft YaHei","iconfont" !important;}
.checkbox { vertical-align:middle; }
ul, ol, li { list-style: none outside none; margin:0; padding:0; }
/* 登录页样式 */
.banner-login { margin:0 0 15px; height:360px; position:relative; }
.login-box { width:360px; height:360px; padding:8px 20px; color:#FFF; position:absolute; top:0; left:10px; background: rgba(0, 0, 0, 0.5); z-index:999; }
.login-box a { color:#FFF; text-decoration:none; }
.login-box a:hover { color: #0CF; text-decoration: underline; }
/*.login-box input { vertical-align:sub; }*/
.input-account { width:100%; height:40px; line-height:40px; padding-left:45px; margin-bottom:20px; font-size: 14px; line-height: 1.42857143; color: #555; border: none; background: #fff url(../img/login-ico1.png) no-repeat 0px 0px; }
.input-password { width:100%; height:40px; line-height:40px; padding-left:45px; margin-bottom:20px; font-size: 14px; line-height: 1.42857143; color: #555; border: none; background: #fff url(../img/login-ico2.png) no-repeat 0px 0px; }
.input-code { width:185px; height:40px; line-height:40px; padding-left:45px; margin-bottom:5px; font-size: 14px; line-height: 1.42857143; color: #555; border: none; background: #fff url(../img/login-ico3.png) no-repeat 0px 0px; }
/* 轮播图样式 */
#full-screen-slider { width:100%; height:360px; float:left; position:relative; }
#slides { display:block; width:100%; height:360px; list-style:none; padding:0; margin:0; position:relative }
#slides li { display:block; width:100%; height:100%; list-style:none; padding:0; margin:0; position:absolute; }
#slides li a { display:block; width:100%; height:100%; text-indent:-9999px }
#pagination { display:block; list-style:none; position:absolute; left:50%; top:340px; z-index:9900; padding:5px 15px 5px 0; margin:0 }
#pagination li { display:block; list-style:none; width:10px; height:10px; float:left; margin-left:15px; border-radius:5px; background:#FFF }
#pagination li a { display:block; width:100%; height:100%; padding:0; margin:0; text-indent:-9999px; }
#pagination li.current { background:#0092CE; }
/* 登录页介绍图标 */
/*.ico-1 { width:140px; height:140px; line-height:140px; text-align:center; border-radius: 100px; font-size:75px; color:#FFF; margin:0 auto;}*/
.ico-1 { width:110px; height:110px; line-height:110px; text-align:center; border-radius: 100px; font-size:60px; color:#FFF; margin:0 auto; }
.bg-cc99cc { background-color:#CC99CC; }
.bg-9999CC { background-color:#9999CC; }
.bg-669999 { background-color:#669999; }
.bg-cc9999 { background-color:#CC9999; }
.bg-cc9966 { background-color:#CC9966; }
.bg-cccc99 { background-color:#CCCC99; }
/* 登录页底部 */
.footer { background-color:#232728; padding-top:20px; padding-bottom:20px; color:#ACADB0; }
.footer a { color:#ACADB0; text-decoration:none; }
.footer a:hover { color: #0CF; text-decoration: underline; }
.footer ul { margin:0; padding: 0; list-style-type: none; }
.orange-fcab53 { color:#FCAB53; }
.gray-bbb { color:#BBB; }
.gray-696969 { color:#696969; }
/* 登录页底部简化版 */
.footer-2 { background-color:#232728; padding-top:15px; padding-bottom:15px; color:#ACADB0; }
.footer-2 a { color:#ACADB0; text-decoration:none; }
.footer-2 a:hover { color: #0CF; text-decoration: underline; }
.footer-2 ul { margin:0; padding: 0; list-style-type: none; }
/* 导航 */
.nav-menu-2 { float:right; }
.nav-menu-2 ul { padding:0; margin:0; }
.nav-menu-2 ul li { float:left; }
.nav-menu-2 a { display: block; float:left; width:90px; padding-top: 5px; padding-bottom: 5px; font: 14px/34px "microsoft yahei"; text-align: center; color:#737383; text-decoration:none; }
.nav-menu-2 a:hover { color:#0093dd; }
.nav-menu-2 a.active { color:#0093dd; }
.nav-menu-2 a i { display: block; width: 32px; height: 32px; margin: 0 auto; }
/* 差旅管理 */
.nav-menu { width:135px; float:left; position:absolute; top:0; left:0; }
.nav-menu ul { padding:0; margin:0; }
/*.nav-menu a { display: block; width: 100%; padding-top: 15px; padding-bottom: 15px; font: 14px/34px "microsoft yahei"; text-align: center; color:#737383; text-decoration:none; }*/
.nav-menu a { display:block; width:135px; padding-top: 5px; padding-bottom: 5px; padding-right:15px; font: 14px/34px "microsoft yahei"; text-align: right; color:#737383; text-decoration:none; }
.nav-menu a:hover { color:#FFF; background-color:#737383; }
.nav-menu a.active { color:#FFF; background-color:#414582; }
/*.nav-menu a i { display: block; width: 32px; height: 32px; margin: 0 auto; }
.rightCon { margin-left: 135px; background-color: #fff; padding:15px; min-height:570px; }*/
.rightCon { background-color: #fff; padding:15px; min-height:570px; }
.rightCon-left { width:245px; float:left; border-right:1px solid #EBEBEB; min-height:485px; }
.rightCon-right { margin-left:260px; }
/*.rightCon-right table th { border-top:none!important;}*/
.chakan { padding:20px; font-size:14px; }
.chakan dt { line-height:35px; width:80px; }
.chakan dd { line-height:35px; margin-left:100px; }
/* 代客下单 */
.daike-zimu ul { margin-left:-7px; }
.daike-zimu li { float:left; margin-right:5px; margin-bottom:5px; }
.daike-zimu li a { display:inline-block; width:35px; }
.daike label { margin-right:10px; width: 158px; overflow:hidden; word-break:keep-all; word-wrap:normal; white-space:nowrap; }
.title-blue { padding: 7px 14px; background-color: #E8F8FF; color: #0080C0; border-left: 3px solid #0080C0; margin: 30px 0 10px; }
/* 总概数字样式 */
.fontTimes { font-family: Times; font-weight: bold; }
/* 账务中心信息列表 */
.zhangwu { line-height:30px; margin-bottom:30px; }
.zhangwu ul li { float:left; margin-right:25px; }
/* 账户管理 */
.bank-block-list .header { color: #0096de; background: #fbfbfb; padding-left: 15px; margin-top: 10px; line-height: 36px; border-left: 2px solid #0096de; }
.line-bottom { border-bottom:#D5D5D5 1px dotted; }
.bank-block-list { padding:10px; padding-top:0px; padding-bottom:0px; overflow:hidden; }
.bank-block-list ul { margin-bottom:20px; margin-top:20px; }
.bank-block-list ul li { float:left; cursor:pointer; width:265px; margin-right:30px; margin-bottom:20px; border:#DBDBDB 1px dotted; padding:6px; line-height:25px; position:relative; }
.bank-block-list ul li .ico-bank-change { width:29px; height:29px; background:url(../img/wallet/ico-bank-change.png) no-repeat; position:absolute; bottom:0; right:0; display:block; }
.bank-block-list ul li .title { font-size:18px; color:#3a87ad; line-height:35px; margin-bottom:5px; border-bottom:#DBDBDB 1px dotted; }
.bank-block-list ul p a { float:left; border:#0096de 1px dotted; height:160px; text-align:center; line-height:160px; font-size:20px; display:block; width:265px; }
.bank-block-list ul p a:hover { background:#21bbf4; color:#fff; }
.bank-block-list .header { color:#0096de; background:#fbfbfb; padding-left:15px; margin-top:10px; line-height:36px; border-left:2px solid #0096de; }
.bank-block-list2 { padding:10px; padding-left:0; padding-top:0px; padding-bottom:0px; overflow:hidden; }
.bank-block-list2 ul { width:105%; }
.bank-block-list2 ul li { float:left; cursor:pointer; width:150px; margin-right:15px; margin-bottom:15px; border:#DBDBDB 1px dotted; padding:8px 12px 10px; text-align:center; line-height:25px; position:relative; }
.bank-block-list2 ul li .ico-bank-change { width:20px; height:20px; background:url(../img/wallet/ico-bank-change2.png) no-repeat left top; position:absolute; bottom:0; right:0; display:block; }
/* 搜索列表 */
.huan { width: 18px; color: #fff; text-align: center; font-size: 12px; line-height: 18px; font-family: simsum; }
.huan:hover { color: #fff; background-color: #F90; text-decoration: none; }
/*.arrow-left { display:block!important; width:40px; height:67px; line-height:67px; background:#ebebeb url(../img/arrow_left.gif) no-repeat 50% 50%; float:left; cursor:pointer; }
.arrow-right { display:block!important; width:40px; height:67px; line-height:67px; background:#ebebeb url(../img/arrow_right.gif) no-repeat 50% 50%; float:right; cursor:pointer; }*/
.arrow-left { display:block!important; width:40px; height:62px; line-height:62px; background:#ebebeb url(../img/arrow_left.gif) no-repeat 50% 50%; float:left; cursor:pointer; }
.arrow-right { display:block!important; width:40px; height:62px; line-height:62px; background:#ebebeb url(../img/arrow_right.gif) no-repeat 50% 50%; float:right; cursor:pointer; }
.rmb { font-style: normal; font-family: arial; }
.time { font-size: 20px; line-height: 20px; font-family: Tahoma, Arial, sans-serif; }
.hangbanlist { padding:10px; background-color:#FFF; border:1px solid #EBEBEB; }
.hangbanlist ul { margin:0; padding:10px; position:relative; }
.hangbanlist ul:hover { background-color:#EBEBEB; cursor:pointer; }
.hangbanlist-body ul { margin:0; padding:0 15px; position:relative; border-bottom: 1px solid #EBEBEB; }
.hangbanlist-body ul:hover { background-color:#EBEBEB; cursor:pointer; }
.hangbanlist-body li { line-height:40px; }
/* 政策选择 */
.table-air-td-lh25 td, th { line-height:25px!important; }
.table-air-td-lh30 td, th { line-height:30px!important; }
.tip-ico { display: inline-block; width: 14px; height: 14px; line-height: 14px; text-align: center; color: #FFF; background-color: #0099E3; font-style: normal; border-radius: 7px; }
.bubbleinfo { position: relative; }
.bubbleinfo a:hover { text-decoration: none }
.trigger { }
/* Bubble pop-up */
.popup { position: absolute; display: none; z-index: 50; border-collapse: collapse; border: 3px #bbdfff solid; /* width: 300px;*/ background-color: #FFF; box-shadow: 0 1px 3px #bbdfff; }
.popup h2 { font-size: 14px; line-height: 30px; border-bottom: 1px #bbdfff solid; background-color: #eef7ff; padding-left: 10px; margin: 0px; text-align: left; }
.popup h2 i { width: 12px; height: 5px; position: absolute; right: 50px; top: -8px; background: url(../img/sprite.png) no-repeat 0px -499px; }
.popup p { padding: 10px; line-height: 20px; margin: 0px; text-align: left; }
.popup p b { font-size: 12px; }
.passenger-info { }
.passenger-info li { padding:15px 0; border-bottom:1px dotted #CCCCCC; height:25px; }
.passenger-info input { line-height:22px; height:22px; border:#CCC 1px solid; vertical-align:top; font-family:"微软雅黑"; padding:2px 3px }
.passenger-info .name { width:290px; float:left; padding-left:10px; }
.passenger-info .credential { width:320px; float:left; }
.passenger-info .insurance { width:340px; float:left; text-align:right }
.passenger-info .insurance-info { float:right; background-color:#FFFFEC; border:#FFDC73 1px solid; padding:10px; margin:10px 0 0 0; }
/* 机票标签 */
.data-price { width: 60px; border: #F60 1px solid; margin: 0px auto; font-family: "微软雅黑"; line-height: 18px; font-size: 12px; }
.data-price dt { background-color: #F60; text-align: center; color: #FFF; font-weight: bold; }
.data-price dd { padding:0; height: 18px; margin:0; text-align: center; color: #F60; background-color: #FFF; }
/* 支付 */
.tishibox { width:600px; padding:10px; margin:30px auto; position:relative; }
.tishibox p { line-height:30px; text-indent:100px; }
.tishibox a { margin-right:15px; }
.tishibox .title { font-size:16px; font-weight:bold; }
.img_fudong { position:absolute; top:13px; left:30px; }
/* 销售规则选择用户 */
.yonghu-box { border:1px solid #EBEBEB; padding:10px; overflow-x:hidden; width:100%; height:415px; margin-top:15px;}
.yonghu-box ul { margin:0; padding:0; }
.yonghu-box li { line-height:25px; cursor:pointer;}
.yonghu-box li:hover { color:#0093dd;}
.yonghu-box .active { color:#F00; text-decoration:none; }
/* 黑屏样式 */
.mrbianma { color: lime; background-color: black; height: 280px; width:99%; margin-top: 2px; font-size: 12px; padding-left: 1%; }
/* 右侧浮动菜单 */
.float-menu-right { position: fixed; top:0; right:0; color:#FFF; background-color:#000; z-index:999999; width:35px; height:100%; visibility:visible; }
.float-menu-right-box { position:absolute; top:50%; right:0; margin-top:-100px; }
.mui-mbar { width:35px; height:35px; display:block; line-height:35px; margin:10px 0; cursor:pointer; position:relative;text-align:center; padding-top:3px; padding-bottom:3px; }
.mui-mbar:hover { color:#FFF; background-color:#1876BB; }
.mui-mbar a { color:#FFF;}
.mui-mbar a:hover { text-decoration:none;}
.mui-mbar-menu-up { position:absolute; bottom:0; right:0;}
.r-company-box { display: none; position: absolute; right: 35px; top: 0; text-align:left; padding:10px; color: #fff; background-color: #494949;-webkit-box-shadow: 0 0 5px rgba(0,0,0,.2); -moz-box-shadow: 0 0 5px rgba(0,0,0,.2); box-shadow: 0 0 5px rgba(0,0,0,.2); }
.r-company-box dt { overflow:hidden; word-break:keep-all;word-wrap:normal; white-space:nowrap;}
.r-company-box dd { overflow:hidden; word-break:keep-all;word-wrap:normal; white-space:nowrap;}
.r-tel-box { display: none; position: absolute; right: 35px; top: 0; width:175px; text-align: center; color: #fff; background-color: #494949; -webkit-box-shadow: 0 0 5px rgba(0,0,0,.2); -moz-box-shadow: 0 0 5px rgba(0,0,0,.2); box-shadow: 0 0 5px rgba(0,0,0,.2); }
.r-qq-box { display: none; position: absolute; right: 35px; top: 0; width:175px; text-align: center; color: #fff; background-color: #494949; -webkit-box-shadow: 0 0 5px rgba(0,0,0,.2); -moz-box-shadow: 0 0 5px rgba(0,0,0,.2); box-shadow: 0 0 5px rgba(0,0,0,.2); }
/* IE11 滚动条问题解决 */
html, body { -ms-overflow-style: scrollbar; }
/* 保险下拉菜单美化 */
.nice-select{
padding: 0 3px;
height: 26px;
border: 1px solid #ccc;
position: relative;
background: #fff ;
display:inline-block;
}
.nice-select input{display: block;width: 90%;height: 24px;line-height: 24px ;border: 0;outline: 0;background: none; }
.nice-select ul{
width:260px;
text-align:left;
display: none;
position: absolute;
left: -1px;
top: 0;
overflow: hidden;
background-color: #fff;
max-height: 200px;
overflow-y: auto;
border: 1px solid #ccc;
border-top: 0;
box-shadow: 0 1px 3px #ccc;
z-index: 9999;
}
.nice-select ul li{line-height: 30px;overflow: hidden;padding: 0 6px;cursor: pointer; border-bottom:1px dashed #ccc; }
.nice-select ul li div{ line-height:20px; padding:10px 0;}
.nice-select ul li.on{background-color: #e0e0e0;}
.nice-select ul li.last{ border:none}

@ -0,0 +1,45 @@
@charset "utf-8";
/* CSS Document */
/* 企业端头部 */
.navbar-nav .active>a { color: #414582!important; background-color: #FFF!important; } /*改Bootstarp*/
.icon-nav-block { display:block; text-align:center; margin-bottom:5px; }
.title-left { display: inline-block; text-indent: 8px; border-left: 2px solid #88B7E0; margin-right: 8px; }
/*.bg-body { background: url(../img/bg-body.jpg) no-repeat fixed center top; }*/
.nav-top-small>li>a { padding:5px 15px!important; }
/* 在线预订首页 */
.index-wall { margin:110px 0 15px; padding:15px; position:relative; background-color:#414582;}
.seach-menu { width:120px; float:left; position:absolute; top:0; left:0; }
.seach-menu ul { padding:0; margin:0; }
.seach-menu a { display: block; width: 100%; padding-top: 13px; padding-bottom: 13px; font: 14px/34px "microsoft yahei"; text-align: center; color:#fff; text-decoration:none; }
.seach-menu a:hover { color:#FFF; background-color:#14639C; }
.seach-menu a.active { color:#1876BB; background-color:#FFF; }
.seach-menu a i { display: inline-block; width: 32px; height: 32px; margin: 0 auto; }
.search-tab-bd { width:750px; height:372px; padding:15px; margin-left:105px; background-color:#FFF; float:left;}
.tab-index { position:relative;}
.tab-index ul { padding:0; margin-left:35px; }
.tab-index li { float:left; margin-right:45px; font-size:18px; line-height:35px; font-weight:500; color:#B2B2B2; }
.tab-index li:hover { color:#999; cursor: pointer; }
.tab-index li.active { color:#000; cursor: pointer; }
.seach-body { background-color:#F4FBFC; padding:15px; margin:10px; padding-right:30px; height:288px;}
.icon-transit { display: inline-block; height: 50px; width: 12px; border: 1px solid #ddd; border-left: none; position: absolute; top: 15px; left: 50%; margin-left:-13px; }
.icon-transit a { position: absolute; z-index: 1; width: 18px; left: 3px; top: 15px; background-color: #0093dd; color: #fff; text-align: center; font-size: 12px; line-height: 18px; font-family: simsum; }
.icon-transit a:hover { background-color: #F90; text-decoration: none; }
.user-wrap { float:right; width:270px; }
.tab-user-hd ul { width:100%; padding:0; }
.tab-user-hd li { float:left; font-size:18px; line-height:35px; font-weight:500; color:#8EBBDE; width:50%; display:inline-block; text-align:center; padding-bottom:10px; border-bottom:1px solid #8EBBDE; }
.tab-user-hd li:hover { color: #7BAED9; cursor: pointer; }
.tab-user-hd li.active { color:#FFF; cursor: pointer; border-bottom:1px solid #FFF; }
.type-box { position: absolute; top: 0px; right: 10px; }
.type-box ul { padding:0; margin:0; }
.type-box ul li { float:left; margin-right:20px; font-size:14px; line-height:35px; font-weight:500; color:#B2B2B2; }
.user-portrait { padding: 50px 0 35px; text-align: center; color: #FFF; font-size: 16px; }
.user-portrait .link-myctrip { display: inline-block; color: #FFF; }
.user-portrait img { width: 90px; height: 90px; margin-bottom:20px; border: 3px solid #FFF; border-radius: 50px; box-shadow: 0 0 2px #333; }
.user-portrait a:hover { text-decoration:none; color:#FF0;}

@ -0,0 +1,191 @@
@font-face {font-family: "iconfont";
src: url('../fonts/iconfont.eot'); /* IE9*/
src: url('../fonts/iconfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../fonts/iconfont.woff') format('woff'), /* chrome, firefox */
url('../fonts/iconfont.ttf') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
url('../fonts/iconfont.svg#iconfont') format('svg'); /* iOS 4.1- */
}
.iconfont {
font-family:"iconfont" !important;
font-style:normal;
-webkit-font-smoothing: antialiased;
-webkit-text-stroke-width: 0.2px;
-moz-osx-font-smoothing: grayscale;
}
.iconfont{-webkit-font-smoothing: antialiased;}
.icon-lvxing:before { content: "\e600"; }
.icon-lengyin:before { content: "\e633"; }
.icon-shouyinji:before { content: "\e634"; }
.icon-zhaoxiangji:before { content: "\e635"; }
.icon-shezhi:before { content: "\e6ab"; }
.icon-xiajiang:before { content: "\e601"; }
.icon-muma:before { content: "\e636"; }
.icon-kefuyouxian:before { content: "\e602"; }
.icon-qushixiajiang:before { content: "\e6a8"; }
.icon-weixin:before { content: "\e637"; }
.icon-piaojialishi:before { content: "\e603"; }
.icon-zizhuzhiji:before { content: "\e638"; }
.icon-jipiao:before { content: "\e604"; }
.icon-dujia:before { content: "\e605"; }
.icon-qichepiao:before { content: "\e606"; }
.icon-hangkonggongsi:before { content: "\e607"; }
.icon-menpiao:before { content: "\e608"; }
.icon-huochepiao:before { content: "\e609"; }
.icon-jiudian:before { content: "\e60a"; }
.icon-zuche:before { content: "\e60b"; }
.icon-weixin1:before { content: "\e639"; }
.icon-dianshiji:before { content: "\e63a"; }
.icon-zizhuyou:before { content: "\e60c"; }
.icon-shezhichilun:before { content: "\e6ac"; }
.icon-lvxingpiaowu:before { content: "\e60d"; }
.icon-download:before { content: "\e63b"; }
.icon-lvxing1:before { content: "\e60e"; }
.icon-shouye:before { content: "\e60f"; }
.icon-mima:before { content: "\e610"; }
.icon-tuding:before { content: "\e63c"; }
.icon-youxiji:before { content: "\e63d"; }
.icon-qq:before { content: "\e63e"; }
.icon-anzhuo:before { content: "\e611"; }
.icon-bumen:before { content: "\e612"; }
.icon-renyuanguanli:before { content: "\e613"; }
.icon-richangguanli:before { content: "\e614"; }
.icon-fabiaojidi:before { content: "\e615"; }
.icon-shineiyouyongguan:before { content: "\e63f"; }
.icon-naozhong:before { content: "\e640"; }
.icon-lengyin1:before { content: "\e641"; }
.icon-huiyi:before { content: "\e642"; }
.icon-yen:before { content: "\e616"; }
.icon-jinqihuiyi:before { content: "\e643"; }
.icon-qq1:before { content: "\e644"; }
.icon-zhihuijihover:before { content: "\e645"; }
.icon-gongzhang:before { content: "\e646"; }
.icon-zuoji:before { content: "\e647"; }
.icon-22yongcheshenqing:before { content: "\e648"; }
.icon-youyong4:before { content: "\e649"; }
.icon-24xiaoshireshui:before { content: "\e64a"; }
.icon-tingchechang:before { content: "\e64b"; }
.icon-youyongchi:before { content: "\e64c"; }
.icon-tuding1:before { content: "\e64d"; }
.icon-guzhongtixing:before { content: "\e64e"; }
.icon-zongbaobiao:before { content: "\e64f"; }
.icon-clock:before { content: "\e650"; }
.icon-safe:before { content: "\e651"; }
.icon-weixin2:before { content: "\e652"; }
.icon-04yiyaobaoxianpbm:before { content: "\e653"; }
.icon-kafei:before { content: "\e654"; }
.icon-phone:before { content: "\e655"; }
.icon-wifi:before { content: "\e656"; }
.icon-wifi1:before { content: "\e657"; }
.icon-huilvhuiyishi:before { content: "\e658"; }
.icon-huilvjianshenfang:before { content: "\e659"; }
.icon-gerenzhongxin:before { content: "\e65a"; }
.icon-children:before { content: "\e65b"; }
.icon-iconfontjxmc:before { content: "\e65c"; }
.icon-kafei1:before { content: "\e65d"; }
.icon-zuojitianchong:before { content: "\e65e"; }
.icon-iconfonttaishiji:before { content: "\e65f"; }
.icon-icon03:before { content: "\e660"; }
.icon-yongche:before { content: "\e661"; }
.icon-weibiaoti1:before { content: "\e662"; }
.icon-servant:before { content: "\e617"; }
.icon-apple:before { content: "\e618"; }
.icon-shebeiguanli:before { content: "\e619"; }
.icon-xiyusangna:before { content: "\e663"; }
.icon-ertongfang:before { content: "\e664"; }
.icon-qq2:before { content: "\e665"; }
.icon-jianshen:before { content: "\e666"; }
.icon-tongjibaobiao:before { content: "\e667"; }
.icon-iconfontweixiubaoyangdian:before { content: "\e668"; }
.icon-nv:before { content: "\e6aa"; }
.icon-644jianshen:before { content: "\e669"; }
.icon-bumenjiagouline:before { content: "\e61a"; }
.icon-xiangmushuju:before { content: "\e61b"; }
.icon-iconfonticon:before { content: "\e61c"; }
.icon-zhengce:before { content: "\e66a"; }
.icon-yinshuiji:before { content: "\e66b"; }
.icon-jiesong:before { content: "\e66c"; }
.icon-lengyin2:before { content: "\e66d"; }
.icon-24xiaoshireshui1:before { content: "\e66e"; }
.icon-jiejifuwu:before { content: "\e66f"; }
.icon-spa:before { content: "\e670"; }
.icon-wifi2:before { content: "\e671"; }
.icon-doujiangji:before { content: "\e672"; }
.icon-31pinpai:before { content: "\e61d"; }
.icon-clock1:before { content: "\e673"; }
.icon-baoxianjisuan:before { content: "\e674"; }
.icon-kefuzhongxin:before { content: "\e675"; }
.icon-shezhichilun1:before { content: "\e6ad"; }
.icon-zhushijieshi:before { content: "\e61e"; }
.icon-tingchechang1:before { content: "\e676"; }
.icon-kuandaitianchong:before { content: "\e677"; }
.icon-yingxiaoguanli:before { content: "\e61f"; }
.icon-tuding2:before { content: "\e678"; }
.icon-bangzhuzhongxin:before { content: "\e679"; }
.icon-xiangbao0101:before { content: "\e620"; }
.icon-anquan:before { content: "\e621"; }
.icon-weixin3:before { content: "\e67a"; }
.icon-xiazai:before { content: "\e67b"; }
.icon-yanzhengma:before { content: "\e622"; }
.icon-tubiao04:before { content: "\e6a9"; }
.icon-anquanzhongxin:before { content: "\e67c"; }
.icon-quanxianguanli:before { content: "\e67d"; }
.icon-qiyeguanli:before { content: "\e67e"; }
.icon-bell:before { content: "\e67f"; }
.icon-lengyin3:before { content: "\e680"; }
.icon-yongcan:before { content: "\e681"; }
.icon-huiyiziliao:before { content: "\e682"; }
.icon-gerenzhongxin1:before { content: "\e683"; }
.icon-shujutanshuju:before { content: "\e623"; }
.icon-kafei2:before { content: "\e684"; }
.icon-hekriconshebeidoujiangji:before { content: "\e685"; }
.icon-hekriconshebeikafeiji:before { content: "\e686"; }
.icon-hekriconshebeixiwanji:before { content: "\e687"; }
.icon-iconfontkuandai:before { content: "\e688"; }
.icon-cheliangguanli:before { content: "\e689"; }
.icon-weibiaoti1psd:before { content: "\e68a"; }
.icon-zijinzhanghu:before { content: "\e624"; }
.icon-5:before { content: "\e68b"; }
.icon-baoxian:before { content: "\e68c"; }
.icon-baoxian1:before { content: "\e68d"; }
.icon-shenfenzhengyishangchuan:before { content: "\e68e"; }
.icon-guanli:before { content: "\e625"; }
.icon-dashuju:before { content: "\e626"; }
.icon-huiyuanzhongxin:before { content: "\e68f"; }
.icon-wifi3:before { content: "\e690"; }
.icon-daojishizhong:before { content: "\e691"; }
.icon-shenfenzheng:before { content: "\e692"; }
.icon-touxiang:before { content: "\e627"; }
.icon-wd:before { content: "\e693"; }
.icon-yuangongzhanghao:before { content: "\e628"; }
.icon-jianshen1:before { content: "\e694"; }
.icon-mes:before { content: "\e695"; }
.icon-touxiang1:before { content: "\e629"; }
.icon-lvxing2:before { content: "\e62a"; }
.icon-jisuanji:before { content: "\e696"; }
.icon-printer:before { content: "\e697"; }
.icon-spa1:before { content: "\e698"; }
.icon-pool:before { content: "\e699"; }
.icon-zhengcefagui:before { content: "\e69a"; }
.icon-kefurexian:before { content: "\e62b"; }
.icon-dayin-copy:before { content: "\e69b"; }
.icon-dayin:before { content: "\e69c"; }
.icon-dianshiji1:before { content: "\e69d"; }
.icon-shexiangji:before { content: "\e69e"; }
.icon-cuxiaoguanli:before { content: "\e62c"; }
.icon-qipai1:before { content: "\e69f"; }
.icon-102360:before { content: "\e6a0"; }
.icon-64656:before { content: "\e62d"; }
.icon-xiyiji:before { content: "\e6a1"; }
.icon-icon4:before { content: "\e6a2"; }
.icon-ertongpiao:before { content: "\e6a3"; }
.icon-yunpingtai:before { content: "\e62e"; }
.icon-ispa:before { content: "\e6a4"; }
.icon-lvxingqianzhengjigou:before { content: "\e62f"; }
.icon-shangwuzhongxinfuwu:before { content: "\e6a5"; }
.icon-huiyixuanzhong:before { content: "\e6a6"; }
.icon-xiazai1:before { content: "\e6a7"; }
.icon-shuju2:before { content: "\e630"; }
.icon-peisongicon:before { content: "\e631"; }
.icon-wangluotuoputu:before { content: "\e632"; }

File diff suppressed because it is too large Load Diff

@ -0,0 +1,90 @@
/* 移除或注释掉这个部分,因为它可能会影响原有的布局 */
/*
body {
font-family: Arial, sans-serif;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
background-color: #f0f0f0;
}
*/
/* 调整聊天框的样式 */
/*.chat-container {
position: fixed;
bottom: 220px;
right: 20px;
width: 300px;
height: 400px;
border: 1px solid #ccc;
border-radius: 5px;
overflow: hidden;
background-color: white;
z-index: 1000;
box-shadow: 0 0 10px rgba(0,0,0,0.1);
.chat-container #chat-history {
height: 340px;
overflow-y: auto;
padding: 10px;
}
}*/
.chat-container {
position: fixed;
top: 20%;
bottom: 10%;
right: 3%;
width: 30%;
height: 75%;
border: 1px solid #ccc;
border-radius: 5px;
overflow: hidden;
background-color: white;
box-shadow: 0 0 10px rgba(0,0,0,0.1);
}
/* 其他样式保持不变 */
.chat-container #chat-history {
height: 90%;
overflow-y: auto;
padding: 10px;
}
.chat-container .input-area {
display: flex;
padding: 10px;
border-top: 1px solid #ccc;
}
.chat-container #user-input {
flex-grow: 1;
margin-right: 10px;
padding: 5px;
}
.chat-container #send-btn {
padding: 5px 10px;
background-color: #414582;
color: white;
border: none;
cursor: pointer;
}
.message {
margin-bottom: 10px;
padding: 10px;
border-radius: 4px;
}
.user-message {
background-color: #e6f2ff;
align-self: flex-end;
}
.ai-message {
background-color: #f0f0f0;
align-self: flex-start;
}

@ -0,0 +1,33 @@
<%@page import="javabean.db_conn"%>
<%@page import="java.sql.ResultSet"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
//添加URL session ,作为用户登录后跳转回来的依据,登录servlet中已经写了判断程序如果有url_cookie就跳转到url_cookie如果没有就跳转到用户中心
session.setAttribute("url", request.getRequestURI());
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>机票预订系统</title>
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/common.css" rel="stylesheet">
<link href="css/corptravel.css" rel="stylesheet">
<link href="css/enterprise.css" rel="stylesheet">
<link href="css/iconfont.css" rel="stylesheet">
<script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<%! String user_name,seat;
String todaydate="2019-12-01";%>
<!--今日日期,为方便测试此处设定为固定值-->
</head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<div><h3>出错了,机票不够</h3></div>
</body>
</html>

@ -0,0 +1,34 @@
<%@page import="javabean.db_conn"%>
<%@page import="java.sql.ResultSet"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
//添加URL session ,作为用户登录后跳转回来的依据,登录servlet中已经写了判断程序如果有url_cookie就跳转到url_cookie如果没有就跳转到用户中心
session.setAttribute("url", request.getRequestURI());
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>机票预订系统</title>
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/common.css" rel="stylesheet">
<link href="css/corptravel.css" rel="stylesheet">
<link href="css/enterprise.css" rel="stylesheet">
<link href="css/iconfont.css" rel="stylesheet">
<script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<%! String user_name,seat;
String todaydate="2019-12-01";%>
<!--今日日期,为方便测试此处设定为固定值-->
</head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<div >
<h3><label>请先登录再订购机票!</label></h3>
</div>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 959 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 171 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 434 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 227 KiB

@ -0,0 +1,19 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>AI助手</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<div class="chat-container">
<div id="chat-history"></div>
<div class="input-area">
<input type="text" id="user-input" placeholder="输入您的问题...">
<button id="send-btn">发送</button>
</div>
</div>
<script src="js/script.js"></script>
</body>
</html>

@ -0,0 +1,298 @@
<%@page import="javabean.db_conn"%>
<%@page import="java.sql.ResultSet"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@page contentType="text/html; charset=UTF-8" import="java.util.Date"%>
<%@page contentType="text/html; charset=UTF-8" import="java.text.SimpleDateFormat"%>
<%
// 检查用户是否已登录
if (session.getAttribute("user_id") == null) {
// 如果未登录,重定向到登录页面
response.sendRedirect("../index/login_reg.jsp");
return;
}
// 添加URL session ,作为用户登录后跳转回来的依据,登录servlet中已经写了判断程序如果有url_cookie就跳转到url_cookie如果没有就跳转到用户中心
session.setAttribute("url", request.getRequestURI());
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<!-- <meta name="viewport" content="width=device-width, initial-scale=1"> -->
<link rel="icon" href="./images/airplane.ico">
<title>机票推荐系统</title>
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/common.css" rel="stylesheet">
<link href="css/corptravel.css" rel="stylesheet">
<link href="css/enterprise.css" rel="stylesheet">
<link href="css/iconfont.css" rel="stylesheet">
<link href="css/style.css" rel="stylesheet">
<script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<%!
String user_name,seat;
Date date = new Date();
//设置要获取到什么样的时间
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//获取String类型的时间
String todaydate = sdf.format(date);
%>
<!-- 日期选择器导入外部库 -->
<link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.9.1.js"></script>
<script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<link rel="stylesheet" href="http://jqueryui.com/resources/demos/style.css">
<script>
$(function() {
$( "#datepicker" ).datepicker({
dateFormat: 'yy-mm-dd'
});
});
</script>
<!-- 日期选择器导入结束 -->
</head>
<body class="bg-body">
<!-- header -->
<nav class="navbar navbar-default navbar-fixed-top bg-white">
<nav class="navbar navbar-default"
style="min-height: 30px; line-height: 30px; margin-bottom: 0px; border-radius: 0;">
<div class="container font12">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed"
data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"
aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<ul class="nav navbar-nav nav-top-small" style="margin-left: -15px;">
<li class="dropdown">
<% if(session.getAttribute("user_id")!=null){
db_conn conn=new db_conn();
String sql="select * from p_inf where p_tel='"+session.getAttribute("user_id")+"'";
ResultSet res=conn.executeQuery(sql);
if(res.next())
user_name=res.getString(1);
%>
<a href="javacript:none" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
您好,<%= user_name %>
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="logout.jsp">退出</a></li>
</ul>
<%}else{ %>
<a href="../user_center" class="dropdown-toggle" role="button" aria-haspopup="true" aria-expanded="false">
点击此处登录(登录后可以推荐机票)
</a>
<%} %>
</li>
</ul>
</div>
</nav>
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed"
data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"
aria-expanded="false">
<span class="sr-only">Toggle navigation</span> <span
class="icon-bar"></span> <span class="icon-bar"></span> <span
class="icon-bar"></span>
</button>
<a class=" " href="index.jsp"><img src="images/newlogo11.png"
width="420" height="84" alt="系统LOGO" class="pull-left mar-right-30"
style="margin-left: -15px;"></a>
</div>
<!--
<div class="collapse navbar-collapse"
id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav navbar-right">
<li class="active"><a href="javascript:none"><i
class="icon iconfont icon-nav-block font24">&#xe620;</i> 首页</a></li>
<li><a href="/air_ticket_book/user_center"><i
class="icon iconfont icon-nav-block font24">&#xe61c;</i> 用户中心</a></li>
</ul>
</div>
-->
</div>
</nav>
<!-- header end -->
<!-- 搜索 -->
<!-- 日期选择框的样式信息 -->
<style>
.ui-datepicker {
background-color: #f0f0f0; /* 示例背景颜色 */
}
.ui-datepicker th {
background-color: #414582; /* 示例表头背景颜色 */
color: white; /* 示例表头文字颜色 */
}
.ui-datepicker td a {
background-color: #ffffff; /* 示例日期单元格背景颜色(未选中时) */
color: #000000; /* 示例日期单元格文字颜色(未选中时) */
}
.ui-datepicker td a.ui-state-active {
background-color: #4CAF50; /* 示例选中日期的背景颜色 */
color: red; /* 示例选中日期的文字颜色 */
}
</style>
<div class="index-wall white " style="">
<div class="container"
style="position: relative; margin-left: 25%; width: auto;">
<form class="form-inline" action="/air_ticket_book/search" method="post">
<div class="form-group"><!-- mar-left-10 -->
<label for="" >出发城市</label>
<input type="text" class="form-control" style="width: 95px;" value="" size="15" id="getcity_name" name="departure" mod="address|notice" mod_address_source="hotel" mod_address_suggest="@Beijing|北京|53@Shanghai|上海|321@Shenzhen|深圳|91@Guangzhou|广州|80@Qingdao|青岛|292@Chengdu|成都|324@Hangzhou|杭州|383@Wuhan|武汉|192@Tianjin|天津|343@Dalian|大连|248@Xiamen|厦门|61@Chongqing|重庆|394@" mod_address_reference="getcityid" mod_notice_tip="中文/拼音" />
<input id="getcityid" name="getcityid" type="hidden" value="{$getcityid}" />
</div>
<div class="form-group" style="margin-left:2%">
<label for=""> &nbsp;&nbsp;&nbsp;&nbsp;到达城市</label>
<input type="text" class="form-control" style="width: 95px;" value="" size="15" id="homecity_name" name="destination" mod="address|notice" mod_address_source="hotel" mod_address_suggest="@Beijing|北京|53@Shanghai|上海|321@Shenzhen|深圳|91@Guangzhou|广州|80@Qingdao|青岛|292@Chengdu|成都|324@Hangzhou|杭州|383@Wuhan|武汉|192@Tianjin|天津|343@Dalian|大连|248@Xiamen|厦门|61@Chongqing|重庆|394@" mod_address_reference="cityid" mod_notice_tip="中文/拼音" />
<input id="cityid" name="cityid" type="hidden" value="{$cityid}" />
</div>
<div class="form-group" style="margin-left:2%">
<label for=""> &nbsp;&nbsp;&nbsp;&nbsp;出发日期</label> <input name="date" type="text" class="form-control" id="datepicker"
style="width: 140px;" value="<%=todaydate %>" placeholder="出发日期">
</div>
<button type="submit" class="btn btn-warning mar-left-10"
style= "font-size:18px; border:#FFFFFF; color:#414582; background-color:#FFFFFF;margin-left: 2%;">搜索</button>
</form>
</div>
</div>
<!-- 搜索结束 -->
<!-- 列表开始 -->
<div class="container mar-bottom-30 " style="margin-left: 0%;width:65%">
<div class="hangbanlist">
<div>
<%
db_conn conn=new db_conn();
String sql="select * from flight where f_Date ='"+todaydate+"'";
ResultSet res=conn.executeQuery(sql);
while(res.next()){
String f_i=res.getString(1);
String s_p=res.getString(2);
String a_p=res.getString(3);
String s_a=res.getString(4);
String a_a=res.getString(5);
String s_t=res.getString(6);
String a_t=res.getString(7);
String f_p=res.getString(8);
String f_d=res.getString(9);
String f_delay=res.getString(10);
String f_food=res.getString(11);
String f_wide=res.getString(12);
String f_depcode=res.getString(13);
String f_dstcode=res.getString(14);
/*
String sql2="select sum(t_b) from ticket where f_n='"+f_i+"' and t_d='"+todaydate+"'";
db_conn conn2=new db_conn();
ResultSet res2=conn2.executeQuery(sql2);
if(res2.next()) seat=res2.getString(1);
if(seat=="null") seat="0";
db_conn conn3=new db_conn();
String a_code="";//出发地机场三字码
String d_code="";//到达地机场三字码
String sql3="SELECT code FROM codetoname WHERE airportname = '"+a_a+"'";
String sql4="SELECT code FROM codetoname WHERE airportname = '"+s_a+"'";
ResultSet res3=conn3.executeQuery(sql3);
if(res3.next()) a_code=res3.getString(1);
ResultSet res4=conn3.executeQuery(sql4);
if(res4.next()) d_code=res4.getString(1);
*/
String Domainname="https://flights.ctrip.com/";
//Domainname+="online/list/oneway-"+d_code+"-"+a_code+"?_=1&depdate="+f_d+"&containstax=1";
Domainname+="online/list/oneway-"+f_depcode+"-"+f_dstcode+"?_=1&depdate="+f_d+"&containstax=1";
%>
<!-- 表头 -->
<ul class="list-inline bor-bottom-solid-1 ">
<li class="w-percentage-25" style="font-size:26px;color:#414582;"> <strong><%=f_i %></strong></li>
<li class="w20 time " ><strong><%=s_p %></strong> </li>
<li class="text-right" style= "color:#414582;"><%=s_a %></li>
<li class="">—</li>
<li class="w20 time " ><strong><%=a_p %></strong> </li>
<li class="w150" style= "color:#414582;"><%=a_a %></li>
<li class="time w100"><strong><%=s_t %></strong></li>
<li class="">—</li>
<li class="time w80"><strong><%=a_t %></strong></li>
<%if(session.getAttribute("user_id")!=null){ %>
<li class="pull-right "><button type="button" style= "border:#000000;color:#FFFFFF;background-color:#414582;"
class="btn btn-danger btn-sm" onClick="window.location.href ='<%= Domainname%>';">订票</button></li><%}
if(session.getAttribute("user_id")==null){ %>
<li class="pull-right "><button type="button" style= "border:#000000;color:#FFFFFF;background-color:#414582;"
class="btn btn-danger btn-sm" onClick="window.location.href ='error_login.jsp?flight_id=<%=f_i %>';">订票</button></li><%} %>
</ul>
<!-- 表头结束 -->
<!-- 表BODY -->
<div class="collapse" id="collapseExample" style="display: block;">
<div class="hangbanlist-body " style="background-color: #f4f6f7;">
<ul class="list-inline">
<li class="w-percentage-20">价格:<span class="rmb">¥<%=f_p %></span></li>
<li class="w-percentage-20">平均延误时间:<span class=""><%=f_delay %></span> min</li>
<li class="w-percentage-20">餐食:<span class=""><%=f_food %></span></li>
<li class="w-percentage-20">座位宽度:<span class=""><%=f_wide %></span> cm</li>
</ul>
</div>
</div>
<!-- 表BODY 结束 -->
<%
}
%>
</div>
<div class="clearfix"></div>
</div>
</div>
<!-- AI聊天框 -->
<div class="chat-container">
<div id="chat-history"></div>
<div class="input-area">
<input type="text" id="user-input" placeholder="输入您的问题...">
<button id="send-btn">发送</button>
</div>
</div>
<!-- AI聊天框结束 -->
<!-- 城市选择框触发 -->
<div id="jsContainer" class="jsContainer" style="height:0">
<div id="tuna_alert" style="display:none;position:absolute;z-index:999;overflow:hidden;"></div>
<div id="tuna_jmpinfo" style="visibility:hidden;position:absolute;z-index:120;"></div>
</div>
<!-- 导入AI聊天框和城市选择框对应JS -->
<script src="js/script.js"></script>
<script type="text/javascript" src="js/fixdiv.js"></script>
<script type="text/javascript" src="js/address.js"></script>
</body>
</html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1,53 @@
const chatHistory = document.getElementById('chat-history');
const userInput = document.getElementById('user-input');
const sendBtn = document.getElementById('send-btn');
sendBtn.addEventListener('click', sendMessage);
userInput.addEventListener('keypress', (e) => {
if (e.key === 'Enter') {
sendMessage();
}
});
function sendMessage() {
const message = userInput.value.trim();
if (message) {
addMessageToChat('user', message);
userInput.value = '';
callAIAPI(message);
}
}
function addMessageToChat(sender, message) {
const messageElement = document.createElement('div');
messageElement.classList.add('message', `${sender}-message`);
messageElement.innerHTML = message; // 使用innerHTML以支持HTML格式
chatHistory.appendChild(messageElement);
chatHistory.scrollTop = chatHistory.scrollHeight;
}
async function callAIAPI(prompt) {
try {
const response = await fetch('/air_ticket_book/api/chat', {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
body: `prompt=${encodeURIComponent(prompt)}`
});
if (!response.ok) {
throw new Error('API请求失败');
}
const result = await response.json();
console.log('API响应:', result); // 添加这行来查看完整的响应
// 直接使用result.text因为服务器返回的JSON结构中text是在顶层
const aiResponse = result.text || '抱歉,我无法理解您的问题。';
addMessageToChat('ai', aiResponse);
} catch (error) {
console.error('Error:', error);
addMessageToChat('ai', '抱歉出现了一些问题。请稍后再试123。');
}
}

@ -0,0 +1,6 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
session.setAttribute("user_id", null);
response.sendRedirect("index.jsp");
%>

@ -0,0 +1,245 @@
<%@page import="javabean.db_conn"%>
<%@page import="java.sql.ResultSet"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="verify_login.jsp" %><%--包含验证登陆代码--%>
<jsp:useBean id="img_url" class="javabean.get_img" scope="session" />
<jsp:setProperty property="user_id" name="img_url" value="<%=session.getAttribute(\"user_id\") %>"/>
<%
//添加URL session ,作为用户登录后跳转回来的依据,登录servlet中已经写了判断程序如果有url_cookie就跳转到url_cookie如果没有就跳转到用户中心
session.setAttribute("url", request.getRequestURI());
session.setAttribute("p_tel",session.getAttribute("user_id"));
session.setAttribute("f",request.getParameter("flight_id"));
%>
<%!
String user_name;
String flight_id=null;
String grade=null;
String grade_character=null;
String s_p=null;//起飞地点
String e_p=null;//到达地点
String s_a=null;//起飞机场
String e_a=null;//目的机场
String t_t=null;//起飞时间
String l_t=null;//到达时间
%>
<%
flight_id=request.getParameter("flight_id");
if(flight_id==null){
flight_id="SU2312";
}
%>
<%
db_conn conn=new db_conn();
String sql="select * from flight where f_n='"+flight_id+"'";
ResultSet res=conn.executeQuery(sql);
if(res.next()){
s_p=res.getString(2);
e_p=res.getString(3);
s_a=res.getString(4);
e_a=res.getString(5);
t_t=res.getString(6);
l_t=res.getString(7);
}
%>
<%@ include file="verify_login.jsp" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>订单</title>
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/common.css" rel="stylesheet">
<link href="css/corptravel.css" rel="stylesheet">
<link href="css/enterprise.css" rel="stylesheet">
<link href="css/iconfont.css" rel="stylesheet">
<script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>
<script src="js/bootstrap.min.js"></script>
</head>
<body class="bg-body">
<!-- header -->
<nav class="navbar navbar-default navbar-fixed-top bg-white">
<nav class="navbar navbar-default"
style="min-height: 30px; line-height: 30px; margin-bottom: 0px; border-radius: 0;">
<div class="container font12">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed"
data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"
aria-expanded="false">
<span class="sr-only">Toggle navigation</span> <span
class="icon-bar"></span> <span class="icon-bar"></span> <span
class="icon-bar"></span>
</button>
</div>
<ul class="nav navbar-nav nav-top-small" style="margin-left: -15px;">
<li class="dropdown">
<% if(session.getAttribute("user_id")!=null){
String sql2="select * from p_inf where p_tel='"+session.getAttribute("user_id")+"'";
ResultSet res2=conn.executeQuery(sql2);
if(res2.next())
user_name=res2.getString(2);
%>
<a href="javacript:none" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
您好,<%= user_name %>
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="logout.jsp">退出</a></li>
</ul>
<%}else{ %>
<a href="../user_center" class="dropdown-toggle" role="button" aria-haspopup="true" aria-expanded="false">
请登录!
</a>
<%} %>
</li>
</ul>
</div>
</nav>
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed"
data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"
aria-expanded="false">
<span class="sr-only">Toggle navigation</span> <span
class="icon-bar"></span> <span class="icon-bar"></span> <span
class="icon-bar"></span>
</button>
<a class=" " href="index.jsp"><img src="images/newlogo.png"
width="350" height="70" alt="系统LOGO" class="pull-left mar-right-30"
style="margin-left: -15px;"></a>
</div>
<div class="collapse navbar-collapse"
id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav navbar-right">
<li class="active"><a href="index.jsp"><i
class="icon iconfont icon-nav-block font24">&#xe620;</i>首页</a></li>
<li><a href="/air_ticket_book/user_center"><i
class="icon iconfont icon-nav-block font24">&#xe61c;</i> 用户中心</a></li>
</ul>
</div>
</div>
</nav>
<!-- header end -->
<!-- 订购栏 content start -->
<form action="../add_order" method="post" >
<%-- <input type="hidden" name="flight_id" value="<%=flight_id %>"> --%>
<div class="container box-shadow mar-bottom-30 "
style="padding-right: 0px; padding-left: 0px; position: relative; margin-top: 200px;">
<div class="col-sm-7 container bg-white pad-bottom-20"
style="margin-top: 30px; margin-bottom: 30px;">
<div style="overflow: hidden;">
<h4 class="mar-bottom-90" style="display: block; float: left;margin-top: 20px;">订票日期:</h4>
</div>
<div class="mar-top-10">
<input name="date" type="text"
class="ydc-form-control" value="例2017-03-06" autocomplete="off">
</div>
<div style="overflow: hidden;">
<h4 class="mar-bottom-90" style="display: block; float: left; margin-top: 40px;">本人及关联旅客信息:</h4>
</div>
<div class="container bg-white-eee mar-bottom-250"
style=" padding-left: 0px; padding-right:600px;margin-top: 10px; ">
<table
class="table table-hover table-striped ">
<tr>
<th style="width:3%;">姓名</th>
<th style="width:5%;">身份证号</th>
<th style="width:3%;">电话</th>
<th style="width:3%;">是否订购</th>
</tr>
<%
int i=0;
db_conn conn2=new db_conn();
String user_id=session.getAttribute("user_id").toString();
String sql2="select * from p_inf where p_id in "+
"(select p_id2 from ptp where p_id in "+
"(select p_id from p_inf where p_tel='"+user_id+"'))";
ResultSet res2=conn2.executeQuery(sql2);
while(res2.next()){
%>
<tr>
<td><%=res2.getString(2) %></td>
<td><%=res2.getString(1) %></td>
<td><%=res2.getString(3) %></td>
<td><input type="checkbox" name="choose" id="choose" value="1" /></td>
</tr>
<%}
%>
</table>
</div>
<!-- 航班信息 -->
</div>
<div class="col-sm-5 " >
<div style="margin-left: -15px;margin-top: 110px; ">
<h3 style="overflow: hidden; margin-left: 0px;">
<span style="display: block; float: left;"></span>
<span style="display: block; float: left; margin-left: 190px;"><%=s_p %>-<%=e_p %></span>
<span
style="display: block; float: right; color: #999; font-size: 14px; margin-right: 5px;"></span>
</h3>
</div>
<div style=" margin-bottom: 15px; ">
<div class="flight-from " style="float:left;">
<span class="time text-center"><%=t_t %></span><br /> <span
class="text-center"><%=s_a %></span>
</div>
<div class="flight-info " style="float: left; margin-left: 70px;">
<img src="images/a.png"> <span class="font12 gray-999">------</span>
<img src="images/b.png"><br /> <img src="images/c.png" class="mar-left-30 "> <span
class="text-center font12 ">乘坐<%=flight_id %></span><br /> <span
class="airline-direct"></span> <span class="arrow "></span>
</div>
<div class="flight-to" style="float: right;">
<span class="time text-center"><%=l_t %></span><br /> <span
class="text-center"><%=e_a %></span>
</div>
</div>
</div>
</div>
<div class="text-center mar-top-10" style="margin-bottom: 20px;">
<input type="submit" value="提交订单" class="btn btn-default btn-lg">
</div>
</form>
</body>
</html>

@ -0,0 +1,143 @@
<%@page import="java.sql.ResultSet"%>
<%@page import="javabean.db_conn"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
//添加URL session ,作为用户登录后跳转回来的依据,登录servlet中已经写了判断程序如果有url_cookie就跳转到url_cookie如果没有就跳转到用户中心
session.setAttribute("url", request.getRequestURI());
%>
<%@ include file="verify_login.jsp" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>订单列表</title>
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/common.css" rel="stylesheet">
<link href="css/corptravel.css" rel="stylesheet">
<link href="css/enterprise.css" rel="stylesheet">
<link href="css/iconfont.css" rel="stylesheet">
<script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>
<script src="js/bootstrap.min.js"></script>
</head>
<body class="bg-body">
<!-- header -->
<nav class="navbar navbar-default navbar-fixed-top bg-white">
<nav class="navbar navbar-default"
style="min-height: 30px; line-height: 30px; margin-bottom: 0px; border-radius: 0;">
<div class="container font12">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed"
data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"
aria-expanded="false">
<span class="sr-only">Toggle navigation</span> <span
class="icon-bar"></span> <span class="icon-bar"></span> <span
class="icon-bar"></span>
</button>
</div>
<ul class="nav navbar-nav nav-top-small" style="margin-left: -15px;">
<li class="dropdown">
<% if(session.getAttribute("user_id")!=null){ %>
<a href="javacript:none" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
您好,<%=session.getAttribute("user_id").toString() %>
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="logout.jsp">退出</a></li>
</ul>
<%}else{ %>
<a href="../user_center" class="dropdown-toggle" role="button" aria-haspopup="true" aria-expanded="false">
请登录!
</a>
<%} %>
</li>
</ul>
</div>
</nav>
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed"
data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"
aria-expanded="false">
<span class="sr-only">Toggle navigation</span> <span
class="icon-bar"></span> <span class="icon-bar"></span> <span
class="icon-bar"></span>
</button>
<a class=" " href="index.jsp"><img src="images/logo.png"
width="210" height="70" alt="系统LOGO" class="pull-left mar-right-30"
style="margin-left: -15px;"></a>
</div>
<div class="collapse navbar-collapse"
id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav navbar-right">
<li class="active"><a href="index.jsp"><i
class="icon iconfont icon-nav-block font24">&#xe620;</i>首页</a></li>
<li><a href="/air_ticket_book/user_center"><i
class="icon iconfont icon-nav-block font24">&#xe61c;</i> 用户中心</a></li>
</ul>
</div>
</div>
</nav>
<!-- header end -->
<!-- list start -->
<div class="container bg-gray-eee box-shadow mar-bottom-30"
style="padding-right: 0px; padding-left: 0px; position: relative; margin-top: 120px;">
<table
class="table table-hover table-striped font12 table-bordered v-align-top">
<tr>
<th style="width:10%;">航班号</th>
<th style="width:15%;">乘机人</th>
<th style="width:18%;">乘机日期</th>
<th style="width:10%;">舱位</th>
<th style="width:17%;">乘客证件</th>
<th style="width:15%;">联系人</th>
<th style="width:15%;">联系电话</th>
</tr>
<%
db_conn conn=new db_conn();
String user_id=session.getAttribute("user_id").toString();
String sql="select * from t_order where order_user='"+user_id+"'";
ResultSet res=conn.executeQuery(sql);
while(res.next()){
%>
<tr>
<td>
<%=res.getString(3) %>
</td>
<td><p><%=res.getString(4) %></p></td>
<td><%=res.getString(5) %></td>
<td><%=res.getString(6) %></td>
<td><%=res.getString(7) %></td>
<td><%=res.getString(8) %></td>
<td><%=res.getString(9) %></td>
</tr>
<%
}
%>
</table>
</div>
<!-- list end -->
</body>
</html>

@ -0,0 +1,317 @@
<%@page import="javabean.flight"%>
<%@page import="java.util.ArrayList"%>
<%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@page contentType="text/html; charset=UTF-8" import="java.util.Date"%>
<%@page contentType="text/html; charset=UTF-8" import="java.text.SimpleDateFormat"%>
<%@page import="javabean.db_conn"%>
<%@page import="java.sql.ResultSet"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>机票推荐系统</title>
<link href="/air_ticket_book/default/css/bootstrap.min.css" rel="stylesheet">
<link href="/air_ticket_book/default/css/common.css" rel="stylesheet">
<link href="/air_ticket_book/default/css/corptravel.css" rel="stylesheet">
<link href="/air_ticket_book/default/css/enterprise.css" rel="stylesheet">
<link href="/air_ticket_book/default/css/iconfont.css" rel="stylesheet">
<link href="/air_ticket_book/default/css/style.css" rel="stylesheet">
<script type="/air_ticket_book/default/text/javascript" src="js/jquery-1.9.1.min.js"></script>
<script src="/air_ticket_book/default/js/bootstrap.min.js"></script>
<script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<%! db_conn conn2=new db_conn();
String seat;
String user_name;
Date date = new Date();
//设置要获取到什么样的时间
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//获取String类型的时间
String todaydate = sdf.format(date);
%>
<link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.9.1.js"></script>
<script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<link rel="stylesheet" href="http://jqueryui.com/resources/demos/style.css">
<script>
$(function() {
$( "#datepicker" ).datepicker({
dateFormat: 'yy-mm-dd'
});
});
</script>
</head>
<body class="bg-body">
<!-- header -->
<nav class="navbar navbar-default navbar-fixed-top bg-white">
<nav class="navbar navbar-default"
style="min-height: 30px; line-height: 30px; margin-bottom: 0px; border-radius: 0;">
<div class="container font12">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed"
data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"
aria-expanded="false">
<span class="sr-only">Toggle navigation</span> <span
class="icon-bar"></span> <span class="icon-bar"></span> <span
class="icon-bar"></span>
</button>
</div>
<ul class="nav navbar-nav nav-top-small" style="margin-left: -15px;">
<li class="dropdown">
<%
if(session.getAttribute("user_id")!=null){
db_conn conn2=new db_conn();
String sql2="select * from p_inf where p_tel='"+session.getAttribute("user_id")+"'";
ResultSet res2=conn2.executeQuery(sql2);
if(res2.next())
user_name=res2.getString(1);
%>
<a href="javacript:none" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
您好,<%=user_name%>
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="/air_ticket_book/default/logout.jsp">退出</a></li>
</ul>
<%}else{ %>
<a href="/air_ticket_book/user_center" class="dropdown-toggle" role="button" aria-haspopup="true" aria-expanded="false">
请登录!
</a>
<%} %>
</li>
</ul>
</div>
</nav>
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed"
data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"
aria-expanded="false">
<span class="sr-only">Toggle navigation</span> <span
class="icon-bar"></span> <span class="icon-bar"></span> <span
class="icon-bar"></span>
</button>
<a class=" " href="/air_ticket_book/default/index.jsp"><img src="/air_ticket_book/default/images/newlogo11.png"
width="420" height="84" alt="系统LOGO" class="pull-left mar-right-30"
style="margin-left: -15px;"></a>
</div>
<!--
<div class="collapse navbar-collapse"
id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav navbar-right">
<li class="active"><a href="/air_ticket_book/default/index.jsp"><i
class="icon iconfont icon-nav-block font24">&#xe620;</i> 首页</a></li>
<li><a href="/air_ticket_book/user_center"><i
class="icon iconfont icon-nav-block font24">&#xe61c;</i> 用户中心</a></li>
</ul>
</div>
-->
</div>
</nav>
<!-- 日期选择框的样式信息 -->
<style>
.ui-datepicker {
background-color: #f0f0f0; /* 示例背景颜色 */
}
.ui-datepicker th {
background-color: #414582; /* 示例表头背景颜色 */
color: white; /* 示例表头文字颜色 */
}
.ui-datepicker td a {
background-color: #ffffff; /* 示例日期单元格背景颜色(未选中时) */
color: #000000; /* 示例日期单元格文字颜色(未选中时) */
}
.ui-datepicker td a.ui-state-active {
background-color: #4CAF50; /* 示例选中日期的背景颜色 */
color: red; /* 示例选中日期的文字颜色 */
}
</style>
<!-- header end -->
<!-- 搜索 -->
<%
String odate=(String)request.getAttribute("date");
String odep=(String)request.getAttribute("departure");
String odst=(String)request.getAttribute("destination");
%>
<div class="index-wall white " style="">
<div class="container"
style="position: relative; margin-left: 25%; width: auto;">
<form class="form-inline" action="/air_ticket_book/search" method="post">
<div class="form-group"><!-- mar-left-10 -->
<label for="" >出发城市</label>
<input type="text" class="form-control" style="width: 95px;" value="<%=odep %>" size="15" id="getcity_name" name="departure" mod="address|notice" mod_address_source="hotel" mod_address_suggest="@Beijing|北京|53@Shanghai|上海|321@Shenzhen|深圳|91@Guangzhou|广州|80@Qingdao|青岛|292@Chengdu|成都|324@Hangzhou|杭州|383@Wuhan|武汉|192@Tianjin|天津|343@Dalian|大连|248@Xiamen|厦门|61@Chongqing|重庆|394@" mod_address_reference="getcityid" mod_notice_tip="中文/拼音" />
<input id="getcityid" name="getcityid" type="hidden" value="{$getcityid}" />
</div>
<div class="form-group" style="margin-left:2%">
<label for=""> &nbsp;&nbsp;&nbsp;&nbsp;到达城市</label>
<input type="text" class="form-control" style="width: 95px;" value="<%=odst %>" size="15" id="homecity_name" name="destination" mod="address|notice" mod_address_source="hotel" mod_address_suggest="@Beijing|北京|53@Shanghai|上海|321@Shenzhen|深圳|91@Guangzhou|广州|80@Qingdao|青岛|292@Chengdu|成都|324@Hangzhou|杭州|383@Wuhan|武汉|192@Tianjin|天津|343@Dalian|大连|248@Xiamen|厦门|61@Chongqing|重庆|394@" mod_address_reference="cityid" mod_notice_tip="中文/拼音" />
<input id="cityid" name="cityid" type="hidden" value="{$cityid}" />
</div>
<!--
<input name="destination" type="text" class="form-control"
style="width: 85px;" value="" placeholder="到达城市">
<input name="departure" type="text" class="form-control"
style="width: 85px;" value="" placeholder="出发城市">
-->
<div class="form-group" style="margin-left:2%">
<label for=""> &nbsp;&nbsp;&nbsp;&nbsp;出发日期</label> <input name="date" type="text" class="form-control" id="datepicker"
style="width: 140px;" value="<%=odate %>" placeholder="出发日期">
</div>
<!--
<div class="form-group" style="margin-left:2%">
<label for=""> &nbsp;&nbsp;&nbsp;&nbsp;出发日期</label>
<div class="input-group">
<input name="departureYear" type="text" class="form-control"
style="width: 70px;" value="">
<span class="input-group-addon">年</span>
</div>
<div class="input-group">
<input name="departureMonth" type="text" class="form-control"
style="width: 60px;" value="">
<span class="input-group-addon">月</span>
</div>
<div class="input-group">
<input name="departureDay" type="text" class="form-control"
style="width: 60px;" value="">
<span class="input-group-addon">日</span>
</div>
</div>
-->
<button type="submit" class="btn btn-warning mar-left-10"
style= "font-size:18px; border:#FFFFFF; color:#414582; background-color:#FFFFFF;margin-left: 2%;">搜索</button>
</form>
</div>
</div>
<!-- 搜索结束 -->
<!-- 列表开始 -->
<div class="container mar-bottom-30 " style="margin-left: 0%;width:65%">
<div class="hangbanlist">
<div>
<%
ArrayList flightlist=(ArrayList)request.getAttribute("flightlist");
if(flightlist.size()==0){
out.println("对不起,未找到您需要的航班,请重新查找");
}else{
for(int i=0;i<flightlist.size();i++){
flight flight_info=(flight)flightlist.get(i);
double f_p_i=Double.parseDouble(flight_info.getF_p());
String f_i=flight_info.getF_n();
/*
String sql2="select sum(t_b) from ticket where f_n='"+flight_info.getF_n()+"' and t_d='"+todaydate+"'";
db_conn conn2=new db_conn();
ResultSet res2=conn2.executeQuery(sql2);
if(res2.next()) seat=res2.getString(1);
db_conn conn3=new db_conn();
String a_code="";//出发地机场三字码
String d_code="";//到达地机场三字码
String sql3="SELECT code FROM codetoname WHERE airportname = '"+flight_info.getF_a_a()+"'";
String sql4="SELECT code FROM codetoname WHERE airportname = '"+flight_info.getF_s_a()+"'";
ResultSet res3=conn3.executeQuery(sql3);
if(res3.next()) a_code=res3.getString(1);
ResultSet res4=conn3.executeQuery(sql4);
if(res4.next()) d_code=res4.getString(1);
*/
String Domainname="https://flights.ctrip.com/";
//Domainname+="online/list/oneway-"+d_code+"-"+a_code+"?_=1&depdate="+flight_info.getF_d()+"&containstax=1";
Domainname+="online/list/oneway-"+flight_info.getF_depcode()+"-"+flight_info.getF_dstcode()+"?_=1&depdate="+flight_info.getF_d()+"&containstax=1";
%>
<!-- 表头 -->
<ul class="list-inline bor-bottom-solid-1 ">
<li class="w-percentage-25" style="font-size:26px;color:#414582;"><strong><%=flight_info.getF_n()%></strong></li>
<li class="w20 time "><strong><%=flight_info.getF_s_p()%></strong> </li>
<li class="text-right" style= "color:#414582;"><%=flight_info.getF_s_a() %></li>
<li class="">—</li>
<li class="w20 time "><strong><%=flight_info.getF_a_p() %></strong> </li>
<li class="w150" style= "color:#414582;"><%=flight_info.getF_a_a() %></li>
<li class="time w100"><strong><%=flight_info.getF_s_t() %></strong></li>
<li class="">—</li>
<li class="time w80"><strong><%=flight_info.getF_a_t() %></strong></li>
<%if(session.getAttribute("user_id")!=null){ %>
<li class="pull-right "><button type="button" style= "border:#000000;color:#FFFFFF;background-color:#414582;"
class="btn btn-danger btn-sm" onClick="window.location.href ='<%= Domainname%>';">订票</button></li><%} %>
<%if(session.getAttribute("user_id")==null){ %>
<li class="pull-right "><button type="button" style= "border:#000000;color:#FFFFFF;background-color:#414582;"
class="btn btn-danger btn-sm" onClick="window.location.href ='default/error_login.jsp?flight_id=<%=f_i%>';">订票</button></li><%} %>
</ul>
<!-- 表头结束 -->
<!-- 表BODY -->
<div class="collapse" id="collapseExample" style="display: block;">
<div class="hangbanlist-body " style="background-color: #f4f6f7;">
<ul class="list-inline">
<li class="w-percentage-20">价格:<span class="rmb">¥<%=flight_info.getF_p() %></span></li>
<li class="w-percentage-20">平均延误时间:<span class=""><%=flight_info.getF_delay() %></span> min</li>
<li class="w-percentage-20">餐食:<span class=""><%=flight_info.getF_food() %></span></li>
<li class="w-percentage-20">座位宽度:<span class=""><%=flight_info.getF_wide() %></span> cm</li>
</ul>
</div>
</div>
<!-- 表BODY 结束 -->
<%
}
}
%>
</div>
<div class="clearfix"></div>
</div>
</div>
<div class="chat-container">
<div id="chat-history"></div>
<div class="input-area">
<input type="text" id="user-input" placeholder="输入您的问题...">
<button id="send-btn">发送</button>
</div>
</div>
<div id="jsContainer" class="jsContainer" style="height:0">
<div id="tuna_alert" style="display:none;position:absolute;z-index:999;overflow:hidden;"></div>
<div id="tuna_jmpinfo" style="visibility:hidden;position:absolute;z-index:120;"></div>
</div>
<script src="/air_ticket_book/default/js/script.js"></script>
<script type="text/javascript" src="/air_ticket_book/default/js/fixdiv.js"></script>
<script type="text/javascript" src="/air_ticket_book/default/js/address.js"></script>
</body>
</html>

@ -0,0 +1,7 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
if(session.getAttribute("user_id")==null){
response.sendRedirect("/air_ticket_book/index/login_reg.jsp");
//写成绝对路径,防范错误发生
}
%>

@ -0,0 +1,4 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
response.sendRedirect("/air_ticket_book/default/index.jsp");
%>

@ -0,0 +1,342 @@
/*
* author: YDC
* core.css
* http://www.yidianc.com/
*/
::-webkit-scrollbar {
display: none;
}
::-moz-placeholder {
color: #aaa;
}
::-webkit-input-placeholder {
color: #aaa;
}
:-ms-input-placeholder {
color: #aaa;
}
::selection {
background: #111;
color: #fff;
font-weight: bold
}
html {
color: #333;
}
body {
min-width: 1200px;
}
html,body {
margin: 0;
height: 100%;
background-color: #fff;
font-size: 14px;
color: #444;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
font-family: 'PingFangSC','helvetica neue','hiragino sans gb','arial','microsoft yahei ui','microsoft yahei','simsun','sans-serif'!important;
}
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
a {
text-decoration: none;
color: #000;
}
hr {
height: 1px;
background: #ccc;
width: 100%;
border: none;
margin: 0;
padding: 0;
margin-top: 10px;
}
img {
border: 0;
}
body {
background: #fff;
color: #666;
}
html, body, div, dl, dt, dd, ol, ul, li, h1, h2, h3, h4, h5, h6, p, blockquote, pre, button, fieldset, form, input, legend, textarea, th, td {
margin: 0;
padding: 0;
}
article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary {
display: block;
margin: 0;
padding: 0;
}
audio,canvas,progress,video {
display: inline-block;
vertical-align: baseline;
}
a {
text-decoration: none;
color: #08acee;
}
a:active,a:hover {
outline: 0;
}
button {
outline: 0;
}
mark {
color: #000;
background: #ff0;
}
small {
font-size: 80%;
}
img {
border: 0;
}
button,input,optgroup,select,textarea {
margin: 0;
font: inherit;
color: inherit;
outline: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
table {
width: 100%;
border-radius: 4px;
}
li {
list-style: none;
}
i {
font-style: normal;
}
a {
color: #666;
text-decoration: none;
-webkit-transition: color .3s;
transition: color .3s;
}
a:hover {
color: #eee;
}
em {
font-style: normal;
}
h2, h3 {
font-weight: 100;
}
.ydc-flex{
margin-left: -10px;
margin-right: -10px;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-ms-flex-flow: row wrap;
-webkit-flex-flow: row wrap;
flex-flow: row wrap;
}
.ydc-user-info-func a:not(:first-child):before{
content: " ";
border-left: 1px solid #707070;
height: 10px;
display: inline-block;
vertical-align: middle;
margin: 0 8px;
}
.fl{
float:left;
}
.fr{
float:right;
}
textarea{
outline:none;
}
textarea:focus{
background:none;
outline:none;
}
input:focus, textarea:focus {
outline: none;
}
input:focus,textarea:focus {
outline: none;
border: 1px
solid #ff5f5f;
}
.btn{
position: relative;
text-align: center;
line-height: 1;
cursor: pointer;
-webkit-appearance: none;
-webkit-transition: all .2s ease-out;
transition: all .2s ease-out;
border: 1px solid transparent;
margin: 0;
background-color: #f2f2f2;
border-color: #d7dde4;
color: #324050;
outline: 0;
}
.btn, .btn:active, .btn:focus {
outline: 0;
}
.ydc-right-head-info dl+dl:before {
content: " ";
float: left;
width: 1px;
height: 50px;
margin-top: 8px;
border-left: 1px solid #ddd;
}
.clearfix::after {
clear: both;
content: ".";
display: block;
height: 0;
visibility: hidden;
}
.clearfix {
}
/* xu */
.rdolist, .chklist {
display: none;
}
.rdobox, .chkbox {
display: inline-block;
padding: 10px;
height: 86px;
line-height: 16px;
/* background: #eee; */
border-radius: 3px;
width: 100%;
color: #666;
}
.check-image {
display: inline-block;
width: 26px;
height: 26px;
margin-top: 46px;
background-image: url("/admin/images/icon/input-unchecked.png");
vertical-align: middle;
background-size: cover;
background-position:center;
background-repeat:no-repeat;
margin-left: 70px;
}
.unchecked {
/* background: #ECF0F1; */
color: #666;
transition-property: background;
transition-delay: 0s;
transition-duration: .1s;
transition-timing-function: linear;
}
.checked {
color: #fff;
}
.ydc-reg-form-button .btn-border{
background-color:#fff;
color:#ff6980;
margin-right:20px;
}
.foldpanel {
width: 100%;
border-bottom: none;
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
border-bottom: 1px dashed #ddd;
}
.foldpanel dt,.foldpanel dd {
border-top: 1px dashed #ddd;
margin: 0px;
}
.foldpanel dt {
cursor: pointer;
padding: 16px 17px 16px 40px;
font-size: 15px;
color: #333;
position:relative;
}
.foldpanel dd {
padding: 12px 70px;
}
.foldpanel dt:before{
position: absolute;
top: 23px;
left: 18px;
content: "";
width: 6px;
height: 6px;
border-radius: 6px;
background-color: #000;
}

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

@ -0,0 +1,84 @@
.ydc-icon{
width: 18px;
height: 18px;
display: block;
border: none;
background-repeat: no-repeat;
background-position: center;
background-size: 18px;
}
.ydc-icon-mail{
background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAADjUlEQVRoQ+2ZTahNURTHf8tnJE+KFMXAwETp9aSU0vOZRz1CTOUVgydlZIIyNUJJBgZ4ikTJV3j5piTJyMxAyoyXfGtpvfau845z7j33dPa59913zvCeffdev/Vfa+219xHG2CNjjJcKuN0VrxSuFG4zD1Qh3WaC/odTKVwp3GYeqEI6LqiqTgUOAPuBmS0q+A/ggdkoIu9q2VhXYVW9CvS2KGjcrDcisiQ3sKrOBj6NElhv5lwR+Zhmc02FVbULeDnKgLtE5FUF7DyQV+FfwEVgFTCv5Aj4ANwHdgKTEtYOonC/iJxU1enAPWBpSdCWXqtFZEhV+4HjZQHvE5ETtpiqTgPuAMsDQxtst4h8deuWCmyL2uLDBU1VpwAPAyodhzXnmpPN2fEnSEjbInHoDuAxsLhgpZ8B6yLKrgRuAubkpCcYsIc2Y8woU9o6safAooKgnwBrReS7m99gbwOTa8wfFNjWNWOskHjoWcCjAqBtPpvXw64BrteBNXuCA6dBm8ELcyqdBHsDmJhhvlKAk6DnuJxuFDoO2wNYP58FtjSFvePj4W3QL4D5GZSxIUmw14AJGf9fOnCS0taJPc/QkdnxbkMkZzcDlxqEbQqwh14mIm9ddV3gwjutDTXY9SLy0423ltX22fENKOuHlpbDUduswPSKyB//o6oa9IWEjuwc0OdhHbA1FIM5G5nSgUfAquoMEfnsQMa5m5MVwHtgwHdr7n10bF7oUoHjsJaHZ11uDu/TaY+q7gDOuK7K7+l5+vTSgJNgL7s8HFG949Cq2gechuHPtzbWipflte/T7USW9XBSCnAc1tQ6Hys6Q8AuEbkSyWsrSkeBgzEnWPGyIpYHOjhwEuyAUyspgm1ftpD9BmwE0i7d8kIHBbYOaLuvxi4Pa8E2usvkgQ4GbLDbROSvyzUL4yJhvXMahQ4CfAvYVAJsFNrWuxspZGkXDkGAt/riEyCM08L+N9ATgd4DnEoYHATYbg13A1uAYzUKVKM5W2+8Qe91523r2pIuD4MA1zOsme8r4Kj3613EdwKpny2aKWONtTtF5HXa+3rAdjP4pYHbhmb7wHK8w5+pk4zJ8rn0MHCk2SQZ1z8kItaqpj51gd2+Z9Wwu8ZdcEZ7gg2zA8dg9KiZK6SDmdfEiTMp3ET7Cl+6Ai7cpS02YaVwiwlSuDmVwoW7tMUmrBRuMUEKN6dSuHCXttiEY07hfzSyy0zsWwJCAAAAAElFTkSuQmCC');
}
.ydc-icon-home{
margin-right: 8px;
}
.ydc-menu-item a:hover .ydc-icon-home{
margin-right: 8px;
background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAEvUlEQVRoQ+2aW8ilYxTHf3/nQ44XyrEUckgxDknkRiIackjkZqYppkHcUGNMKOecckGDEiLkTG7m4uNCkqJmYiSJTDncfEYahL/+M+9kz/7ed+/33d9+v2/zvetmX+z1rGf9n/Ws/7Oe9T5igYkWGF46wP/3iM9ZhG3vCCwFzgXOAH4HPgTeBp6V5LlY7DkBbDsgHwGOqgC1HrhO0lTboFsFbHtn4D7ghhpAEuG7gVsl/V1DfySV1gDbPhh4DTiloWfvAZdJ+qnhuFrqrQC2fRbwKrB/LS9mKv0ALJb00YjjK4eNFbDt2FsF3AbsUDHr2uQrsBvwaEFgZap/AjdLenCcoMcG2Hai+SJwdoWDfwGrJd217f+Cue8AVg4A9SZwlaRfxgF8LIBtnwi8BSRvyyT5mLxMfs4Q2+cBLwD7VIz/Gjhf0uezBT1rwLZXAA8BYeQy+QC4RNL3g5y1fRjwOpDFK5PNwDJJz88G9MiAbe8JPA1cOsCBB4o8zHYeKrZ3BR4Grhmg/BSwQlIKl8YyEmDbRwLvAPktk+Rb8i7511hsXwk8CexeMXgdcKGkbPVG0hiw7UQ0kU2Ey2RkZ3qN2T4GeGPIol4u6d0miGsDtr0LkCMiOVslya+lo263fqNF2sTm4gFzppJbKalW2tQCXFRNYeEqQvkNuFZS8mvsYvt6IHywU4XxWsSYsUMB2865mvO1qmpKHiWfspVbE9unFtXboKPvIkkBXymVgG2nUkrFlMqpSi/5kzwaS1EwbLWK4iYla0rXMsm2XiXpnipbpUBqGE7Zl7y5f5iT4/6/CMTqVG1DAnGFpJ/7558BuMbWSWF/8bCtM26gJYQ2LNW+BS7oT7XtANvOvTVRqyKHVq9uTRepxhU0xUkaC09ss70FsO29gOcG0H8u5/cCt7R5OW8KuPA9JW0YPDewKsnRlrJ0s2wfW/SVDq/QTh4kHxod8KM4P5sxNQuicwL4GyCFe5l8AoTqkw8TL0XJm+osVVqZTAVwVbdwTbH//5h4pD0O2k79/UzFpWY6gL8EjugZM5Zr2Hwvku3lRae099q6JcKHAq8UzbZcsFNIrCsu9TngpyR9Ot8A6sxfHKmnA2slrbd9MnA7cCbw1ZbjtMxQcalPvyn/Z8vn/vlYnUnnS8f2TcVJEhfS5l0iKVt7O6kCvBE4qEdzo6RD5gtMnXlt/wrs0aO7QdIM8qoC3E9kllTVhazjT6s6tvcG+svITZJm9Mg6wAlFyVHVRbjVPdrQeLelty5Yl8NZhY60OtLamg8dSzck0lbVO5buWPrfDdaxdMfSHUu3SrgjGe9YumPp4SydnlAvg096pZXOxnRfPkxL2q9uT6u/dZtxR0v6YqQka3mQ7ROAfDTolY8lzXj2WHUOv1zSyH6/eGv1Y8v+NzZvOx/LlvUNXCPp6roRzsu4O0tmzleIrGSeOEyK5GXC8SXOLJf0eF3ABxTAelu1kwKwjh9pup9U64P4Nmu2FxUv1qte2NWZeD508qlokaQNZZMPfNRi+zTgJSCfY/4LErLNM8fKBzZ1XvGE8vPZJU8MDpxQ1N8V37hvlDSQX4YC7gVoe1/guAEPSed6PQLuM0mb6k7cCHBdo5Ost+AA/wOpXyLy1C8KeQAAAABJRU5ErkJggg==');
}
.active .ydc-icon-home{
margin-right: 8px;
background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAEvUlEQVRoQ+2aW8ilYxTHf3/nQ44XyrEUckgxDknkRiIackjkZqYppkHcUGNMKOecckGDEiLkTG7m4uNCkqJmYiSJTDncfEYahL/+M+9kz/7ed+/33d9+v2/zvetmX+z1rGf9n/Ws/7Oe9T5igYkWGF46wP/3iM9ZhG3vCCwFzgXOAH4HPgTeBp6V5LlY7DkBbDsgHwGOqgC1HrhO0lTboFsFbHtn4D7ghhpAEuG7gVsl/V1DfySV1gDbPhh4DTiloWfvAZdJ+qnhuFrqrQC2fRbwKrB/LS9mKv0ALJb00YjjK4eNFbDt2FsF3AbsUDHr2uQrsBvwaEFgZap/AjdLenCcoMcG2Hai+SJwdoWDfwGrJd217f+Cue8AVg4A9SZwlaRfxgF8LIBtnwi8BSRvyyT5mLxMfs4Q2+cBLwD7VIz/Gjhf0uezBT1rwLZXAA8BYeQy+QC4RNL3g5y1fRjwOpDFK5PNwDJJz88G9MiAbe8JPA1cOsCBB4o8zHYeKrZ3BR4Grhmg/BSwQlIKl8YyEmDbRwLvAPktk+Rb8i7511hsXwk8CexeMXgdcKGkbPVG0hiw7UQ0kU2Ey2RkZ3qN2T4GeGPIol4u6d0miGsDtr0LkCMiOVslya+lo263fqNF2sTm4gFzppJbKalW2tQCXFRNYeEqQvkNuFZS8mvsYvt6IHywU4XxWsSYsUMB2865mvO1qmpKHiWfspVbE9unFtXboKPvIkkBXymVgG2nUkrFlMqpSi/5kzwaS1EwbLWK4iYla0rXMsm2XiXpnipbpUBqGE7Zl7y5f5iT4/6/CMTqVG1DAnGFpJ/7558BuMbWSWF/8bCtM26gJYQ2LNW+BS7oT7XtANvOvTVRqyKHVq9uTRepxhU0xUkaC09ss70FsO29gOcG0H8u5/cCt7R5OW8KuPA9JW0YPDewKsnRlrJ0s2wfW/SVDq/QTh4kHxod8KM4P5sxNQuicwL4GyCFe5l8AoTqkw8TL0XJm+osVVqZTAVwVbdwTbH//5h4pD0O2k79/UzFpWY6gL8EjugZM5Zr2Hwvku3lRae099q6JcKHAq8UzbZcsFNIrCsu9TngpyR9Ot8A6sxfHKmnA2slrbd9MnA7cCbw1ZbjtMxQcalPvyn/Z8vn/vlYnUnnS8f2TcVJEhfS5l0iKVt7O6kCvBE4qEdzo6RD5gtMnXlt/wrs0aO7QdIM8qoC3E9kllTVhazjT6s6tvcG+svITZJm9Mg6wAlFyVHVRbjVPdrQeLelty5Yl8NZhY60OtLamg8dSzck0lbVO5buWPrfDdaxdMfSHUu3SrgjGe9YumPp4SydnlAvg096pZXOxnRfPkxL2q9uT6u/dZtxR0v6YqQka3mQ7ROAfDTolY8lzXj2WHUOv1zSyH6/eGv1Y8v+NzZvOx/LlvUNXCPp6roRzsu4O0tmzleIrGSeOEyK5GXC8SXOLJf0eF3ABxTAelu1kwKwjh9pup9U64P4Nmu2FxUv1qte2NWZeD508qlokaQNZZMPfNRi+zTgJSCfY/4LErLNM8fKBzZ1XvGE8vPZJU8MDpxQ1N8V37hvlDSQX4YC7gVoe1/guAEPSed6PQLuM0mb6k7cCHBdo5Ost+AA/wOpXyLy1C8KeQAAAABJRU5ErkJggg==');
}
.ydc-icon-home{
margin-right: 8px;
background-image:url('data:image/png;base64,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');
}
.active .ydc-icon-find{
margin-right: 8px;
background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAEdElEQVRoQ+2baehnUxjHP1/bC97IHl7YRbIka4kwmjJTYl4okZKlUArNyNgnS0mpkaIQoiEk+24kjELKkhlkiSyTLSIvPHrq/qYz53+Xc3//e8+9/Oe8/N3nec75nOecc8+55/sTc6xojvGyAfj/nvHkDJuZ2+4DHAXsDewIbAds1FMn/Q4slvRhU3wzOxQ4E9gV+Bp4SNKLZX6NwAXoIuAGYPemyjt+/iWwm6R/quKa2SXAjcDGkc0ySVfEfrXAZrYVsAI4vmOQNuF2kPR9mYOZLSkSURVvkaRHwoeVwGa2JfAesEub1nVs+4WPqrIMJ8B6Ux6VdEojcDGMnwVOqAHwXl8NVA63WcL/BiyR9FEcJxHW3d6XdGAKsM/Zh0sa/A5wE/CqpB9nCTSVewtYj/+ApNNqgYvsfgDsG7XodWCepL+mamkHTmZ2HnB7i1BHSnqzCfgQ4O0oqK+WB0j6tUVlnZua2U7Aa75yJwS/RdLFjau0mV0HLI0MF0h6KqGS3k3MbHvgjQbou4GzJFkK8BPAgsBwraRteycpqaCYXncBr0i6d2JSQK8sNkCxZyWsG854LZnZKsB3LpPynKT5uYEL2HuAMwDP1LmS7gygtwF8XfFd36TUwlYBrwH2CILMWOn6ho9gw+rOqYFuhK0C/iyaH/dJ8l7OUmpgJ/VfKGl5lOnzgWvL5mzKHB4MOAG2FLpNJsrm8CDALWBnBT0K4ClgHfpSSTe3ye4o5vCUsOvN42A++4HnZeAg4DvgGEmfhJ0yaIa7hHUoM7sGuDIAfFzSSaMA7hq2APbNyekB4BpJew0O3AdsAXw/EJ6OPpW056DAfcGOErhP2NEB9w07KuAcsKMBzgU7CuCcsIMD54YdFHgI2MGAh4IdBHhI2OzAQ8NmBR4DbG7gZcDlLQ7jpefZFv6lpmbW/+HBzHYGPgc2TWxwL7DZMmxmi4sL6RTe3mBzAru04LgE2l5hcwL/AWzeANw7bBZgM/NbPP+sW1eywOYC9g9kj1XQ+oX5Ukl3JAz3Tkx6X6XN7Crg6qC1XwF+GeedsKJOfdMJYRRkWmDXbYQfviov08zMr1W3AF6Q9FMfEG1imtmDwKmBz2pJ4e1i6XXpW8BhgZPD1Ilb2rSpV1szi98YqyQdHlZa9iF+NBfibXqn2N76urF14Pe0pBObgK8HLosqWyjpyTYNyG1rZvOA56N6b5N0QRPwscBLkaMvRvsPLWqp6kQzc72nqwGOiGxOlrTeW6RsSG9W7I1dMRMW11TMH1K2VAZsZq6xdCnT2dHzP10AK+mX2gwXL3C/n1knIgkcXIroQ37lUMK0SVvMbBNgYXFKO7ikM26VdFH8e53W8hnPaM1c9OtI14P0JT1sWgZcyuzy5bLyM7CfpG/bAPtd67uFBrmp8jE9/xs4WpK/XmeU/4J8uE1nfgP4QhUrCdfFGLtAPBXWVfAuYFsuaW2dUyNwsEjk/gtAVbt9zfgB8Pn5scsQU/4mMAmWDJza1WO32wA89gzNtn1zLsP/AlKhp1uSVwSLAAAAAElFTkSuQmCC');
}
.ydc-icon-find{
margin-right: 8px;
background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAFRUlEQVRoQ+3ba4gbVRQH8POfbPaDfqj4xvpB66Mo4gPxCeKiVgruNvdmGxCkRRAfoIKg0krru7QKIggVQaFKFaUGc08SdautupVSW0GL4AO3KtaiVFuMiuKyTebIyGaZnc28usnMsO183Ln3nvu7Z+4kkzkLOsIOHGFeOgqe6xmPk2EUCoXziOgay7IWishpAE4mIqtHi/R3s9lcUa/XvwobXyl1ORHdCuBMItpn2/ab1Wp1a6d+UcDQWi8VkXUAzgoL3uXze40xC4jI9htXa/0AET1FRDl3GxFZw8wPe/sFgkul0vGHDh3aBOCGLkMiD9dqtU6t1Wq/duqgtV5JROv8BhORpcz8lvu8L1gpdRwR7QZwRuTZdbmhiPzIzM5VNSPDYdjJqVSMMcNRwFBKbQZwY8DqOas+BsD3cpuNX0T+EpGV1Wr1a+84EbFOty+MMReHgguFwlLLssreQCLyGYCnx8fHR0dGRg7MBnS4fWNgSUReZ+ZbwsBOdr8EcL5nUtsbjcai0dHR8cOd7Gz7aa3vIqIXYoxztTHmk0BwsVi8TEQ+9Qy6t6+v76JyufxnjGBdbzo4ODg/n89/TETOnTvwEJFnmfn+0Lu0UupJAKunrQowWKlU3gkLksT5JUuWnJLL5XaEoF82xtxGRBIFXAcw2G4oIgeZ+aQkMB1iONtrA4CPjDEb2+cdtGVZ2wAs7NDHF+u0nfGxpJTaBcD55vL/ISLvMfPiFMDOF55XiGi5iAiAO40xL7XnMTQ0dGIul9vuQQdi/cB7AJztAs+40yWAn8J6Yt0RgA7FdgRrrb937w8ReZWZlyeAbIfww7avuHuZeb0n03cz8xOd9mzoHk4ZHIh1XXXT0HGSMWMPpwiOhJ0tOivgWNhJ9IPGmGfiZDcrezg2VkQ6XtKTDzwfAriEiPa3Wq2BWq32rXtR0s5w17AOSmv9OBE94gJWjTEqK+CuYh2UUmojgGUu4B5jzLlZAHcdO5nh14ho6ulIRL5j5nPSBvcEm1Vwz7BZBPcUmzVwz7FZAieCzQo4MWwWwIli0wYnjk0TnAo2LXBq2DTAqWKTBqeOTRSstV5DRKuiPoz7Pc9G7e/XTmvd+4eHYrF4uoj8QET5KBPuFTaxDBcKhRWWZTkvpEOPXmITAyultgK4Pkzba2yS4H8AHBMETgKbCHh4eHiBbdvOD/e+R1LYRMBKKQXA+GgPiMhqZn4x7HLv1vme36WVUo8CeKw9YRH5CcAuETHMvCmo+qZbSPc4hwseI6KpH746lQ20g2itB23bPra/v39LuVz+vReIOGNqrd8goptdCRhj5mmvVDu9Lt0J4ApXoC3GGN/iljgT6nVb7yeGiOxi5ivdcTuBs/RCPM4aOS/PDwA4wZXhd5n5pjDwWgAPeSINGWPejhM96bZa60VE9L4n7vPGmHsCwVrr64joA3cj52aUz+cvTLuoJWARLaWUUw1wlbuNbdvFarU67VNkxiVdKpX6m82m8914vifAtkajsTjNsqVO4FKplGs2m04p0+2e8/86BbDM/Edghp2TSqllAKaKSFx7YreIrJ2YmNiWVmFaey4DAwN98+bNGwKwCsCl3sUQkeeY+T7v331rLbXWI0QUVMyyX0ScepCelB5GuAc4pcxO+fKMQ0Qatm1fUKvVfokMnnzX+vlkDXKE+JlpMgHg2kqlsrPTjDJfPhxzGX8WkSIzeysJp4bJeoF4JK+I7COiDa1Wa329Xj8Y1CkKuN0/6X8B8Ju3LSK/AXD25zfNZnNHlH8TmEJEWsI51ChOhucE+yh4TqQxAPEf8xwqeYyYkocAAAAASUVORK5CYII=');
}
.ydc-menu-item a:hover .ydc-icon-find{
margin-right: 8px;
background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAEdElEQVRoQ+2baehnUxjHP1/bC97IHl7YRbIka4kwmjJTYl4okZKlUArNyNgnS0mpkaIQoiEk+24kjELKkhlkiSyTLSIvPHrq/qYz53+Xc3//e8+9/Oe8/N3nec75nOecc8+55/sTc6xojvGyAfj/nvHkDJuZ2+4DHAXsDewIbAds1FMn/Q4slvRhU3wzOxQ4E9gV+Bp4SNKLZX6NwAXoIuAGYPemyjt+/iWwm6R/quKa2SXAjcDGkc0ySVfEfrXAZrYVsAI4vmOQNuF2kPR9mYOZLSkSURVvkaRHwoeVwGa2JfAesEub1nVs+4WPqrIMJ8B6Ux6VdEojcDGMnwVOqAHwXl8NVA63WcL/BiyR9FEcJxHW3d6XdGAKsM/Zh0sa/A5wE/CqpB9nCTSVewtYj/+ApNNqgYvsfgDsG7XodWCepL+mamkHTmZ2HnB7i1BHSnqzCfgQ4O0oqK+WB0j6tUVlnZua2U7Aa75yJwS/RdLFjau0mV0HLI0MF0h6KqGS3k3MbHvgjQbou4GzJFkK8BPAgsBwraRteycpqaCYXncBr0i6d2JSQK8sNkCxZyWsG854LZnZKsB3LpPynKT5uYEL2HuAMwDP1LmS7gygtwF8XfFd36TUwlYBrwH2CILMWOn6ho9gw+rOqYFuhK0C/iyaH/dJ8l7OUmpgJ/VfKGl5lOnzgWvL5mzKHB4MOAG2FLpNJsrm8CDALWBnBT0K4ClgHfpSSTe3ye4o5vCUsOvN42A++4HnZeAg4DvgGEmfhJ0yaIa7hHUoM7sGuDIAfFzSSaMA7hq2APbNyekB4BpJew0O3AdsAXw/EJ6OPpW056DAfcGOErhP2NEB9w07KuAcsKMBzgU7CuCcsIMD54YdFHgI2MGAh4IdBHhI2OzAQ8NmBR4DbG7gZcDlLQ7jpefZFv6lpmbW/+HBzHYGPgc2TWxwL7DZMmxmi4sL6RTe3mBzAru04LgE2l5hcwL/AWzeANw7bBZgM/NbPP+sW1eywOYC9g9kj1XQ+oX5Ukl3JAz3Tkx6X6XN7Crg6qC1XwF+GeedsKJOfdMJYRRkWmDXbYQfviov08zMr1W3AF6Q9FMfEG1imtmDwKmBz2pJ4e1i6XXpW8BhgZPD1Ilb2rSpV1szi98YqyQdHlZa9iF+NBfibXqn2N76urF14Pe0pBObgK8HLosqWyjpyTYNyG1rZvOA56N6b5N0QRPwscBLkaMvRvsPLWqp6kQzc72nqwGOiGxOlrTeW6RsSG9W7I1dMRMW11TMH1K2VAZsZq6xdCnT2dHzP10AK+mX2gwXL3C/n1knIgkcXIroQ37lUMK0SVvMbBNgYXFKO7ikM26VdFH8e53W8hnPaM1c9OtI14P0JT1sWgZcyuzy5bLyM7CfpG/bAPtd67uFBrmp8jE9/xs4WpK/XmeU/4J8uE1nfgP4QhUrCdfFGLtAPBXWVfAuYFsuaW2dUyNwsEjk/gtAVbt9zfgB8Pn5scsQU/4mMAmWDJza1WO32wA89gzNtn1zLsP/AlKhp1uSVwSLAAAAAElFTkSuQmCC');
}
.ydc-icon-file{
margin-right: 8px;
background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAEmklEQVRoQ+1aXWgcVRQ+32T9CYtsa1vBH5pQKYoKgih9ERQxL6VQXwwiFElbiRJSMKznzoaqQdNs7t0QFCoatVF8a14UH8RaRX3wSfrmD0ILXaEipMJGqomus0emzpTtspu5s38Nk53X+53vnG/OnTv33nNAm+zBJtNLPcFJz3gvw70MJ+wNWE3pfD6/K5VKDYnIvSJyD4BU3PcgIsurq6sHpqam1uLathO/ruClpaW+YrF4tFKpTAK4vlXHIvKyUuq1VnlasW8oeGFh4bqVlZVPiejxVhzU2P4pInOt8AH4y3Gck9lsttgMT0PBxphjRDRZQ1oSke8BeLbORGQLgPtt8ZY4IaJTqVTq8MTExAVLm8uwuoLz+fxWx3F+BXBjQPZ3pVIZd1333TjkPtafKaVS6SyAnXFto/Ai8guAPcz8WxQ2HK8rWGs9AmCximSamV+yJa3FFQqF/SLycbP2EXZnBgcH9wwPD1vNukaCDYAXQ0eO4+zIZrMXWwnYGHO6Zj14iplPxuGcnZ3dCWAfEb0KYFtoKyLjSqnjNlx1BRtj/Kl7OCD4g5kzNmTrYYwxdxLRz0TUF+CKmUxm9+joaDkutzHmESL6usruC2YesuGxEVxi5q02ZFEYY8w8Eb1QhVPMbKLs6o1rrb8D8KA/5v/jlVK32PB0VbDW+iYiOgdgh01wMTEPM/O3UTZdFewHY4w5SEQnogJrcvyjSqUy4rruSiP7rgsORH9JRI81KSrK7Ew6nX50bGzsUj3gNRFcKBTSnuc9DeD2qOjXGwfQJyL3EdHe6q2viLytlHp+wwhuRWSDBewuIvoKwK3BuOd53t25XO5sLf6aZLjdgn0+rfUBAB+G3CJyUCn1fmIFz8/P95fL5UsAnOBXpZVSbmIFB4vh70R0cyD4hFIq3Dxd0Z2YKd0TLNLLsD8LEjWltdbF8NwtIseVUuNJX7SeFJE3iShNRE8opfwj6VVPojLsK5ubm9ve39+/tqG2lp3YeNhyJi7DUcITJTjYbT0D4Dwzf5bYw0MoTGu9CGAk2GntV0p9kuhFS2vt36bsCgS/rpSqvk66rD1RU1pr/QaAI0TkXwzuY+bPE53h4Lf0ULlcXs7lcucT/w1HrdCJm9KbUnA+nx8EkHZd94fET2ljTJ6IlPz/7HVd91SiFy2t9QUAtwUiF5j5uUQLNsYsE9H2QOQiMx/qCa73YddUD9tWTLNZRVvBNJ1hrfU7AJ4NnLelXNqKEFtbrfXFsG4sMe+0NBFx6KgdBXHboJvFzczMbEulUtVF+zlmvlLUD3kbdQD4R6wPQpCIHFNKHW02mG7Yaa2nALxS5esQM1e3bTQ+PNQ2tYjIPwDGmPm9bgQf10fQk/IWEd0QnJTWPM+7Y3Jy0r+Yv+pp2LaktZ4BkKvBx25biht8HLyI9AHwq4dbauwMMyvrnZYP7FBjWhw9zWK/yWQyQ416R7raetisAhs7EfnXcZzpgYGB6fVamKyaS40xu4nILzA/YOO8WxhfJIAfiegnz/NO16sHW3/D3Qq6236sMtztoDrprye4k293I3D3MrwRstDJGDZdhv8DlW5RW1u+C9EAAAAASUVORK5CYII=');
}
.ydc-icon-record{
margin-right: 8px;
background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAGKElEQVRoQ+2ae2wURRjAv2+y5SyIaUOCGhQ1QREUA3+ohFdEXokaTJqo1UgQkxaStjuztMH4iocaFKS3M3e16mmQh8RnMJEQRIwkPkhEFA0momKkUeMD4Spqi3e3+5nRK1mWu72jPQp33Pfn3bez32+/me8xMwhnmeBZxgsV4DPZ40KIcQBwfi4b0+l0V0dHx/dBDCXl4dbW1kscx/kIAEZlgyKiFUqpB8sGWIMEQZclsIa2LGsuEW3ze7IsgS3LmkBE7wLAyLIHFkJMBYCtADC87Newnsau676FiCEvLBE9CQB3IeLospnSpmnWM8Y2AIDRB0tEBACLlVLPW5Y1ynXdnQDwUslHac55MwBEEdGbQtOu6y6IRqOv9H0ADQ0AN9u2HR/0tGRZ1hgiWu84zu2xWOzH/hYzQojHAeC4vEpE/zDG5tu2/U5/xi164dHS0jKJMbYdEUcAQFcymZzc2dn5y0kah0KIFwFgoe+5vwFgnpRSFx/9kqICm6Y5kzG2GQCGeazZ7zjOlFgsdrAQCxsbG6uGDh2qp2qdLzgdcl13TiwW21PIOLl0igbMOb8FADYhYlWW/LiPMTbVtu3DQca2tbUNS6VSmxFxpk/vZ0ScYdv2/oHA6meLAmxZ1kIiWgMALMCgvYh4Qy7opqamEYZh6KUwyTfGAcbYjEgk8sNAYYsCzDm/DxF1LjxOiCiBiLW+n/eGQqHpK1eu/MP7uxDiQgB4HwDG+PUNw5i9evXq34oBO1Bg5JzrdKHThl82GoaxOJVKvYmIc3xrcU8qlZrR2dn5l/5dR3TXdXcg4kW+QXYNGTJk9qpVq/4sFmy/gcPhMEskEhsRsT6LZ4+1aDoAVVdXb8kC/XFvb++NoVBorCeiHxuKiHYwxnRO7S0mbL+AW1paQoyxNxBRBymvuADQIKXUa/mY5IIGgF0AcJUvouvnNvX09NTH4/FUsWFPGnjZsmXDk8mkLt51Ee/1yFFErJNS6v9OkABov+46KeUiANBl4ymRgqN0W1vbyHQ6rduyCT5LDiPiPNu2dwdZmA+aiDqUUi3ZxsikvAgiXp7jHWki2sUYW5gvdRUEvHTp0otd19VR9FLfC7scx5kVi8W+K8QdAdAPSCmfyDZGpkt6GxEdItqJiFm9T0STAeBIVVXV1UFRPS9wc3PzlYZhvAcAOnV4ZbfjODcVWkH1PeiF1h0PY2yRbdvrcn0wzvkGRLwbEXX9rKu4rCKEWAEA97uue6e3qfArBwJblnVdZiulxvfg1u7u7rq1a9ceLcSzfp1M+fg6AKyXUm4KGkMIobdy5jLGRgcVH6ZpLmGMPUNEXCkVzTVmILBpmlMYY3rdVnsGWFNTU9MQDod1VD7lMqjAmkZDI+I2RDyXiB5WSumWbdBk0IE1Gef8WgAYp5RaP2ikmRedFuCBQnLO79B5OuDUoEdvzkkpY/53lRxwXzAp8KO9IKVs8OqWHLAQ4lMAmAgA86WUW7KBh8Nho7u7+xOtp5sI27Z/6tMrOWDOuW76k0qpC4K8zDmPI2IDEU1XSn1YssBCiAQRHVVK+QuX4/iFEM8BQGNmZ+ODCvBgFB4FBppAtYqHc3yeypQ+3YWHZVmNRCR0xZXNSUTkAMBnRHRvNBr90hN0Si9omaY5K9NE5F3WRHTEMIxr2tvbu7RySa5hzrlCRBMR78nTu+pdCQsAmqWUT5cy8Mt6h5IxNjESiXyRy82c89sQ8TUielQp9UgFOGBBnFFRmnNe8XA2Z1WmdAlH6cqUrkzp//e+KmmpVCutyhqurOFyWsNCCKl5CjjQ+u8iGRE1KaU6M5v4+xDxsp6entp4PK73n08QvWuZSCT0tYdpjLGxkUjkG097qTf/FwDAtKD7WZzzZxFxMRHVK6VezVXF5j091A/qQzV9lxERDwHAVzn64XMQ8XoiSiHiFVLKAxnghxDxMSLS4L/mMERfG9S3976ura0d7z230q0pIm4HAH116dsc7z5P3/4hooOGYYxvb2//fUDAGejZRKRP5YI2AD5njC33H2tyzpcj4pJsd5wzhvXqex2O47R2dHTs8xtrWdatrus+NWgH4nm7/hJSKGhKlxBPXlMrwHk/UYkr/Au+hHyIcvjkzAAAAABJRU5ErkJggg==');
}
.ydc-icon-set{
margin-right: 8px;
background-image:url('data:image/png;base64,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');
}
.ydc-icon-customer{
margin-right: 8px;
background-image:url('data:image/png;base64,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');
}
.ydc-icon-shu{
background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAFd0lEQVR4Xu3dvcsdRRQG8OcBUQvRiKWVnZ1io4IISiSIH4UhmlQxEIhooTa2xr9ACxVMYQIiBlEUNQaNGBEhiqBgYyP4hSAiKkH81iPndS9uNnvvztfOzu6cLd93du7c87sze2bu3h3CjqIiwKJaY42BgRT2ITAQAyksAoU1x3qIgRQWgYHmiMglAO4HcH1T9AcALwF4luQ/qd+N9ZANERWR/QAeBXBBT7F3AdxG8nRKFANZE00ReQLAvQPB/lh7DsmfU6EYSE8kReQ+AI87BvkDANtToRhIJ+oicjeAw44Yq2KKciPJXzzPO6u4gbRCEoixquE9ADtiUQykCWckRhvlJpK/hfYUAwGQCGNl8DaAW0JRqgcRkW0AvgBwUeinuuc8RbmZ5B++dVYPogETkSsBvJMY5Q0At/uiVAsiIteR1Avx1jEiyq0k/3LtKVWCiMhOAEcBvApgF8m/R0R5BcBOV5TqQFoY5zSfWl2XyoFyxwp+U2+pCqQHYxWbHCgvANg9hFINyAaM3Ch3bVolrgLEASMnyiGSB9YNW4sH8cDIiXIVSV0prmstKwAjF8pBko9UBRKBkQPlKMk91YAkwBgb5QjJfVWAJMQYE+Uekk8tHmQEjDaKziG2Fgsjl1n0S6zLSH63aJARMVZxOwFA16ViUATAXpLPLDrtzYCRCuUxkg8ueukkI0YsygGSh4ZWfWc9MZwAIxRlH8kjQxj6/9mCTIjhi+KMMVuQAjBcUbwwZglSEMYQygOuw1R7KJvVkFUgxjqUbSR/crlmdMvMBqRgjF6UEIzZDFkNhn7jVvpxA0m9eyX4KL6HzKBnaPD1rhJdWnkxWKI5sWiQ2jCKHrJqxCgWpFaMIkFqxigOpHaMokAM4780q4gsyzD+T5YnBzGMM2cuk4IYxtnTyMlADKN/Tj8JiGGsX2DJDiIiOwC8BmD1+4zY5Z8xzk+2NuXbuKwgDcbLAM73bWjG8pNhZE17DcPtI5WlhxiGG0aWHmIY7hijgxiGH8aoIIbhjzEaiGGEYYwCYhjhGMlBDCMOIymIYcRjJAMxjDQYSUBERJ8z9RWAC9M1a5Sa9Hkmxd9sl2SmLiLbmwXD80YJZVylk65N+TY9GERELgfw2eqxQ4WizAojasgSEf1FkA5TdxaKMjuMYBAR0Z71NYBLm+egl4YyS4wYkGsAnGqNj/q8qVJQZosRA3IQwMOdC1Yfiv6t70H2vtc61/KzxogBeR/A1T1R6qJcC+DNTCizxwgCaeYdP264yW4KlEVghILsBvDcwBiSE2UxGKEgmu7udRjUc6AsCsMbpJPuOphsbQ3Uzr5SXlN0uyGtO/pnZC5vJFcZr5m6iHTTXZd2joGiGPtJ+u7z4dLeScv4gvSluy5vICXKYjFChqx16a4ryh6Sv2thEQkZvhaN4QXikO66oOhDwHRnsxCUxWP4griku2OhVIHhC+Ka7oaiHANwcc/J1WA4gwSkuyEoVwA42UGpCsMHJCTdjUWpDsMHJDTdDUHR7YfeAvAQyaddKlhSGad5iIjEpLsu8epmX8HPm3J5sZLLDIIkSnddYnAGissJSyzjArILwPMjv/lPAWiW9STJz0d+raKrdwFJme6ugvFrk1G9rrcPkfyy6ChlbNxGkMTprm7eqL1AEU6SVBQ7OhEYAolJd/8EoPsEKsAxkjos2TEQgSEQ33T3WwDHm55wguRpE/CLwBDIULqrk7cPW0PRRyR1BwA7AiOwFmRDuqs3OOg+rzoUHSf5feBr22k9EdgE0l7d/aTVC04NbY5okQ6PwCYQ3SPp3CYt/Sb8JexMnwgMzkN8KrOy8REwkPgYJq3BQJKGM74yA4mPYdIaDCRpOOMrM5D4GCat4V8eT/mDX5WgOQAAAABJRU5ErkJggg==');
width: 35px;
height: 35px;
margin:0 auto;
display: block;
border: none;
background-repeat: no-repeat;
background-position: center;
background-size: 35px;
margin-bottom:10px;
}

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

@ -0,0 +1 @@
article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block;}audio,canvas,video{display:inline-block;}audio:not([controls]){display:none;height:0;}[hidden]{display:none;}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;}body{margin:0;}a:focus{outline:thin dotted;}a:active,a:hover{outline:0;}h1{font-size:2em;margin:0.67em 0;}abbr[title]{border-bottom:1px dotted;}b,strong{font-weight:bold;}dfn{font-style:italic;}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0;}mark{background:#ff0;color:#000;}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em;}pre{white-space:pre-wrap;}q{quotes:"\201C" "\201D" "\2018" "\2019";}small{font-size:80%;}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;}sup{top:-0.5em;}sub{bottom:-0.25em;}img{border:0;}svg:not(:root){overflow:hidden;}figure{margin:0;}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em;}legend{border:0;padding:0;}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0;}button,input{line-height:normal;}button,select{text-transform:none;}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;}button[disabled],html input[disabled]{cursor:default;}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0;}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none;}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;}textarea{overflow:auto;vertical-align:top;}table{border-collapse:collapse;border-spacing:0;}

@ -0,0 +1,50 @@
@CHARSET "UTF-8";
.wrapper .sign-in-htm,
.wrapper .sign-out-htm,
.wrapper .sign-up-htm{
top:0;
left:0;
right:0;
bottom:0;
position:absolute;
-webkit-transform:rotateY(180deg);
-moz-transform:rotateY(180deg);
-ms-transform:rotateY(180deg);
transform:rotateY(180deg);
-webkit-backface-visibility:hidden;
-moz-backface-visibility:hidden;
-ms-backface-visibility:hidden;
backface-visibility:hidden;
-webkit-transition:all .4s linear;
-moz-transition:all .4s linear;
transition:all .4s linear;
}
.wrapper{
min-height:345px;
position:relative;
/*-webkit-perspective:1000px;
perspective:1000px;*/
-webkit-transform-style:preserve-3d;
transform-style:preserve-3d;
}
.sign-in:checked + .sign-up + .sign-out + .wrapper .sign-in-htm{
-webkit-transform:rotate(0);
-moz-transform:rotate(0);
-ms-transform:rotate(0);
transform:rotate(0);
}
.sign-out:checked + .wrapper .sign-out-htm{
-webkit-transform:rotate(0);
-moz-transform:rotate(0);
-ms-transform:rotate(0);
transform:rotate(0);
}
.sign-up:checked + .sign-out + .wrapper .sign-up-htm{
-webkit-transform:rotate(0);
-moz-transform:rotate(0);
-ms-transform:rotate(0);
transform:rotate(0);
}

@ -0,0 +1,5 @@
@charset "UTF-8";/*!
* smallPop 0.1.2 | https://github.com/silvio-r/spop
* Copyright (c) 2015 Sílvio Rosa @silvior_
* MIT license
*/.spop-container{z-index:2000;position:fixed}.spop-container,.spop-container *,.spop-container :after,.spop-container :before{box-sizing:border-box}.spop--top-left{top:0;left:0}.spop--top-left .spop{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}.spop--top-center{top:0;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.spop--top-center .spop{-webkit-transform-origin:50% 0;-ms-transform-origin:50% 0;transform-origin:50% 0}.spop--top-right{top:0;right:0}.spop--top-right .spop{-webkit-transform-origin:100% 0;-ms-transform-origin:100% 0;transform-origin:100% 0}.spop--center{top:50%;left:50%;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0)}.spop--center .spop{-webkit-transform-origin:50% 0;-ms-transform-origin:50% 0;transform-origin:50% 0}.spop--bottom-left{bottom:0;left:0}.spop--bottom-left .spop{-webkit-transform-origin:0 100%;-ms-transform-origin:0 100%;transform-origin:0 100%}.spop--bottom-center{bottom:0;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.spop--bottom-center .spop{-webkit-transform-origin:50% 100%;-ms-transform-origin:50% 100%;transform-origin:50% 100%}.spop--bottom-right{bottom:0;right:0}.spop--bottom-right .spop{-webkit-transform-origin:100% 100%;-ms-transform-origin:100% 100%;transform-origin:100% 100%}@media screen and (max-width:30em){.spop--bottom-center,.spop--bottom-left,.spop--bottom-right,.spop--top-center,.spop--top-left,.spop--top-right{top:auto;bottom:0;left:0;right:0;margin-left:0;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}.spop--bottom-center .spop,.spop--bottom-left .spop,.spop--bottom-right .spop,.spop--top-center .spop,.spop--top-left .spop,.spop--top-right .spop{-webkit-transform-origin:50% 100%;-ms-transform-origin:50% 100%;transform-origin:50% 100%}.spop{border-bottom:1px solid rgba(0,0,0,.15)}}.spop{position:relative;min-height:56px;line-height:1.25;font-size:14px;-webkit-transform:translateZ(0);transform:translateZ(0)}@media screen and (min-width:30em){.spop{border-radius:2px;width:320px;margin:.7em}}.spop--error,.spop--info,.spop--success,.spop--warning{color:#fff;background-color:#454A56}@-webkit-keyframes spopIn{0%{-webkit-transform:scale(.2,.2);transform:scale(.2,.2)}95%{-webkit-transform:scale(1.1,1.1);transform:scale(1.1,1.1)}100%{-webkit-transform:scale(1,1);transform:scale(1,1)}}@keyframes spopIn{0%{-webkit-transform:scale(.2,.2);transform:scale(.2,.2)}95%{-webkit-transform:scale(1.1,1.1);transform:scale(1.1,1.1)}100%{-webkit-transform:scale(1,1);transform:scale(1,1)}}@-webkit-keyframes spopOut{0%{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1)}20%{-webkit-transform:scale(1.1,1.1);transform:scale(1.1,1.1)}100%{opacity:0;-webkit-transform:scale(0,0);transform:scale(0,0)}}@keyframes spopOut{0%{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1)}20%{-webkit-transform:scale(1.1,1.1);transform:scale(1.1,1.1)}100%{opacity:0;-webkit-transform:scale(0,0);transform:scale(0,0)}}.spop--out{-webkit-animation:spopOut .4s ease-in-out;animation:spopOut .4s ease-in-out}.spop--in{-webkit-animation:spopIn .4s ease-in-out;animation:spopIn .4s ease-in-out}.spop-body{padding:1.4em}.spop-body p{margin:0}.spop-body a{color:#fff;text-decoration:underline}.spop-body a:hover{color:rgba(255,255,255,.8);text-decoration:none}.spop-title{margin-top:0;margin-bottom:.25em;color:#fff}.spop-close{position:absolute;right:0;top:0;height:32px;width:32px;padding-top:7px;padding-right:7px;font-size:22px;font-weight:700;text-align:right;line-height:.6;color:#fff;opacity:.5}.spop-close:hover{opacity:.7;cursor:pointer}.spop-icon{position:absolute;top:13px;left:16px;width:30px;height:30px;border-radius:50%;-webkit-animation:spopIn .4s .4s ease-in-out;animation:spopIn .4s .4s ease-in-out}.spop-icon:after,.spop-icon:before{content:"";position:absolute;display:block}.spop-icon+.spop-body{padding-left:4.2em}.spop-icon--error,.spop-icon--info{border:2px solid #3a95ed}.spop-icon--error:before,.spop-icon--info:before{top:5px;left:11px;width:4px;height:4px;background-color:#3a95ed}.spop-icon--error:after,.spop-icon--info:after{top:12px;left:11px;width:4px;height:9px;background-color:#3a95ed}.spop-icon--error{border-color:#ff5656}.spop-icon--error:before{top:16px;background-color:#ff5656}.spop-icon--error:after{top:5px;background-color:#ff5656}.spop-icon--success{border:2px solid #2ecc54}.spop-icon--success:before{top:7px;left:7px;width:13px;height:8px;border-bottom:3px solid #2ecc54;border-left:3px solid #2ecc54;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.spop-icon--warning{border:2px solid #fcd000}.spop-icon--warning:before{top:7px;left:7px;width:0;height:0;border-style:solid;border-color:transparent transparent #fcd000;border-width:0 6px 10px}

@ -0,0 +1,93 @@
@CHARSET "UTF-8";
.pt {
position: absolute;
text-align:left;
background: none repeat scroll 0 0 #FFFFFF;
border: 1px solid #CFCFCF;
box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.1);
z-index: 2209;
width: auto;
height:auto;
display:none;
}
.pt .cont {
height: auto;
overflow-y: auto;
background-color: #FFFFFF;
padding: 10px;
}
.pt .out, .pt .in {
display: block;
font-family: simsun;
font-size: 0;
height: 0;
overflow: visible;
position: absolute;
width: 0;
}
/*************up*******************/
.pt-up .out, .pt-up .in{
border-style: dashed dashed solid;
}
.pt-up .out {
border-color: transparent transparent #CFCFCF;
border-width: 0 7px 8px;
left: 28px;
top: -8px;
}
.pt-up .in {
border-color: transparent transparent #FFFFFF;
border-width: 0 6px 7px;
left: 29px;
top: -7px;
}
/*************right****************/
.pt-right .out, .pt-right .in {
border-style: dashed dashed dashed solid;
}
.pt-right .out {
border-color: transparent transparent transparent #CFCFCF;
border-width: 8px 0 7px 7px;
right: -7px;
top: 28px;
}
.pt-right .in {
border-color: transparent transparent transparent #FFFFFF;
border-width: 7px 0 6px 6px;
right: -6px;
top: 29px;
}
/*************down*****************/
.pt-down .out, .pt-down .in {
border-style: solid dashed dashed;
}
.pt-down .out {
border-color: #CFCFCF transparent transparent;
border-width: 8px 7px 0;
bottom: -8px;
left: 28px;
top: auto;
}
.pt-down .in {
border-color: #FFFFFF transparent transparent;
border-width: 7px 6px 0;
bottom: -7px;
left: 29px;
top: auto;
}
/*************left*****************/
.pt-left .out, .pt-left .in {
border-style: dashed solid dashed dashed;
}
.pt-left .out {
border-color: transparent #CFCFCF transparent transparent;
border-width: 7px 8px 7px 0;
left: -8px;
top: 28px;
}
.pt-left .in {
border-color: transparent #FFFFFF transparent transparent;
border-width: 6px 7px 6px 0;
left: -7px;
top: 29px;
}

@ -0,0 +1,74 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="verify_login.jsp" %><%--包含验证登陆的代码--%>
<!DOCTYPE html>
<html>
<title>修改用户信息</title>
<head>
<meta charset="UTF-8">
<link type="text/css" rel="stylesheet" href="/air_ticket_book/index/css/core.css">
<link type="text/css" rel="stylesheet" href="/air_ticket_book/index/css/home.css">
</head>
<body>
<div class="ydc-content-slide ydc-body">
<div class="ydc-flex">
<div class="ydc-column ydc-column-8">
<div class="ydc-release-content">
<div class="ydc-tabPanel ydc-tabPanel-release">
<div class="ydc-release-tab-head">
<ul>
<li class="hit">帐号设置</li>
</ul>
</div>
<div class="ydc-panes">
<form action="../upload_img" enctype="multipart/form-data" method="post">
<div class="ydc-reg-form-class ydc-reg-form-reg"
style="margin-top: 40px;">
<div class="ydc-reg-form-group clearfix">
<label>姓名:</label>
<div class="ydc-reg-form-input">
<input type="text" id="user4"
class="ydc-form-control" autocomplete="off">
</div>
</div>
<div class="ydc-reg-form-group clearfix">
<label>电话:</label>
<div class="ydc-reg-form-input">
<input type="text" id="user4"
class="ydc-form-control" autocomplete="off">
</div>
</div>
<div class="ydc-reg-form-group clearfix">
<label>工作单位:</label>
<div class="ydc-reg-form-input">
<input type="text" id="user4"
class="ydc-form-control" autocomplete="off">
</div>
</div>
</div>
</div>
<div class="ydc-reg-form-group clearfix"
style="margin-top: 40px;">
<div class="ydc-reg-form-button" style="margin-left: 255px;">
<a class="btn fl" >保存</a>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 434 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 512 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 502 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 171 KiB

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save