feat: 添加静态资源文件和实体类
添加了多个图片、音频文件和CSS样式文件,包括QQ、微信相关图片和游戏素材。同时新增了跟进方式实体类gjfs.java和路径工具类PathUtils.java,用于项目功能扩展。 [新增文件包括] - 图片资源:qq.png, wx.png, logo.jpg等 - 游戏素材:bg.png, CRM.png等 - 实体类:com/xzw/entity/gjfs.java - 工具类:com/xzw/utils/PathUtils.java
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<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.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v8.5"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
|
||||
<attributes>
|
||||
<attribute name="owner.project.facets" value="java"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="output" path="build/classes"/>
|
||||
</classpath>
|
||||
@@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>mycrm</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>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<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,3 @@
|
||||
eclipse.preferences.version=1
|
||||
encoding//WebContent/static/css/styles.css=UTF-8
|
||||
encoding/<project>=UTF-8
|
||||
@@ -0,0 +1,10 @@
|
||||
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.reportPreviewFeatures=warning
|
||||
org.eclipse.jdt.core.compiler.release=enabled
|
||||
org.eclipse.jdt.core.compiler.source=1.8
|
||||
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
|
||||
<wb-module deploy-name="mycrm">
|
||||
<wb-resource deploy-path="/" source-path="/WebContent" tag="defaultRootSource"/>
|
||||
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
|
||||
<property name="context-root" value="mycrm"/>
|
||||
<property name="java-output-path" value="/mycrm/build/classes"/>
|
||||
</wb-module>
|
||||
</project-modules>
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<faceted-project>
|
||||
<fixed facet="jst.web"/>
|
||||
<fixed facet="java"/>
|
||||
<fixed facet="wst.jsdt.web"/>
|
||||
<installed facet="jst.web" version="3.1"/>
|
||||
<installed facet="wst.jsdt.web" version="1.0"/>
|
||||
<installed facet="java" version="1.8"/>
|
||||
</faceted-project>
|
||||
@@ -0,0 +1 @@
|
||||
org.eclipse.wst.jsdt.launching.baseBrowserLibrary
|
||||
@@ -0,0 +1 @@
|
||||
Window
|
||||
@@ -0,0 +1,3 @@
|
||||
Manifest-Version: 1.0
|
||||
Class-Path:
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
<?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_3_1.xsd" id="WebApp_ID" version="3.1">
|
||||
<display-name>mycrm</display-name>
|
||||
<welcome-file-list>
|
||||
<welcome-file>login.jsp</welcome-file>
|
||||
</welcome-file-list>
|
||||
</web-app>
|
||||
@@ -0,0 +1,37 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<title>HTML5超级玛丽</title>
|
||||
<link rel="shortcut icon" href=favicon.png />
|
||||
<link rel=stylesheet type="text/css" href="${basePath}static/cjml/VNkyVaVxUV.css">
|
||||
<script type="text/javascript" src="${basePath}static/cjml/jquery.js"></script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<h4>方向键:移动 S键:跳跃/进入 A键:快跑/射击</h4>
|
||||
<div class=spacing></div>
|
||||
<div class=main>
|
||||
<canvas id=canvas width=640 height=480>
|
||||
<p style="text-align: center;">糟糕!您的浏览器不支持HTML5 Canvas,玩不了,请尝试用Firefox、Chrome、IE9浏览器</p>
|
||||
</canvas>
|
||||
<div class=spacing></div>
|
||||
</div>
|
||||
<script src="${basePath}static/cjml/wNGu2CtEMx.js"></script>
|
||||
<script src="${basePath}static/cjml/QAuIByrkL.js"></script>
|
||||
<script>$(document).ready(function() { new Enjine.Application().Initialize(new Mario.LoadingState(), 320, 240) });</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,26 @@
|
||||
<%@ page language="java" contentType="text/html; charset=utf-8"
|
||||
pageEncoding="utf-8"%>
|
||||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<title>HTML5 Canvas实现会跳舞的时间动画DEMO演示</title>
|
||||
<style>
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
border: none;
|
||||
}
|
||||
#zzsc {
|
||||
width: 920px;
|
||||
margin: 300px auto;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript" src="${basePath}static/dancetime/jquery-1.8.3.min.js"></script>
|
||||
<script type="text/javascript" src="${basePath}static/dancetime/zzsc.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="zzsc"></div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,53 @@
|
||||
<%@ page language="java" contentType="text/html; charset=utf-8"
|
||||
pageEncoding="utf-8"%>
|
||||
<%@page import="java.text.SimpleDateFormat,java.util.Date"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>待开发界面</title>
|
||||
<link rel="stylesheet" href="${basePath}static/css/gdwz/style.css">
|
||||
<script type="text/javascript" src='${basePath}static/js/gdwz/jquery.min.js'></script>
|
||||
<script type="text/javascript" src="${basePath}static/js/gdwz/index.js"></script>
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<form style="float:right;">
|
||||
<input type="BUTTON" name="FullScreen" value="全屏显示" onClick="window.open(document.location, 'big', 'fullscreen=yes')">
|
||||
<input type="BUTTON" name="FullScreen" value="关闭窗口" onClick="window.close(document.location, 'small', 'fullscreen=no')">
|
||||
</form>
|
||||
<div style="margin: auto; text-align: center; margin-bottom: 30px;">
|
||||
<a style="font-size:50px;color:red;"><span class="dateSpan" style="font-style: italic;color: red;"><%=new SimpleDateFormat("yyyy年MM月dd日").format(new Date()) %> <%=new SimpleDateFormat("E").format(new Date()) %></span> 此地正在挖掘中...</a>
|
||||
|
||||
</div>
|
||||
<div class="hide"></div>
|
||||
<div class="choose" style="margin: auto; width: 1000px; display: block;">
|
||||
<div style="line-height: 50px; float: left;">每日一思:</div>
|
||||
<div class="options">
|
||||
<span class="button"> <div class="arrow-down"></div></span>
|
||||
<ul id="scroller">
|
||||
<li>主动出击,抢得先机,提高效率</li>
|
||||
<li>今日的质量,明日的市场</li>
|
||||
<li>团队共作战人人出业绩</li>
|
||||
<li>一个疏忽百人忙,人人细心更顺畅</li>
|
||||
<li>用心服务,保证服务,品质满意客户需求</li>
|
||||
<li>找方法才能成功,找借口只会失败</li>
|
||||
<li>优服务高效益大发展</li>
|
||||
<li>爱岗敬业求实创新用心服务勇争一流</li>
|
||||
<li>今日看客,明日买主</li>
|
||||
<li>技巧提升,业绩攀升,持之以恒,业绩骄人</li>
|
||||
<li>全心全意为客户服务</li>
|
||||
<li>创一流服务品牌,树完美企业形象</li>
|
||||
<li>全员齐动,风起云涌,每日拜访,铭记心中</li>
|
||||
<li>客户至上,技术争先</li>
|
||||
<li>要用我们的耐心诚心热情为客户服务</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="text"></div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,24 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>HTML5/CSS3简易版俄罗斯方块游戏DEMO演示</title>
|
||||
<link rel="stylesheet" href="${basePath}static/elsfk/css/style.css" media="screen" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="tetris">
|
||||
<div id="info">
|
||||
<div id="next_shape">asdfasdf</div>
|
||||
<p id="level">Level: <span></span></p>
|
||||
<p id="lines">Lines: <span></span></p>
|
||||
<p id="score">Score: <span></span></p>
|
||||
<p id="time">Time: <span></span></p>
|
||||
</div>
|
||||
<div id="canvas"></div>
|
||||
</div>
|
||||
<script src="${basePath}static/elsfk/js/index.js"></script>
|
||||
<p style="color:red;font-size:18px;font-weight:bold">方向键进行移动和翻转</p>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,4 @@
|
||||
22 serialization::archive 19 0 0 0 0 2 1 2
|
||||
0 0 2 0 109 /volume1/资料/A--开发--A/JAVA 开发/JAVA项目/MyCrm项目开发/20250115/mycrm/WebContent/file/logo.jpg 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 19 1970-01-01 00:00:00 19 2025-01-15 01:28:14 19 2021-08-24 03:22:54 0.000000000e+00 0 0 0 0 0 0 0 180 180 7681 0 0 1 0 0 0 0 0 0 0 0 3 jpg 1 0 0 0 0 6 1 1
|
||||
1 0 0 -99 0 0 0 0 0 10 1 1
|
||||
2 0 0 0 0 0 0 0.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00
|
||||
@@ -0,0 +1,4 @@
|
||||
22 serialization::archive 19 0 0 0 0 2 1 2
|
||||
0 0 2 0 113 /volume1/资料/A--开发--A/JAVA 开发/JAVA项目/MyCrm项目开发/20250115/mycrm/WebContent/file/nofujian.jpg 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 19 1970-01-01 00:00:00 19 2025-01-15 01:28:14 19 2021-09-06 00:19:39 0.000000000e+00 0 0 0 0 0 0 0 1920 1080 134207 0 0 0 0 0 0 0 0 0 0 0 3 jpg 1 0 0 0 0 6 1 1
|
||||
1 0 0 -99 0 0 0 0 0 10 1 1
|
||||
2 0 0 0 0 0 0 0.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00
|
||||
@@ -0,0 +1,4 @@
|
||||
22 serialization::archive 19 0 0 0 0 2 1 2
|
||||
0 0 2 0 113 /volume1/资料/A--开发--A/JAVA 开发/JAVA项目/MyCrm项目开发/20250115/mycrm/WebContent/file/nofujian.png 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 19 1970-01-01 00:00:00 19 2025-01-15 01:28:14 19 2021-09-06 00:22:59 0.000000000e+00 0 0 0 0 0 0 0 1920 1080 44658 0 0 0 0 0 0 0 0 0 0 0 3 png 1 0 0 0 0 6 1 1
|
||||
1 0 0 -99 0 0 0 0 0 10 1 1
|
||||
2 0 0 0 0 0 0 0.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00
|
||||
@@ -0,0 +1,4 @@
|
||||
22 serialization::archive 19 0 0 0 0 2 1 2
|
||||
0 0 2 0 107 /volume1/资料/A--开发--A/JAVA 开发/JAVA项目/MyCrm项目开发/20250115/mycrm/WebContent/file/qq.png 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 19 1970-01-01 00:00:00 19 2025-01-15 01:28:14 19 2021-10-13 00:00:00 0.000000000e+00 0 0 0 0 0 0 0 531 608 203951 0 0 0 0 0 0 0 0 0 0 0 3 png 1 0 0 0 0 6 1 1
|
||||
1 0 0 -99 0 0 0 0 0 10 1 1
|
||||
2 0 0 0 0 0 0 0.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00
|
||||
@@ -0,0 +1,4 @@
|
||||
22 serialization::archive 19 0 0 0 0 2 1 2
|
||||
0 0 2 0 112 /volume1/资料/A--开发--A/JAVA 开发/JAVA项目/MyCrm项目开发/20250115/mycrm/WebContent/file/qq_logo.png 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 19 1970-01-01 00:00:00 19 2025-01-15 01:28:14 19 2021-10-12 00:06:47 0.000000000e+00 0 0 0 0 0 0 0 22 56 1470 0 0 0 0 0 0 0 0 0 0 0 3 png 1 0 0 0 0 6 1 1
|
||||
1 0 0 -99 0 0 0 0 0 10 1 1
|
||||
2 0 0 0 0 0 0 0.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00
|
||||
@@ -0,0 +1,4 @@
|
||||
22 serialization::archive 19 0 0 0 0 2 1 2
|
||||
0 0 2 0 113 /volume1/资料/A--开发--A/JAVA 开发/JAVA项目/MyCrm项目开发/20250115/mycrm/WebContent/file/touxiang.jpg 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 19 1970-01-01 00:00:00 19 2025-01-15 01:28:14 19 2021-09-05 06:20:49 0.000000000e+00 0 0 0 0 0 0 0 1080 1080 257172 0 0 0 0 0 0 0 0 0 0 0 3 jpg 1 0 0 0 0 6 1 1
|
||||
1 0 0 -99 0 0 0 0 0 10 1 1
|
||||
2 0 0 0 0 0 0 0.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00
|
||||
@@ -0,0 +1,4 @@
|
||||
22 serialization::archive 19 0 0 0 0 2 1 2
|
||||
0 0 2 0 107 /volume1/资料/A--开发--A/JAVA 开发/JAVA项目/MyCrm项目开发/20250115/mycrm/WebContent/file/wx.png 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 19 1970-01-01 00:00:00 19 2025-01-15 01:28:14 19 2021-10-12 02:25:10 0.000000000e+00 0 0 0 0 0 0 0 799 792 198346 0 0 0 0 0 0 0 0 0 0 0 3 png 1 0 0 0 0 6 1 1
|
||||
1 0 0 -99 0 0 0 0 0 10 1 1
|
||||
2 0 0 0 0 0 0 0.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00
|
||||
@@ -0,0 +1,4 @@
|
||||
22 serialization::archive 19 0 0 0 0 2 1 2
|
||||
0 0 2 0 112 /volume1/资料/A--开发--A/JAVA 开发/JAVA项目/MyCrm项目开发/20250115/mycrm/WebContent/file/wx_logo.png 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 19 1970-01-01 00:00:00 19 2025-01-15 01:28:14 19 2021-10-12 01:56:38 0.000000000e+00 0 0 0 0 0 0 0 28 56 2792 0 0 0 0 0 0 0 0 0 0 0 3 png 1 0 0 0 0 6 1 1
|
||||
1 0 0 -99 0 0 0 0 0 10 1 1
|
||||
2 0 0 0 0 0 0 0.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00
|
||||
|
After Width: | Height: | Size: 7.5 KiB |
|
After Width: | Height: | Size: 131 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 199 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 251 KiB |
|
After Width: | Height: | Size: 194 KiB |
|
After Width: | Height: | Size: 2.7 KiB |
@@ -0,0 +1,23 @@
|
||||
<%@ page language="java" contentType="text/html; charset=utf-8"
|
||||
pageEncoding="utf-8"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>HTML5版Flappy Bird游戏在线演示</title>
|
||||
<style>
|
||||
#game_div, p {
|
||||
width: 400px;
|
||||
margin: auto;
|
||||
margin-top: 20px;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript" src="${basePath}static/flappybird/phaser.min.js"></script>
|
||||
<script type="text/javascript" src="${basePath}static/flappybird/main.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="game_div"> </div>
|
||||
<p>敲击“空格键” 进行跳跃</p>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,80 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<!DOCTYPE HTML>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>原生H5页面模拟APP侧滑删除效果</title>
|
||||
<meta name="format-detection" content="telephone=no, email=no" />
|
||||
<meta content="width=device-width, initial-scale=1,maximum-scale=1,maximum-scale=1, user-scalable=no" name="viewport">
|
||||
<style>
|
||||
*{ margin:0; padding:0; list-style:none}
|
||||
body{ font-size:0.12rem; color:#666;}
|
||||
.ui-loader{ display:none}
|
||||
.my-address-list{overflow: hidden;}
|
||||
.my-address-list .touch{background-color: #fff;border-bottom:0.01rem solid #bfc0c0;border-top:0.01rem solid #bfc0c0;margin-top:0.12rem;overflow: hidden;position: relative;}
|
||||
.my-address-list .item.selected{-webkit-transform: translate(-18%,0);-webkit-transition:all 0.3s linear;}
|
||||
.my-address-list .item{overflow: hidden;padding:0 0.15rem;width: 120%;-webkit-transition:all 0.3s linear;}
|
||||
.my-address-list .item a{display:block;float: left; background-color: #ff0000;color: #fff;width: 20%;margin-left: 0.16rem;font-size: 0.14rem;text-align: center; text-decoration:none;}
|
||||
.my-address-list .item .list{overflow: hidden;width: 2.7rem;font-size: 0.14rem;float: left;}
|
||||
.my-address-list .item .list .name-phone{overflow: hidden;margin-top:0.05rem;}
|
||||
.my-address-list .item .list .name-phone span{display: inline-block;}
|
||||
.my-address-list .item .list .name-phone span.name{float: left;}
|
||||
.my-address-list .item .list .name-phone span.phone{float: right;}
|
||||
.my-address-list .item .list .address-info{margin:0.06rem 0;width: 100%;overflow: hidden;white-space: nowrap; text-overflow: ellipsis; -o-text-overflow: ellipsis;}
|
||||
.my-address-list .item .icon2{overflow: hidden;float: left;margin-left:0.05rem;}
|
||||
.my-address-list .item .icon2 i{width: 0.14rem;height: 0.14rem;margin-top:0.15rem;display: inline-block;background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAA0CAYAAACZ8ljPAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpEMjZBRDJENDIwOTgxMUU1QkQ1MjkzQTlGNEU3MTc0OCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpEMjZBRDJENTIwOTgxMUU1QkQ1MjkzQTlGNEU3MTc0OCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkQyNkFEMkQyMjA5ODExRTVCRDUyOTNBOUY0RTcxNzQ4IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkQyNkFEMkQzMjA5ODExRTVCRDUyOTNBOUY0RTcxNzQ4Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+0Y0qkAAAASpJREFUeNq81ksOgjAQANAyXsD7uVJXEjdSjyGuDCQmGo9o9ABYtJAgv3Z+kzQspuG10w4hyQ7ZyhhzMb+w+Tm/G8EAjy39uNnM7qTB/ygk0Rq0mij4M0u10G9JHVpqoe0ZaqGdS6OB9m6pNDrUFqIojCWkUJhKSqAwN4EbhZBJnCiETuRCIWZ1HCjEngEVBcxNo6CA7ScsCpSvBgYlgRiUDMaiLGAMygaGoklVVew/Sv7lxUBqDUYgJnZ6EgFFGh9Z0iMoYqkr9QMUsZK1pCEYGxiKsYAxGBmMxUggBkODWAwFUrBokIpFgRxYMMiFBYGc2CzIjU2CEtgoKIUNgpJYD5TGOqAG1oJaWB2L9+u9cc+rBtbsMNfCxtpCDGvAvRtPP7aSWB0fAQYAnk/ypwazBP8AAAAASUVORK5CYII=) no-repeat center center;background-size: 50%;}
|
||||
.my-address-list .item .mark{background: rgba(0,0,0,0.4);position: absolute;left: 0;top: 0;right: 0;bottom: 0;z-index: 100;text-align: center;}
|
||||
.my-address-list .item .mark span{display: inline-block;padding:0.05rem 0.1rem;color: #fff;border:0.02rem solid #fff;position: absolute;left: 50%;top: 50%;-webkit-transform: translate(-50%,-50%);-moz-transform: translate(-50%,-50%);transform: translate(-50%,-50%);}
|
||||
</style>
|
||||
<script>
|
||||
var fontSize = 100;
|
||||
var elm = document.documentElement;
|
||||
elm.style.fontSize = fontSize * (elm.clientWidth/320) + 'px';
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 代码部分begin -->
|
||||
<div class="my-address-list" id="my-address-list">
|
||||
<div id="cc-loading"><span></span>玩命加载中...</div>
|
||||
</div>
|
||||
<script src="${basePath}static/hddelete/js/jquery.min.js"></script>
|
||||
<script src="${basePath}static/hddelete/js/jquery.mobile-1.3.2.min.js"></script>
|
||||
<script>
|
||||
$(function(){
|
||||
|
||||
document.getElementById('cc-loading').style.display = 'none';
|
||||
for(var i=0;i<10;i++){
|
||||
var cont = '<div class="touch" id="touch'+i+'"><div class="item" userAddressId="1"><div class="list">';
|
||||
cont += '<div class="name-phone"><span class="name">收货人姓名</span>';
|
||||
cont += '<span class="phone">12345678912</span></div>';
|
||||
cont += '<div class="address-info">这里是收货人姓名</div>';
|
||||
cont += '</div><div class="icon2"><i></i></div><a href="javascript:;" class="remove">删除</a></div></div>';
|
||||
$('#my-address-list').append(cont);
|
||||
}
|
||||
$(".item").each(function(){
|
||||
var h = $(this).find(".list").height();
|
||||
$(this).find("a").height(h+"px").css("line-height",h+"px");
|
||||
$(this).find(".icon2").height(h+"px");
|
||||
})
|
||||
$(".item").on("swipeleft",function(){
|
||||
$(this).addClass('selected').parents(".touch").siblings().find(".item").removeClass('selected');
|
||||
$(this).find("a.remove").on("click",function(){
|
||||
var touchId = $(this).parents(".touch").attr("id");
|
||||
//执行删除效果
|
||||
$("#"+touchId).css("border","0");
|
||||
$("#"+touchId).stop().animate({
|
||||
height:"0",
|
||||
margin:"0"
|
||||
},300,function(){
|
||||
$(this).remove();
|
||||
})
|
||||
})
|
||||
}).on("swiperight",function(){
|
||||
$(this).parents(".touch").find(".item").removeClass('selected');
|
||||
})
|
||||
|
||||
})
|
||||
</script>
|
||||
<!-- 代码部分end -->
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,123 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<meta name="apple-touch-fullscreen" content="yes">
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black">
|
||||
<meta name="full-screen" content="yes"><!--UC强制全屏-->
|
||||
<meta name="x5-fullscreen" content="true"><!--QQ强制全屏-->
|
||||
<meta name="browsermode" content="application"><!--UC应用模式-->
|
||||
<meta name="x5-page-mode" content="app"><!--QQ应用模式-->
|
||||
|
||||
<style type="text/css">
|
||||
*{
|
||||
margin: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
canvas {
|
||||
display: block;
|
||||
cursor: none;
|
||||
}
|
||||
</style>
|
||||
<title>你电脑被黑了(点击或按F11全屏)</title>
|
||||
|
||||
<script type="text/javascript">
|
||||
window.onload=function(){
|
||||
var c = document.getElementById("c");
|
||||
var ctx = c.getContext("2d");
|
||||
|
||||
//使画布全屏
|
||||
c.height = window.innerHeight;
|
||||
c.width = window.innerWidth;
|
||||
|
||||
//要掉落的文字
|
||||
var txts = "0123456789";
|
||||
//转换为数组
|
||||
txts = txts.split("");
|
||||
|
||||
var font_size = 16;
|
||||
var columns = c.width/font_size; //计算纵队数
|
||||
|
||||
var drops = [];
|
||||
//初始值
|
||||
for(var x = 0; x < columns; x++)
|
||||
drops[x] = 1;
|
||||
|
||||
//窗体大小发生改变
|
||||
window.onresize = function(){
|
||||
//使绘图区域全屏
|
||||
c.height = window.innerHeight;
|
||||
c.width = window.innerWidth;
|
||||
columns = c.width/font_size; //计算纵队数
|
||||
for(var x = 0; x < columns; x++)
|
||||
drops[x] = 1;
|
||||
}
|
||||
|
||||
//进入全屏
|
||||
function requestFullScreen() {
|
||||
var de = document.documentElement;
|
||||
if (de.requestFullscreen) {
|
||||
de.requestFullscreen();
|
||||
} else if (de.mozRequestFullScreen) {
|
||||
de.mozRequestFullScreen();
|
||||
} else if (de.webkitRequestFullScreen) {
|
||||
de.webkitRequestFullScreen();
|
||||
}
|
||||
}
|
||||
|
||||
//添加点击监听事件(点击全屏)
|
||||
document.body.addEventListener('click',function(){
|
||||
requestFullScreen(); //调用全屏
|
||||
eleImage.requestPointerLock(); // 锁定鼠标
|
||||
},false);
|
||||
|
||||
//绘制下落的文字
|
||||
function draw()
|
||||
{
|
||||
//让背景逐渐由透明到不透明
|
||||
ctx.fillStyle = "rgba(0, 0, 0, 0.05)";
|
||||
ctx.fillRect(0, 0, c.width, c.height);
|
||||
|
||||
ctx.fillStyle = "#0F0"; //文本颜色(绿色)
|
||||
ctx.font = font_size + "px arial";
|
||||
//逐行输出文字
|
||||
for(var i = 0; i < drops.length; i++)
|
||||
{
|
||||
//随机取要输出的文字
|
||||
var text = txts[Math.floor(Math.random()*txts.length)];
|
||||
//输出文字,注意坐标的计算
|
||||
ctx.fillText(text, i*font_size, drops[i]*font_size);
|
||||
|
||||
//如果绘满一屏或随机数大于0.95(此数可自行调整,效果会不同)
|
||||
if(drops[i]*font_size > c.height || Math.random() > 0.95)
|
||||
drops[i] = 0;
|
||||
|
||||
//用于Y轴坐标增加
|
||||
drops[i]++;
|
||||
}
|
||||
}
|
||||
|
||||
setInterval(draw, 33);//定时执行
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<canvas id="c">很抱歉,您的浏览器不支持该功能!</canvas>
|
||||
|
||||
<!-- 百度统计 -->
|
||||
<script>
|
||||
var _hmt = _hmt || [];
|
||||
(function() {
|
||||
var hm = document.createElement("script");
|
||||
hm.src = "https://hm.baidu.com/hm.js?ea4269d8a00e95fdb9ee61e3041a8f98";
|
||||
var s = document.getElementsByTagName("script")[0];
|
||||
s.parentNode.insertBefore(hm, s);
|
||||
})();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,139 @@
|
||||
<%@page contentType="text/html; charset=utf-8"%>
|
||||
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<!DOCTYPE html>
|
||||
<html style="height: 100%">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<link rel="stylesheet" href="${basePath}static/css/styles.css" />
|
||||
<link rel="stylesheet" href="${basePath}static/css/font-awesome-4.7.0/css/font-awesome.min.css" />
|
||||
<script src="${basePath}static/js/jquery.min.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/jquery-validation-1.14.0/jquery.validate.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/jquery-validation-1.14.0/localization/messages_zh.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/click.js"></script>
|
||||
|
||||
<script type="text/javascript" src="${basePath}static/easyui/jquery.easyui.min.js"></script>
|
||||
|
||||
|
||||
|
||||
<style>
|
||||
.masthead:hover {
|
||||
/*图片抖动*/
|
||||
-webkit-animation:bounce 1s .1s ease both;
|
||||
-moz-animation:bounce 1s .1s ease both;
|
||||
|
||||
}
|
||||
@-webkit-keyframes bounce {
|
||||
0% {
|
||||
-webkit-transform:scale(1)
|
||||
}
|
||||
10%, 20% {
|
||||
-webkit-transform:scale(0.8) rotate(-2deg)
|
||||
}
|
||||
30%, 50%, 70%, 90% {
|
||||
-webkit-transform:scale(1.1) rotate(2deg)
|
||||
}
|
||||
40%, 60%, 80% {
|
||||
-webkit-transform:scale(1.1) rotate(-2deg)
|
||||
}
|
||||
100% {
|
||||
-webkit-transform:scale(1) rotate(0)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.masthead:hover {
|
||||
|
||||
/*鼠标划过周围出现阴影*/
|
||||
-webkit-transform: scale(1);
|
||||
-moz-transform: scale(1);
|
||||
transform: scale(1);
|
||||
-moz-box-shadow:0 3px 20px #888;
|
||||
-webkit-box-shadow:0 3px 20px #888;
|
||||
-webkit-transition:.3s;
|
||||
-moz-transition:.3s;
|
||||
-o-transition:.3s;
|
||||
-ms-transition:.3s;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@media screen and (max-width:1000px){
|
||||
|
||||
*{
|
||||
font-size:30px;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
//上传图片按钮事件
|
||||
$("#upload-photo-btn").click(function(){
|
||||
|
||||
});
|
||||
function uploadPhoto(){
|
||||
var action = $("#uploadForm").attr('action');
|
||||
var pos = action.indexOf('Id');
|
||||
if(pos != -1){
|
||||
action = action.substring(0,pos-1);
|
||||
}
|
||||
$("#uploadForm").attr('action',action+'&Id='+$("#set-photo-id").val());
|
||||
$("#uploadForm").submit();
|
||||
setTimeout(function(){
|
||||
var message = $(window.frames["photo_target"].document).find("#message").text();
|
||||
$.messager.alert("消息提醒",message,"info");
|
||||
|
||||
$("#edit_photo").attr("src", "${basePath}user?method=getPhoto_user&Id="+$("#set-photo-id").val());
|
||||
}, 1500)
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body style="height: 100%; margin: 0">
|
||||
<div class="add">
|
||||
<table class="tablelist" style="width: 50%;margin-left:50px">
|
||||
<c:if test="${type == 2}">
|
||||
<tr>
|
||||
<td width="120px">ID</td>
|
||||
<td>${user.id}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="120px">用户名</td>
|
||||
<td>${user.dm}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="120px">姓名</td>
|
||||
<td>${user.name}</td>
|
||||
</tr>
|
||||
|
||||
</c:if>
|
||||
<c:if test="${type == 1}">
|
||||
<tr>
|
||||
<td width="120px">ID</td>
|
||||
<td>${user.id}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="120px">用户名</td>
|
||||
<td>${user.dm}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="120px">姓名</td>
|
||||
<td>${user.name}</td>
|
||||
</tr>
|
||||
</c:if>
|
||||
|
||||
</table>
|
||||
<c:if test="${type == 1}">
|
||||
<h1></h1><br/>
|
||||
<h1>头像:</h1>
|
||||
<img id="edit_photo" alt="照片" style="max-width: 200px; max-height: 200px;margin-left:100px;" title="照片" src="${basePath}user?method=getPhoto_user&ID=${user.id}&TYPE=${type}" class="masthead" />
|
||||
<form id="uploadForm" method="post" enctype="multipart/form-data" action="${basePath}user?method=SetPhoto" target="mainFrame">
|
||||
<!-- StudentServlet?method=SetPhoto -->
|
||||
<input type="hidden" name="Id" id="set-photo-id" value="${user.id}">
|
||||
<input class="easyui-filebox" name="photo" data-options="prompt:'选择照片'" style="width:200px;">
|
||||
<input id="upload-photo-btn" onClick="uploadPhoto()" class="easyui-linkbutton" style="width: 50px; height: 40px;" type="button" value="上传"/>
|
||||
</form>
|
||||
</c:if>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,115 @@
|
||||
<%@page contentType="text/html; charset=utf-8" %>
|
||||
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<title>博力同创CRM客户管理系统 --记录客户跟进记录、团队管理</title>
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<!-- <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=0.5, maximum-scale=2.0, user-scalable=no" /> -->
|
||||
<meta name="viewport" content="width=device-width,user-scalable=no, minimum-scale=0.4, initial-scale=0.8" />
|
||||
<link rel="stylesheet" href="${basePath}static/css/loginnew.css" />
|
||||
<link rel="icon" href="static/img/CRM.png">
|
||||
<!-- 引入 j/query和jquery.cookie-->
|
||||
<script type="text/javascript" src="${basePath}static/js/cookies/jquery-3.5.1.min.js"></script>
|
||||
<script type="text/javascript" src="${basePath}static/js/cookies/jquery.cookie.js"></script>
|
||||
|
||||
|
||||
<!-- 记住代码脚本实现 -->
|
||||
<script type="text/javascript">
|
||||
<!-- 页面一加载完就执行getCookie()方法 -->
|
||||
$(function(){
|
||||
getCookie();
|
||||
})
|
||||
//设置Cookie方法
|
||||
function setCookie(){
|
||||
var username = $('#username').val();
|
||||
var password = $('#password').val();
|
||||
//获取记住密码是否选中
|
||||
var flag = $("#remember").is(":checked");
|
||||
if(flag){//如果选中-->记住密码登录
|
||||
//cookie有效时间7天,也可以设置为永久,把时间去掉就行
|
||||
$.cookie("remember","true",{expires:30});
|
||||
$.cookie("username",username.trim(),{ expires: 30 });
|
||||
$.cookie("password",password.trim(),{ expires: 30 });
|
||||
}else{//如果没选中-->不记住密码登录
|
||||
//设置cookie有效时间-1,直接将浏览器端原先保存的cookie失效
|
||||
$.cookie("remember","false",{expires:-1});
|
||||
$.cookie("password", "",{expires:-1});
|
||||
$.cookie("username", "",{expires:-1});
|
||||
}
|
||||
}
|
||||
//获取cookie方法,自动填充用户名和密码
|
||||
function getCookie(){
|
||||
var remember = $.cookie("remember");
|
||||
//获取cookie中的用户名
|
||||
var username = $.cookie("username");
|
||||
//获取cookie中的登陆密码
|
||||
var password = $.cookie("password");
|
||||
//记住密码为true的话把“记住用户名和密码”复选框勾选住
|
||||
if(remember){
|
||||
$("#remember").attr("checked","true");
|
||||
}
|
||||
//用户名存在的话把用户名填充到用户名文本框
|
||||
if(username!=""){
|
||||
$("#username").val(username);
|
||||
}else{
|
||||
$("#username").val("");
|
||||
}
|
||||
if(password!=""){//密码存在的话把密码填充到密码文本框
|
||||
$("#password").val(password);
|
||||
}else{
|
||||
$("#password").val("");
|
||||
}
|
||||
}
|
||||
//登录按钮点击事件
|
||||
function login(){
|
||||
//调用setCookie()方法
|
||||
setCookie();
|
||||
//发送登陆请求,在此省略
|
||||
}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="login">
|
||||
<div class="title">博力同创CRM客户管理系统</div>
|
||||
<div id="darkbannerwrap"></div>
|
||||
<form action="login" method="post">
|
||||
<div class="u">
|
||||
<input type="text" class="uname" name="userName" id="username" placeholder="用户名" required oninvalid="setCustomValidity('用户名不能为空!');" oninput="setCustomValidity('');" />
|
||||
</div>
|
||||
<hr class="hr15">
|
||||
<div class="p">
|
||||
<input type="password" class="pwd" name="password" id="password" placeholder="密码" required oninvalid="setCustomValidity('密码不能为空!');" oninput="setCustomValidity('');" />
|
||||
</div>
|
||||
<hr class="hr15">
|
||||
<div class="r">
|
||||
<span style="padding-right:10px">记住我</span>
|
||||
<input type="checkbox" class="remember" name="remember" id="remember" />
|
||||
</div>
|
||||
<hr class="hr15">
|
||||
<div class="s">
|
||||
<select name="type">
|
||||
<option value="">请选择登陆类型</option>
|
||||
<option value="1" selected="selected">员工</option>
|
||||
<option value="2" >管理员</option>
|
||||
</select>
|
||||
</div>
|
||||
<hr class="hr15">
|
||||
<div class="l">
|
||||
<button type="submit" onclick="login()">登录</button>
|
||||
</div>
|
||||
<hr class="hr15">
|
||||
<div class="tips">
|
||||
${error}
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
</div>
|
||||
<div class="Copyright" >Copyright © 2021 <a href="https://www.bltcxj.cn/" style="color:blue;text-decoration: none;">新疆博力同创</a> 版权所有</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,193 @@
|
||||
<%@page contentType="text/html; charset=utf-8" %>
|
||||
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="user-scalable=no">
|
||||
<title>CRM客户管理系统 --记录客户跟进记录、团队管理</title>
|
||||
<link rel="stylesheet" href="${basePath}static/css/login.css" />
|
||||
<!-- 引入 j/query和jquery.cookie-->
|
||||
<script type="text/javascript" src="${basePath}static/js/cookies/jquery-3.5.1.min.js"></script>
|
||||
<script type="text/javascript" src="${basePath}static/js/cookies/jquery.cookie.js"></script>
|
||||
<script src="${basePath}static/js/vector.js"></script>
|
||||
<script type="text/javascript" src="${basePath}static/js/web-zdzh/current-device.min.js"></script>
|
||||
<script type="text/javascript" src="${basePath}static/js/web-zdzh/defalut.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- 记住代码脚本实现 -->
|
||||
<script type="text/javascript">
|
||||
<!-- 页面一加载完就执行getCookie()方法 -->
|
||||
$(function(){
|
||||
getCookie();
|
||||
})
|
||||
//设置Cookie方法
|
||||
function setCookie(){
|
||||
var username = $('#username').val();
|
||||
var password = $('#password').val();
|
||||
//获取记住密码是否选中
|
||||
var flag = $("#remember").is(":checked");
|
||||
if(flag){//如果选中-->记住密码登录
|
||||
//cookie有效时间7天,也可以设置为永久,把时间去掉就行
|
||||
$.cookie("remember","true",{expires:30});
|
||||
$.cookie("username",username.trim(),{ expires: 30 });
|
||||
$.cookie("password",password.trim(),{ expires: 30 });
|
||||
}else{//如果没选中-->不记住密码登录
|
||||
//设置cookie有效时间-1,直接将浏览器端原先保存的cookie失效
|
||||
$.cookie("remember","false",{expires:-1});
|
||||
$.cookie("password", "",{expires:-1});
|
||||
$.cookie("username", "",{expires:-1});
|
||||
}
|
||||
}
|
||||
//获取cookie方法,自动填充用户名和密码
|
||||
function getCookie(){
|
||||
var remember = $.cookie("remember");
|
||||
//获取cookie中的用户名
|
||||
var username = $.cookie("username");
|
||||
//获取cookie中的登陆密码
|
||||
var password = $.cookie("password");
|
||||
//记住密码为true的话把“记住用户名和密码”复选框勾选住
|
||||
if(remember){
|
||||
$("#remember").attr("checked","true");
|
||||
}
|
||||
//用户名存在的话把用户名填充到用户名文本框
|
||||
if(username!=""){
|
||||
$("#username").val(username);
|
||||
}else{
|
||||
$("#username").val("");
|
||||
}
|
||||
if(password!=""){//密码存在的话把密码填充到密码文本框
|
||||
$("#password").val(password);
|
||||
}else{
|
||||
$("#password").val("");
|
||||
}
|
||||
}
|
||||
//登录按钮点击时间
|
||||
function login(){
|
||||
//调用setCookie()方法
|
||||
setCookie();
|
||||
//发送登陆请求,在此省略
|
||||
}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<header class="header">
|
||||
<!-- 动画展示区域 -->
|
||||
<div id="victor-container"><div id="victor-output"></div></div>
|
||||
|
||||
<div class="welcome">
|
||||
<p class="wel_p">— 欢迎使用 —</p>
|
||||
<p><img class="web-title" src="static/img/web_title1.png" alt="CRM客户管理系统" draggable="false" onerror="onerror=null;src='static/img/web_title1.png'"></p>
|
||||
</div>
|
||||
</header>
|
||||
<div class="login">
|
||||
<div class="title">
|
||||
<img alt="logo.png" src="static/img/CRM.png">
|
||||
<span class="tt">CRM客户管理系统</span>
|
||||
</div>
|
||||
<form action="login" method="post">
|
||||
<div class="u">
|
||||
<span style="float:left;margin-bottom:10px;font-size:40px;">用户名</span>
|
||||
<input type="text" class="uname" name="userName" id="username" placeholder="" />
|
||||
</div>
|
||||
<div class="p">
|
||||
<span style="float:left;margin-bottom:10px;font-size:40px;">密 码</span>
|
||||
<input type="password" class="pwd" name="password" id="password" placeholder="" />
|
||||
<div class="conceal" id='conceal'></div>
|
||||
</div>
|
||||
<div class="r">
|
||||
<a style="float:left;">记住我 </a>
|
||||
<input type="checkbox" class="remember" name="remember" id="remember" />
|
||||
</div>
|
||||
<div class="s">
|
||||
<select name="type">
|
||||
<option value="">请选择登陆类型</option>
|
||||
<option value="1" selected="selected">员工</option>
|
||||
<option value="2" >管理员</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="l">
|
||||
<button type="submit" onclick="login()">登录</button>
|
||||
</div>
|
||||
<div class="t">
|
||||
<a>建议使用谷歌&火狐浏览器访问</a>
|
||||
</div>
|
||||
</form>
|
||||
<div class="tips">
|
||||
${error}
|
||||
</div>
|
||||
</div>
|
||||
<div class="Copyright" >Copyright © 2021 谢志文 版权所有</div>
|
||||
<script>
|
||||
$(function() {
|
||||
// 页面加载完毕后固定页头高度,防止在某些自动隐藏工具栏的移动浏览器上出现页面抖动现象
|
||||
$(".header").height($(window).height());
|
||||
|
||||
// 初始化 传入dom id
|
||||
var victor = new Victor("victor-container", "victor-output");
|
||||
var theme = [
|
||||
["#002c4a", "#005584"],
|
||||
["#35ac03", "#3f4303"],
|
||||
["#ac0908", "#cd5726"],
|
||||
["#18bbff", "#00486b"]
|
||||
];
|
||||
var color = theme[fRandomBy(0, 3)];
|
||||
victor(color).set();
|
||||
|
||||
// 监听滚动变化
|
||||
$(window).scroll(function() {
|
||||
if($(window).scrollTop() < 300) {
|
||||
$(".mk-uptop").removeClass("show");
|
||||
} else {
|
||||
$(".mk-uptop").addClass("show");
|
||||
}
|
||||
});
|
||||
|
||||
// 返回顶部
|
||||
$(".mk-uptop").click(function(){
|
||||
$("html, body").animate({scrollTop:0}, "normal");
|
||||
return false;
|
||||
});
|
||||
|
||||
// 烦人的 CNZZ,输出一大堆错误信息、、清除掉!
|
||||
console.clear();
|
||||
|
||||
console.log('%c谢志文开发制作', 'font-size: 60px;background: #EEE url(data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAIAAAAmkwkpAAAAHklEQVQImWNkYGBgYGD4//8/A5wF5SBYyAr+//8PAPOCFO0Q2zq7AAAAAElFTkSuQmCC) repeat; text-shadow: 5px -5px black, 4px -4px white; font-weight: bold; -webkit-text-fill-color: transparent; -webkit-background-clip: text;');
|
||||
console.info('Version 2.0, Designed by xzwsys.com.');
|
||||
console.error('版权所有,盗我代码还不留原始版权的人是小狗!→_→');
|
||||
});
|
||||
|
||||
|
||||
/*******************************
|
||||
* 函数名:生成指定范围的随机数
|
||||
* 输入: (under)下限 (over)上限
|
||||
* 输出: 所需要的数值
|
||||
*******************************/
|
||||
function fRandomBy(under, over) {
|
||||
switch(arguments.length) {
|
||||
case 1: return parseInt(Math.random() * under + 1);
|
||||
case 2: return parseInt(Math.random() * (over - under + 1) + under);
|
||||
default: return 0;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<script>
|
||||
var password = document.getElementById('password');
|
||||
var anniu = document.getElementById('conceal');
|
||||
anniu.addEventListener('click',function(){
|
||||
if(password.type==='password')
|
||||
{
|
||||
password.setAttribute('type','text');
|
||||
anniu.classList.add('yincang');
|
||||
}else{
|
||||
password.setAttribute('type','password');
|
||||
anniu.classList.remove('yincang');
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,488 @@
|
||||
<%@page contentType="text/html; charset=utf-8" %>
|
||||
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta name="referrer" content="always" />
|
||||
<meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
|
||||
<meta http-equiv="x-dns-prefetch-control" content="on">
|
||||
<meta charset="utf-8">
|
||||
<title>CRM客户管理系统 --记录客户跟进记录、团队管理</title>
|
||||
<!-- 引入 j/query和jquery.cookie-->
|
||||
<script type="text/javascript" src="${basePath}static/js/cookies/jquery-3.5.1.min.js"></script>
|
||||
<script type="text/javascript" src="${basePath}static/js/cookies/jquery.cookie.js"></script>
|
||||
<script src="${basePath}static/js/vector.js"></script>
|
||||
|
||||
<style type="text/css">
|
||||
*{
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
font-family: "microsoft yahei";
|
||||
}
|
||||
html,body{
|
||||
/*background-image: url(static/img/login-bg.png);
|
||||
background-color: rgb(64,169,255);
|
||||
background-size: 100% 100%;
|
||||
height: 100%;*/
|
||||
|
||||
}
|
||||
.login{
|
||||
position: absolute;
|
||||
background-color: rgba(255,255,255,1);
|
||||
top: 10%;
|
||||
right: 300px;
|
||||
width: 500px;
|
||||
height:700px;
|
||||
border-radius: 0px;
|
||||
/*box-shadow: 10px 10px 20px #8c8c8c;/*阴影*/*/
|
||||
|
||||
}
|
||||
.title,.u,.p,.l,.tips,.s,.t,.r{
|
||||
position: absolute;
|
||||
width: 80%;
|
||||
}
|
||||
input{
|
||||
height: 60px;
|
||||
border:0px;
|
||||
font-size:30px;
|
||||
border-radius: 10px;
|
||||
width: 100%;
|
||||
padding-left: 60px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.uname{
|
||||
background: url(static/img/login_user.png) no-repeat left;
|
||||
background-size:30px 30px;
|
||||
background-color: #f0f0f0;
|
||||
background-position:20px;
|
||||
|
||||
}
|
||||
.pwd{
|
||||
background: url(static/img/login_pwd.png) no-repeat left;
|
||||
background-size:30px 30px;
|
||||
background-color: #f0f0f0;
|
||||
background-position:20px;
|
||||
|
||||
}
|
||||
button{
|
||||
background-color: #467FE6;
|
||||
height: 60px;
|
||||
width: 100%;
|
||||
border: 0px;
|
||||
border-radius: 10px;
|
||||
color: #FFF;
|
||||
font-size: 30px;
|
||||
}
|
||||
select{
|
||||
width: 100%;
|
||||
height: 30px;
|
||||
border-radius: 10px;
|
||||
border:1px solid #e1e1e1;
|
||||
font-size: 20px;
|
||||
}
|
||||
.title{
|
||||
width: 100%;
|
||||
top: 3%;
|
||||
text-align: center;
|
||||
font-size: 40px;
|
||||
font-weight: bold;
|
||||
padding-top: 10px;
|
||||
box-sizing: border-box;
|
||||
text-shadow: 3px 3px 3px #aaa;
|
||||
}
|
||||
.u{
|
||||
top: 25%;
|
||||
left: 10%;
|
||||
}
|
||||
.p{
|
||||
top: 40%;
|
||||
left: 10%;
|
||||
}
|
||||
.s{
|
||||
top: 63%;
|
||||
left: 10%;
|
||||
}
|
||||
.l{
|
||||
top: 70%;
|
||||
left: 10%;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.tips{
|
||||
width: 100%;
|
||||
top: 83%;
|
||||
font-size: 25px;
|
||||
color: red;
|
||||
text-align: center;
|
||||
}
|
||||
.t{
|
||||
width: 100%;
|
||||
top: 90%;
|
||||
font-size: 20px;
|
||||
text-align: center;
|
||||
opacity:0.5;/*透明度*/
|
||||
text-shadow: 3px 3px 3px #aaa;
|
||||
}
|
||||
.r{
|
||||
top: 55%;
|
||||
left: 10%;
|
||||
height: 30px;
|
||||
font-size: 20px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.Copyright{
|
||||
position: absolute;
|
||||
text-align: center;
|
||||
bottom:30px;
|
||||
width:100%;
|
||||
color:#ffffff;
|
||||
opacity:0.5;/*透明度*/"
|
||||
}
|
||||
.title:hover{
|
||||
/*图片抖动*/
|
||||
-webkit-animation:bounce 1s .1s ease both;
|
||||
-moz-animation:bounce 1s .1s ease both;
|
||||
color:#2f54eb;
|
||||
}
|
||||
@-webkit-keyframes bounce {
|
||||
0% {
|
||||
-webkit-transform:scale(1)
|
||||
}
|
||||
10%, 20% {
|
||||
-webkit-transform:scale(0.8) rotate(-2deg)
|
||||
}
|
||||
30%, 50%, 70%, 90% {
|
||||
-webkit-transform:scale(1.1) rotate(2deg)
|
||||
}
|
||||
40%, 60%, 80% {
|
||||
-webkit-transform:scale(1.1) rotate(-2deg)
|
||||
}
|
||||
100% {
|
||||
-webkit-transform:scale(1) rotate(0)
|
||||
}
|
||||
}
|
||||
.l:hover{
|
||||
box-shadow: 10px 10px 20px #8c8c8c;/*阴影*/
|
||||
border-radius: 20px;
|
||||
}
|
||||
button:hover{
|
||||
border-radius: 20px;
|
||||
font-weight:bold;
|
||||
}
|
||||
|
||||
.uname:hover{
|
||||
border:3px solid #adc6ff;
|
||||
box-shadow: 0px 0px 20px #999999 inset;/*输入款 内阴影*/
|
||||
}
|
||||
|
||||
.pwd:hover{
|
||||
border:3px solid #adc6ff;
|
||||
box-shadow: 0px 0px 20px #999999 inset;/*输入款 内阴影*/
|
||||
}
|
||||
|
||||
.login:hover{
|
||||
/*鼠标划过周围出现阴影*/
|
||||
border-radius: 20px;
|
||||
-webkit-transform: scale(1);
|
||||
-moz-transform: scale(1);
|
||||
transform: scale(1);
|
||||
-moz-box-shadow:0 6px 30px #888;
|
||||
-webkit-box-shadow:0 6px 30px #888;
|
||||
-webkit-transition:.3s;
|
||||
-moz-transition:.3s;
|
||||
-o-transition:.3s;
|
||||
-ms-transition:.3s;
|
||||
/*box-shadow: 0px 0px 40px #808080 inset;/*输入款 内阴影*/*/
|
||||
}
|
||||
|
||||
|
||||
@media screen and (max-width:1500px){
|
||||
|
||||
body{
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
#victor-container{
|
||||
display:none;
|
||||
}
|
||||
|
||||
.welcome{
|
||||
display:none;
|
||||
}
|
||||
|
||||
.login{
|
||||
box-shadow: 10px 10px 20px #8c8c8c;
|
||||
margin:0 auto;
|
||||
right:auto;
|
||||
top:30px;
|
||||
width:100%;
|
||||
height:90%;
|
||||
}
|
||||
|
||||
.Copyright{
|
||||
bottom:10px;
|
||||
color:blue;
|
||||
text-shadow: 3px 3px 3px #aaa;
|
||||
}
|
||||
}
|
||||
|
||||
/*密码显示与隐藏*/
|
||||
.conceal{
|
||||
position: absolute;
|
||||
top: 15px;
|
||||
right: 15px;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
background-image: url(static/img/xianshi.png);
|
||||
background-size: 100% 100%;
|
||||
cursor: pointer;
|
||||
}
|
||||
.conceal.yincang{
|
||||
background-image: url(static/img/yincang.png);
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
|
||||
|
||||
/* 头部动画区域 */
|
||||
#victor-container {
|
||||
background: #666;
|
||||
z-index: -1;
|
||||
position: absolute;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
min-width: 500px;
|
||||
}
|
||||
#victor-output {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.welcome {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 0;
|
||||
right: 0;
|
||||
-webkit-transform: translateY(-50%);
|
||||
-moz-transform: translateY(-50%);
|
||||
-ms-transform: translateY(-50%);
|
||||
-o-transform: translateY(-50%);
|
||||
transform: translateY(-50%);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.wel_p {
|
||||
display: block;
|
||||
margin-block-start: 1em;
|
||||
margin-block-end: 1em;
|
||||
margin-inline-start: 0px;
|
||||
margin-inline-end: 0px;
|
||||
-webkit-animation: dropIn 1s linear;
|
||||
animation: dropIn 1s linear;
|
||||
}
|
||||
.welcome>p {
|
||||
font-size: 40px;
|
||||
color:#ffffff;
|
||||
margin-bottom: 40px;
|
||||
padding-right:40%;
|
||||
|
||||
}
|
||||
|
||||
/* 页面标题图 */
|
||||
.web-title {
|
||||
max-width: 80%;
|
||||
-webkit-animation: fadeIn 1s linear;
|
||||
animation: fadeIn 1s linear;
|
||||
}
|
||||
|
||||
|
||||
/* 上下移动动画效果 */
|
||||
@-webkit-keyframes upDown {0% {-webkit-transform: translate3d(0, 0, 0); opacity: 1;}100% {-webkit-transform: translate3d(0, 8px, 0);opacity: 0;}}
|
||||
@keyframes upDown {0% {transform: translate3d(0, 0, 0);opacity: 1;}100% {transform: translate3d(0, 8px, 0);opacity: 0;}}
|
||||
|
||||
/* 掉落的动画效果 */
|
||||
@-webkit-keyframes dropIn {0% {opacity: 0;-webkit-transform: translate3d(0, -100px, 0)}100% {opacity: 0.8;-webkit-transform: translate3d(0, 0, 0)}}
|
||||
@keyframes dropIn {0% {opacity: 0;transform: translate3d(0, -100px, 0)}100% {opacity: 0.8;transform: translate3d(0, 0, 0);}}
|
||||
|
||||
/* 逐渐出现的动画效果 */
|
||||
@-webkit-keyframes fadeIn {from {opacity: 0;-webkit-transform: scale(.8) translateY(20px)}to {opacity: 1;-webkit-transform: scale(1) translateY(0)}}
|
||||
@keyframes fadeIn {from {opacity: 0;transform: scale(.8) translateY(20px)}to {opacity: 1;transform: scale(1) translateY(0)}}
|
||||
|
||||
/*弹动效果*/
|
||||
@-webkit-keyframes bounce {0% {-webkit-transform:scale(1)}10%, 20% {-webkit-transform:scale(0.8) rotate(-2deg)}30%, 50%, 70%, 90% {-webkit-transform:scale(1.1) rotate(2deg)}40%, 60%, 80% {-webkit-transform:scale(1.1) rotate(-2deg)}100% {-webkit-transform:scale(1) rotate(0)}}
|
||||
|
||||
/* 拉伸弹动效果 */
|
||||
@keyframes rubberBand {0% {transform: scaleX(1)} 30% {transform: scale3d(1.25, .75, 1)}40% {transform: scale3d(.75, 1.25, 1)}50% {transform: scale3d(1.15, .85, 1)}65% {transform: scale3d(.95, 1.05, 1)}75% {transform: scale3d(1.05, .95, 1)}to {transform: scaleX(1)}}
|
||||
</style>
|
||||
|
||||
|
||||
<!-- 记住代码脚本实现 -->
|
||||
<script type="text/javascript">
|
||||
<!-- 页面一加载完就执行getCookie()方法 -->
|
||||
$(function(){
|
||||
getCookie();
|
||||
})
|
||||
//设置Cookie方法
|
||||
function setCookie(){
|
||||
var username = $('#username').val();
|
||||
var password = $('#password').val();
|
||||
//获取记住密码是否选中
|
||||
var flag = $("#remember").is(":checked");
|
||||
if(flag){//如果选中-->记住密码登录
|
||||
//cookie有效时间7天,也可以设置为永久,把时间去掉就行
|
||||
$.cookie("remember","true",{expires:30});
|
||||
$.cookie("username",username.trim(),{ expires: 30 });
|
||||
$.cookie("password",password.trim(),{ expires: 30 });
|
||||
}else{//如果没选中-->不记住密码登录
|
||||
//设置cookie有效时间-1,直接将浏览器端原先保存的cookie失效
|
||||
$.cookie("remember","false",{expires:-1});
|
||||
$.cookie("password", "",{expires:-1});
|
||||
$.cookie("username", "",{expires:-1});
|
||||
}
|
||||
}
|
||||
//获取cookie方法,自动填充用户名和密码
|
||||
function getCookie(){
|
||||
var remember = $.cookie("remember");
|
||||
//获取cookie中的用户名
|
||||
var username = $.cookie("username");
|
||||
//获取cookie中的登陆密码
|
||||
var password = $.cookie("password");
|
||||
//记住密码为true的话把“记住用户名和密码”复选框勾选住
|
||||
if(remember){
|
||||
$("#remember").attr("checked","true");
|
||||
}
|
||||
//用户名存在的话把用户名填充到用户名文本框
|
||||
if(username!=""){
|
||||
$("#username").val(username);
|
||||
}else{
|
||||
$("#username").val("");
|
||||
}
|
||||
if(password!=""){//密码存在的话把密码填充到密码文本框
|
||||
$("#password").val(password);
|
||||
}else{
|
||||
$("#password").val("");
|
||||
}
|
||||
}
|
||||
//登录按钮点击时间
|
||||
function login(){
|
||||
//调用setCookie()方法
|
||||
setCookie();
|
||||
//发送登陆请求,在此省略
|
||||
}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<header class="header">
|
||||
<!-- 动画展示区域 -->
|
||||
<div id="victor-container"><div id="victor-output"></div></div>
|
||||
|
||||
<div class="welcome">
|
||||
<p class="wel_p">— 欢迎使用 —</p>
|
||||
<p><img class="web-title" src="static/img/web_title1.png" alt="CRM客户管理系统" draggable="false" onerror="onerror=null;src='static/img/web_title1.png'"></p>
|
||||
</div>
|
||||
</header>
|
||||
<div class="login">
|
||||
<div class="title">
|
||||
CRM客户管理系统
|
||||
</div>
|
||||
<form action="login" method="post">
|
||||
<div class="u">
|
||||
<input type="text" class="uname" name="userName" id="username" placeholder="请输入账号" />
|
||||
</div>
|
||||
<div class="p">
|
||||
<input type="password" class="pwd" name="password" id="password" placeholder="请输入密码" />
|
||||
<div class="conceal" id='conceal'></div>
|
||||
</div>
|
||||
<div class="r">
|
||||
<a style="float:left;">记住我 </a>
|
||||
<input type="checkbox" class="remember" name="remember" id="remember" style="float:left;height:30px;width: 30px;"/>
|
||||
</div>
|
||||
<div class="s">
|
||||
<select name="type">
|
||||
<option value="">请选择登陆类型</option>
|
||||
<option value="1" selected="selected">员工</option>
|
||||
<option value="2" >管理员</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="l">
|
||||
<button type="submit" onclick="login()">登录</button>
|
||||
</div>
|
||||
<div class="t">
|
||||
<a>建议使用谷歌&火狐浏览器访问</a>
|
||||
</div>
|
||||
</form>
|
||||
<div class="tips">
|
||||
${error}
|
||||
</div>
|
||||
</div>
|
||||
<div class="Copyright" >Copyright © 2021 谢志文 版权所有</div>
|
||||
<script>
|
||||
$(function() {
|
||||
// 页面加载完毕后固定页头高度,防止在某些自动隐藏工具栏的移动浏览器上出现页面抖动现象
|
||||
$(".header").height($(window).height());
|
||||
|
||||
// 初始化 传入dom id
|
||||
var victor = new Victor("victor-container", "victor-output");
|
||||
var theme = [
|
||||
["#002c4a", "#005584"],
|
||||
["#35ac03", "#3f4303"],
|
||||
["#ac0908", "#cd5726"],
|
||||
["#18bbff", "#00486b"]
|
||||
];
|
||||
var color = theme[fRandomBy(0, 3)];
|
||||
victor(color).set();
|
||||
|
||||
// 监听滚动变化
|
||||
$(window).scroll(function() {
|
||||
if($(window).scrollTop() < 300) {
|
||||
$(".mk-uptop").removeClass("show");
|
||||
} else {
|
||||
$(".mk-uptop").addClass("show");
|
||||
}
|
||||
});
|
||||
|
||||
// 返回顶部
|
||||
$(".mk-uptop").click(function(){
|
||||
$("html, body").animate({scrollTop:0}, "normal");
|
||||
return false;
|
||||
});
|
||||
|
||||
// 烦人的 CNZZ,输出一大堆错误信息、、清除掉!
|
||||
console.clear();
|
||||
|
||||
console.log('%c谢志文开发制作', 'font-size: 60px;background: #EEE url(data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAIAAAAmkwkpAAAAHklEQVQImWNkYGBgYGD4//8/A5wF5SBYyAr+//8PAPOCFO0Q2zq7AAAAAElFTkSuQmCC) repeat; text-shadow: 5px -5px black, 4px -4px white; font-weight: bold; -webkit-text-fill-color: transparent; -webkit-background-clip: text;');
|
||||
console.info('Version 2.0, Designed by xzwsys.com.');
|
||||
console.error('版权所有,盗我代码还不留原始版权的人是小狗!→_→');
|
||||
});
|
||||
|
||||
|
||||
/*******************************
|
||||
* 函数名:生成指定范围的随机数
|
||||
* 输入: (under)下限 (over)上限
|
||||
* 输出: 所需要的数值
|
||||
*******************************/
|
||||
function fRandomBy(under, over) {
|
||||
switch(arguments.length) {
|
||||
case 1: return parseInt(Math.random() * under + 1);
|
||||
case 2: return parseInt(Math.random() * (over - under + 1) + under);
|
||||
default: return 0;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<script>
|
||||
var password = document.getElementById('password');
|
||||
var anniu = document.getElementById('conceal');
|
||||
anniu.addEventListener('click',function(){
|
||||
if(password.type==='password')
|
||||
{
|
||||
password.setAttribute('type','text');
|
||||
anniu.classList.add('yincang');
|
||||
}else{
|
||||
password.setAttribute('type','password');
|
||||
anniu.classList.remove('yincang');
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,195 @@
|
||||
<%@page contentType="text/html; charset=utf-8" %>
|
||||
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="user-scalable=no">
|
||||
<title>CRM客户管理系统 --记录客户跟进记录、团队管理</title>
|
||||
<link rel="icon" href="static/img/CRM.png">
|
||||
<link rel="stylesheet" href="${basePath}static/css/login1.css" />
|
||||
<!-- 引入 j/query和jquery.cookie-->
|
||||
<script type="text/javascript" src="${basePath}static/js/cookies/jquery-3.5.1.min.js"></script>
|
||||
<script type="text/javascript" src="${basePath}static/js/cookies/jquery.cookie.js"></script>
|
||||
<script src="${basePath}static/js/vector.js"></script>
|
||||
<script type="text/javascript" src="${basePath}static/js/web-zdzh/current-device.min.js"></script>
|
||||
<script type="text/javascript" src="${basePath}static/js/web-zdzh/defalut.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- 记住代码脚本实现 -->
|
||||
<script type="text/javascript">
|
||||
<!-- 页面一加载完就执行getCookie()方法 -->
|
||||
$(function(){
|
||||
getCookie();
|
||||
})
|
||||
//设置Cookie方法
|
||||
function setCookie(){
|
||||
var username = $('#username').val();
|
||||
var password = $('#password').val();
|
||||
//获取记住密码是否选中
|
||||
var flag = $("#remember").is(":checked");
|
||||
if(flag){//如果选中-->记住密码登录
|
||||
//cookie有效时间7天,也可以设置为永久,把时间去掉就行
|
||||
$.cookie("remember","true",{expires:30});
|
||||
$.cookie("username",username.trim(),{ expires: 30 });
|
||||
$.cookie("password",password.trim(),{ expires: 30 });
|
||||
}else{//如果没选中-->不记住密码登录
|
||||
//设置cookie有效时间-1,直接将浏览器端原先保存的cookie失效
|
||||
$.cookie("remember","false",{expires:-1});
|
||||
$.cookie("password", "",{expires:-1});
|
||||
$.cookie("username", "",{expires:-1});
|
||||
}
|
||||
}
|
||||
//获取cookie方法,自动填充用户名和密码
|
||||
function getCookie(){
|
||||
var remember = $.cookie("remember");
|
||||
//获取cookie中的用户名
|
||||
var username = $.cookie("username");
|
||||
//获取cookie中的登陆密码
|
||||
var password = $.cookie("password");
|
||||
//记住密码为true的话把“记住用户名和密码”复选框勾选住
|
||||
if(remember){
|
||||
$("#remember").attr("checked","true");
|
||||
}
|
||||
//用户名存在的话把用户名填充到用户名文本框
|
||||
if(username!=""){
|
||||
$("#username").val(username);
|
||||
}else{
|
||||
$("#username").val("");
|
||||
}
|
||||
if(password!=""){//密码存在的话把密码填充到密码文本框
|
||||
$("#password").val(password);
|
||||
}else{
|
||||
$("#password").val("");
|
||||
}
|
||||
}
|
||||
//登录按钮点击时间
|
||||
function login(){
|
||||
//调用setCookie()方法
|
||||
setCookie();
|
||||
//发送登陆请求,在此省略
|
||||
}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<header class="header">
|
||||
<!-- 动画展示区域 -->
|
||||
<div id="victor-container"><div id="victor-output"></div></div>
|
||||
|
||||
<div class="welcome">
|
||||
<p class="wel_p">— 欢迎使用 —</p>
|
||||
<p><img class="web-title" src="static/img/web_title1.png" alt="CRM客户管理系统" draggable="false" onerror="onerror=null;src='static/img/web_title1.png'"></p>
|
||||
</div>
|
||||
</header>
|
||||
<div class="login">
|
||||
<div class="title">
|
||||
<img alt="logo.png" src="static/img/web_logo.png">
|
||||
<span class="tt">CRM客户管理系统</span>
|
||||
</div>
|
||||
<form action="login" method="post">
|
||||
<div class="u">
|
||||
<span style="float:left;margin-bottom:10px;font-size:40px;">用户名</span>
|
||||
<input type="text" class="uname" name="userName" id="username" placeholder="" />
|
||||
</div>
|
||||
<div class="p">
|
||||
<span style="float:left;margin-bottom:10px;font-size:40px;">密 码</span>
|
||||
<input type="password" class="pwd" name="password" id="password" placeholder="" />
|
||||
<div class="conceal" id='conceal'></div>
|
||||
</div>
|
||||
<div class="r">
|
||||
<span style="padding-right:10px">记住我</span>
|
||||
<input type="checkbox" class="remember" name="remember" id="remember" />
|
||||
</div>
|
||||
<div class="s">
|
||||
<select name="type">
|
||||
<option value="">请选择登陆类型</option>
|
||||
<option value="1" selected="selected">员工</option>
|
||||
<option value="2" >管理员</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="l">
|
||||
<button type="submit" onclick="login()">登录</button>
|
||||
</div>
|
||||
<div class="t">
|
||||
<a>建议使用谷歌&火狐浏览器访问</a>
|
||||
</div>
|
||||
</form>
|
||||
<div class="tips">
|
||||
${error}
|
||||
</div>
|
||||
</div>
|
||||
<div class="Copyright" >Copyright © 2021 <a href="https://www.bltcxj.cn/" style="color:blue;text-decoration: none;">新疆博力同创</a> 版权所有</div>
|
||||
|
||||
<script>
|
||||
$(function() {
|
||||
// 页面加载完毕后固定页头高度,防止在某些自动隐藏工具栏的移动浏览器上出现页面抖动现象
|
||||
$(".header").height($(window).height());
|
||||
|
||||
// 初始化 传入dom id
|
||||
var victor = new Victor("victor-container", "victor-output");
|
||||
var theme = [
|
||||
["#002c4a", "#005584"],
|
||||
["#35ac03", "#3f4303"],
|
||||
["#ac0908", "#cd5726"],
|
||||
["#18bbff", "#00486b"]
|
||||
];
|
||||
var color = theme[fRandomBy(0, 3)];
|
||||
victor(color).set();
|
||||
|
||||
// 监听滚动变化
|
||||
$(window).scroll(function() {
|
||||
if($(window).scrollTop() < 300) {
|
||||
$(".mk-uptop").removeClass("show");
|
||||
} else {
|
||||
$(".mk-uptop").addClass("show");
|
||||
}
|
||||
});
|
||||
|
||||
// 返回顶部
|
||||
$(".mk-uptop").click(function(){
|
||||
$("html, body").animate({scrollTop:0}, "normal");
|
||||
return false;
|
||||
});
|
||||
|
||||
// 烦人的 CNZZ,输出一大堆错误信息、、清除掉!
|
||||
console.clear();
|
||||
|
||||
console.log('%c谢志文开发制作', 'font-size: 60px;background: #EEE url(data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAIAAAAmkwkpAAAAHklEQVQImWNkYGBgYGD4//8/A5wF5SBYyAr+//8PAPOCFO0Q2zq7AAAAAElFTkSuQmCC) repeat; text-shadow: 5px -5px black, 4px -4px white; font-weight: bold; -webkit-text-fill-color: transparent; -webkit-background-clip: text;');
|
||||
console.info('Version 2.0, Designed by xzwsys.com.');
|
||||
console.error('版权所有,盗我代码还不留原始版权的人是小狗!→_→');
|
||||
});
|
||||
|
||||
|
||||
/*******************************
|
||||
* 函数名:生成指定范围的随机数
|
||||
* 输入: (under)下限 (over)上限
|
||||
* 输出: 所需要的数值
|
||||
*******************************/
|
||||
function fRandomBy(under, over) {
|
||||
switch(arguments.length) {
|
||||
case 1: return parseInt(Math.random() * under + 1);
|
||||
case 2: return parseInt(Math.random() * (over - under + 1) + under);
|
||||
default: return 0;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<script>
|
||||
var password = document.getElementById('password');
|
||||
var anniu = document.getElementById('conceal');
|
||||
anniu.addEventListener('click',function(){
|
||||
if(password.type==='password')
|
||||
{
|
||||
password.setAttribute('type','text');
|
||||
anniu.classList.add('yincang');
|
||||
}else{
|
||||
password.setAttribute('type','password');
|
||||
anniu.classList.remove('yincang');
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,262 @@
|
||||
<%@page contentType="text/html; charset=utf-8"%>
|
||||
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<!DOCTYPE html>
|
||||
<html style="height: 100%">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<script type="text/javascript" src="${basePath}static/echarts/echarts.min.js"></script>
|
||||
<script type="text/javascript" src="${basePath}static/js/jquery.min.1.12.4.js" ></script>
|
||||
<script src="${basePath}static/js/click.js"></script>
|
||||
|
||||
|
||||
</head>
|
||||
<body style="height: 100%; margin: 0">
|
||||
<div id="container1" style="height: 45%; width: 48%; float: left;border: 1px solid #e1e1e1;margin-top: 10px;">
|
||||
</div>
|
||||
<div id="container2" style="height: 45%; width: 48%; float: right;border: 1px solid #e1e1e1;margin-top: 10px;">
|
||||
</div>
|
||||
<div id="container3" style="height: 45%; width: 48%; float: left;border: 1px solid #e1e1e1;margin-top: 10px;">
|
||||
</div>
|
||||
<div id="container4" style="height: 45%; width: 48%; float: right;border: 1px solid #e1e1e1;margin-top: 10px;">
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
var dom = document.getElementById("container1");
|
||||
var myChart = echarts.init(dom);
|
||||
option1 = {
|
||||
title: {
|
||||
text: '当日跟进排行'
|
||||
},
|
||||
tooltip: {
|
||||
trigger: 'axis'
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
axisLabel: {
|
||||
interval:0
|
||||
},
|
||||
data: [
|
||||
<c:forEach items="${list_dr}" var="temp">
|
||||
'${temp.name}',
|
||||
</c:forEach>
|
||||
]
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value'
|
||||
},
|
||||
series: [{
|
||||
data: [
|
||||
<c:forEach items="${list_dr}" var="temp">
|
||||
${temp.cs},
|
||||
</c:forEach>
|
||||
],
|
||||
type: 'bar',
|
||||
showBackground: true,
|
||||
backgroundStyle: {
|
||||
color: 'rgba(220, 220, 220, 0.8)'
|
||||
},
|
||||
itemStyle: {
|
||||
normal: {
|
||||
//这里是重点
|
||||
color: function(params) {
|
||||
//注意,如果颜色太少的话,后面颜色不会自动循环,最好多定义几个颜色
|
||||
var colorList = ['#8B8682','#8B4500','#2f4554','#61a0a8','#d48265','#91c7ae','#749f83','#ca8622','#8A8A8A','#436EEE'
|
||||
,'#4A4A4A','#0000AA','#218868','#63B8FF','#737373','#7FFF00','#8B0000','#8B8682','#BCD2EE','#EEE9BF'];
|
||||
return colorList[params.dataIndex]
|
||||
//给大于颜色数量的柱体添加循环颜色的判断
|
||||
if (params.dataIndex >= colorList.length) {
|
||||
index = params.dataIndex - colorList.length;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}]
|
||||
};
|
||||
myChart.setOption(option1, true);
|
||||
|
||||
var dom2 = document.getElementById("container2");
|
||||
var myChart2 = echarts.init(dom2);
|
||||
option2 = {
|
||||
title: {
|
||||
text: '本月跟进趋势图'
|
||||
},
|
||||
tooltip: {
|
||||
trigger: 'axis'
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
axisLabel: {
|
||||
interval:0
|
||||
},
|
||||
data: [
|
||||
<c:forEach items="${list_bygjqs}" var="temp">
|
||||
'${temp.ts}',
|
||||
</c:forEach>
|
||||
]
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
axisLabel:{
|
||||
//Y轴字体颜色和大小
|
||||
//fontSize:30,
|
||||
//color:"#404040",
|
||||
//Y轴当刻度达到1000时以/k代替
|
||||
formatter: function (value) {
|
||||
var texts = [];
|
||||
if (value < 1000) {
|
||||
texts.push(value);
|
||||
}
|
||||
if (value >= 1000) {
|
||||
value = value / 1000;
|
||||
texts.push(value+'k');
|
||||
}
|
||||
return texts;
|
||||
}
|
||||
}
|
||||
|
||||
},
|
||||
series: [{
|
||||
data: [
|
||||
<c:forEach items="${list_bygjqs}" var="temp">
|
||||
${temp.cs},
|
||||
</c:forEach>
|
||||
],
|
||||
type: 'line',
|
||||
smooth: true,
|
||||
showBackground: true,
|
||||
backgroundStyle: {
|
||||
color: 'rgba(220, 220, 220, 0.8)'
|
||||
},
|
||||
emphasis: {
|
||||
itemStyle: {
|
||||
shadowBlur: 10,
|
||||
shadowOffsetX: 0,
|
||||
shadowColor: 'rgba(0, 0, 0, 0.5)'
|
||||
}
|
||||
},
|
||||
itemStyle: {
|
||||
normal: {
|
||||
label: {
|
||||
show: true, //开启显示
|
||||
position: 'top',//在上方显示
|
||||
distance:8,//距离
|
||||
textStyle: { //数值样式
|
||||
color: "#23ABFF",
|
||||
//fontSize: 30
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}]
|
||||
};
|
||||
;
|
||||
myChart2.setOption(option2, true);
|
||||
|
||||
|
||||
|
||||
var dom3 = document.getElementById("container3");
|
||||
var myChart3 = echarts.init(dom3);
|
||||
option3 = {
|
||||
title: {
|
||||
text: '客户总跟进排行(top5)'
|
||||
},
|
||||
tooltip: {
|
||||
trigger: 'axis'
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
axisLabel: {
|
||||
interval:0
|
||||
},
|
||||
data: [
|
||||
<c:forEach items="${top5List}" var="temp">
|
||||
'${temp.name}',
|
||||
</c:forEach>
|
||||
]
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value'
|
||||
},
|
||||
series: [{
|
||||
data: [
|
||||
<c:forEach items="${top5List}" var="temp">
|
||||
${temp.cs},
|
||||
</c:forEach>
|
||||
],
|
||||
type: 'bar',
|
||||
showBackground: true,
|
||||
backgroundStyle: {
|
||||
color: 'rgba(220, 220, 220, 0.8)'
|
||||
},
|
||||
itemStyle: {
|
||||
normal: {
|
||||
//这里是重点
|
||||
color: function(params) {
|
||||
//注意,如果颜色太少的话,后面颜色不会自动循环,最好多定义几个颜色
|
||||
var colorList = ['#8B4500','#2f4554','#61a0a8','#d48265','#91c7ae','#749f83','#ca8622','#8A8A8A','#436EEE'
|
||||
,'#4A4A4A','#0000AA','#218868','#63B8FF','#737373','#7FFF00','#8B0000','#8B8682','#BCD2EE','#EEE9BF'];
|
||||
return colorList[params.dataIndex]
|
||||
//给大于颜色数量的柱体添加循环颜色的判断
|
||||
if (params.dataIndex >= colorList.length) {
|
||||
index = params.dataIndex - colorList.length;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}]
|
||||
|
||||
|
||||
};
|
||||
;
|
||||
myChart3.setOption(option3, true);
|
||||
|
||||
var dom4 = document.getElementById("container4");
|
||||
var myChart4 = echarts.init(dom4);
|
||||
var app = {};
|
||||
|
||||
var option;
|
||||
option4 = {
|
||||
title: {
|
||||
text: '跟进汇总饼图',
|
||||
subtext: '累计',
|
||||
left: 'center'
|
||||
},
|
||||
tooltip: {
|
||||
trigger: 'item'
|
||||
},
|
||||
legend: {
|
||||
orient: 'vertical',
|
||||
left: 'left',
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: '跟进次数',
|
||||
type: 'pie',
|
||||
radius: '50%',
|
||||
data: [
|
||||
<c:forEach items="${list}" var="temp">
|
||||
{value: ${temp.cs}, name: '${temp.name}'},
|
||||
</c:forEach>
|
||||
],
|
||||
emphasis: {
|
||||
itemStyle: {
|
||||
shadowBlur: 10,
|
||||
shadowOffsetX: 0,
|
||||
shadowColor: 'rgba(0, 0, 0, 0.5)'
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
myChart4.setOption(option4, true);
|
||||
|
||||
|
||||
if (option && typeof option === 'object') {
|
||||
myChart.setOption(option);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,307 @@
|
||||
<%@page contentType="text/html; charset=utf-8" %>
|
||||
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="user-scalable=no">
|
||||
<script type="text/javascript" src="${basePath}static/js/web-zdzh/current-device.min.js"></script>
|
||||
<script type="text/javascript" src="${basePath}static/js/web-zdzh/defalut.js"></script>
|
||||
<title>CRM客户管理系统 --记录客户跟进记录、团队管理</title>
|
||||
<style type="text/css">
|
||||
*{
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
font-family: "microsoft yahei";
|
||||
|
||||
}
|
||||
html,body{
|
||||
/*background-image: url(static/img/login.png);*/
|
||||
background-color:#5fb4fa;
|
||||
/*background-size: 80% 100%;*/
|
||||
height: 80%;
|
||||
}
|
||||
.login{
|
||||
position: absolute;
|
||||
background-color: rgba(255,255,255,1);
|
||||
position: absolute;
|
||||
top: 200px;
|
||||
left: 10%;
|
||||
right: 10%;
|
||||
height:1100px;
|
||||
margin: auto;
|
||||
border:1px solid gray;
|
||||
border-radius: 0px;
|
||||
/*box-shadow: 10px 10px 20px #8c8c8c;/*阴影*/*/
|
||||
}
|
||||
.title,.u,.p,.l,.tips,.s,.t,.r{
|
||||
position: absolute;
|
||||
}
|
||||
input{
|
||||
height: 120px;
|
||||
border:0px;
|
||||
font-size:60px;
|
||||
border-radius: 10px;
|
||||
width: 90%;
|
||||
padding-left: 80px;
|
||||
box-sizing: border-box;
|
||||
outline:none;/*input输入边框隐藏*/
|
||||
}
|
||||
.uname{
|
||||
/*background: url(${basePath}static/img/login_user.png) no-repeat left;
|
||||
background-size:50px 50px;*/
|
||||
background-color: #f0f0f0;
|
||||
background-position:20px;
|
||||
|
||||
}
|
||||
.pwd{
|
||||
/*background: url(${basePath}static/img/login_pwd.png) no-repeat left;
|
||||
background-size:50px 50px;*/
|
||||
background-color: #f0f0f0;
|
||||
background-position:20px;
|
||||
}
|
||||
button{
|
||||
background-color: #467FE6;
|
||||
height: 100px;
|
||||
border: 0px;
|
||||
width:50%;
|
||||
float:right;
|
||||
border-radius: 10px;
|
||||
color: #FFF;
|
||||
font-size: 60px;
|
||||
}
|
||||
select{
|
||||
width: 80%;
|
||||
height: 70px;
|
||||
border-radius: 10px;
|
||||
border:1px solid #e1e1e1;
|
||||
font-size: 50px;
|
||||
}
|
||||
.title{
|
||||
top: -3%;
|
||||
left: 5%;
|
||||
width: 90%;
|
||||
text-align: center;
|
||||
font-size: 80px;
|
||||
font-weight: bold;
|
||||
padding-top: 10px;
|
||||
box-sizing: border-box;
|
||||
text-shadow: 3px 3px 3px #aaa;
|
||||
}
|
||||
.title .logo{
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
width: 600px;
|
||||
}
|
||||
|
||||
.u{
|
||||
top: 25%;
|
||||
left: 10%;
|
||||
}
|
||||
.p{
|
||||
top: 45%;
|
||||
left: 10%;
|
||||
}
|
||||
.s{
|
||||
top: 65%;
|
||||
left: 10%;
|
||||
}
|
||||
.l{
|
||||
top: 75%;
|
||||
right: 10%;
|
||||
width:50%;
|
||||
}
|
||||
|
||||
.tips{
|
||||
top: 90%;
|
||||
left: 10%;
|
||||
width:80%;
|
||||
font-size: 50px;
|
||||
color: red;
|
||||
text-align: center;
|
||||
}
|
||||
.t{
|
||||
display:none;
|
||||
}
|
||||
.t{
|
||||
top: 90%;
|
||||
left: 10%;
|
||||
width:80%;
|
||||
font-size: 40px;
|
||||
text-align: center;
|
||||
opacity:0.5;/*透明度*/
|
||||
text-shadow: 3px 3px 3px #aaa;
|
||||
}
|
||||
.r{
|
||||
top: 75%;
|
||||
left: 10%;
|
||||
width:40%;
|
||||
height: 120px;
|
||||
font-size: 50px;
|
||||
text-align: center;
|
||||
|
||||
}
|
||||
|
||||
.uname:hover{
|
||||
/*border:3px solid #adc6ff;*/
|
||||
box-shadow: 0px 0px 20px #999999 inset;/*输入款 内阴影*/
|
||||
}
|
||||
|
||||
.pwd:hover{
|
||||
/*border:3px solid #adc6ff;*/
|
||||
box-shadow: 0px 0px 20px #999999 inset;/*输入款 内阴影*/
|
||||
}
|
||||
|
||||
|
||||
/*密码显示与隐藏*/
|
||||
.conceal{
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
right: 15%;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
color:#40a9ff;
|
||||
background-image: url(${basePath}static/img/xianshi.png);
|
||||
background-size: 100% 100%;
|
||||
cursor: pointer;
|
||||
}
|
||||
.conceal.yincang{
|
||||
background-image: url(${basePath}static/img/yincang.png);
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
|
||||
.login:hover{
|
||||
/*鼠标划过周围出现阴影*/
|
||||
border-radius: 20px;
|
||||
-webkit-transform: scale(1);
|
||||
-moz-transform: scale(1);
|
||||
transform: scale(1);
|
||||
-moz-box-shadow:0 6px 30px #888;
|
||||
-webkit-box-shadow:0 6px 30px #888;
|
||||
-webkit-transition:.3s;
|
||||
-moz-transition:.3s;
|
||||
-o-transition:.3s;
|
||||
-ms-transition:.3s;
|
||||
/*box-shadow: 0px 0px 40px #808080 inset;/*输入款 内阴影*/*/
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
|
||||
<!-- 引入jquery和jquery.cookie-->
|
||||
<script type="text/javascript" src="${basePath}static/js/cookies/jquery-3.5.1.min.js"></script>
|
||||
<script type="text/javascript" src="${basePath}static/js/cookies/jquery.cookie.js"></script>
|
||||
<!-- 记住代码脚本实现 -->
|
||||
<script type="text/javascript">
|
||||
<!-- 页面一加载完就执行getCookie()方法 -->
|
||||
$(function(){
|
||||
getCookie();
|
||||
})
|
||||
//设置Cookie方法
|
||||
function setCookie(){
|
||||
var username = $('#username').val();
|
||||
var password = $('#password').val();
|
||||
//获取记住密码是否选中
|
||||
var flag = $("#remember").is(":checked");
|
||||
if(flag){//如果选中-->记住密码登录
|
||||
//cookie有效时间7天,也可以设置为永久,把时间去掉就行
|
||||
$.cookie("remember","true",{expires:30});
|
||||
$.cookie("username",username.trim(),{ expires: 30 });
|
||||
$.cookie("password",password.trim(),{ expires: 30 });
|
||||
}else{//如果没选中-->不记住密码登录
|
||||
//设置cookie有效时间-1,直接将浏览器端原先保存的cookie失效
|
||||
$.cookie("remember","false",{expires:-1});
|
||||
$.cookie("password", "",{expires:-1});
|
||||
$.cookie("username", "",{expires:-1});
|
||||
}
|
||||
}
|
||||
//获取cookie方法,自动填充用户名和密码
|
||||
function getCookie(){
|
||||
var remember = $.cookie("remember");
|
||||
//获取cookie中的用户名
|
||||
var username = $.cookie("username");
|
||||
//获取cookie中的登陆密码
|
||||
var password = $.cookie("password");
|
||||
//记住密码为true的话把“记住用户名和密码”复选框勾选住
|
||||
if(remember){
|
||||
$("#remember").attr("checked","true");
|
||||
}
|
||||
//用户名存在的话把用户名填充到用户名文本框
|
||||
if(username!=""){
|
||||
$("#username").val(username);
|
||||
}else{
|
||||
$("#username").val("");
|
||||
}
|
||||
if(password!=""){//密码存在的话把密码填充到密码文本框
|
||||
$("#password").val(password);
|
||||
}else{
|
||||
$("#password").val("");
|
||||
}
|
||||
}
|
||||
//登录按钮点击时间
|
||||
function login(){
|
||||
//调用setCookie()方法
|
||||
setCookie();
|
||||
//发送登陆请求,在此省略
|
||||
}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="login">
|
||||
<div class="title">
|
||||
<img class ="logo" alt="log图像" src="${basePath}static/img/web_logo.png">
|
||||
</div>
|
||||
<form action="${basePath}login" method="post">
|
||||
<div class="u">
|
||||
<span style="float:left;margin-bottom:10px;font-size:40px;">用户名</span>
|
||||
<input type="text" class="uname" name="userName" id="username" placeholder="" />
|
||||
</div>
|
||||
<div class="p">
|
||||
<span style="float:left;margin-bottom:10px;font-size:40px;">密 码</span>
|
||||
<input type="password" class="pwd" name="password" id="password" placeholder="" />
|
||||
<div class="conceal" id='conceal'></div>
|
||||
</div>
|
||||
<div class="r">
|
||||
|
||||
<input type="checkbox" class="remember" name="remember" id="remember" style="float:left;height:60px;width: 60px;"/>
|
||||
<a style="float:left;">记住我</a>
|
||||
</div>
|
||||
<div class="s">
|
||||
<select name="type">
|
||||
<option value="">请选择登陆类型</option>
|
||||
<option value="1" selected="selected">员工</option>
|
||||
<option value="2" >管理员</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="l">
|
||||
<button type="submit" onclick="login()">登录</button>
|
||||
</div>
|
||||
<div class="tips">
|
||||
${error}
|
||||
</div>
|
||||
<div class="t">
|
||||
<a>建议使用谷歌&火狐浏览器访问</a>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
<div style="text-align: center;bottom:30px;position: absolute;width:100%;color:#ffffff;opacity:0.5;/*透明度*/;font-size:40px;">Copyright © 2021 <a href="https://www.bltcxj.cn/" style="color:blue;text-decoration: none;">新疆博力同创</a> 版权所有</div>
|
||||
<script>
|
||||
var password = document.getElementById('password');
|
||||
var anniu = document.getElementById('conceal');
|
||||
anniu.addEventListener('click',function(){
|
||||
if(password.type==='password')
|
||||
{
|
||||
password.setAttribute('type','text');
|
||||
anniu.classList.add('yincang');
|
||||
}else{
|
||||
password.setAttribute('type','password');
|
||||
anniu.classList.remove('yincang');
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,20 @@
|
||||
<%@ page language="java" contentType="text/html; charset=utf-8"
|
||||
pageEncoding="utf-8"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>警告!非法登陆</title>
|
||||
<link rel="stylesheet" href="${basePath}static/css/font-awesome-4.7.0/css/font-awesome.min.css" />
|
||||
<script src="${basePath}static/js/click.js"></script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<a style="font-size:40px;">非法登陆,请联系管理员!</a>
|
||||
<a style="font-size:40px;" class="fa fa-mail-reply" ></a>
|
||||
<a style="font-size:40px;" href="login.jsp" >重新登录</a>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,76 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>产品信息新增页面</title>
|
||||
<script type="text/javascript" src="${basePath}static/js/jquery.min.1.12.4.js" ></script>
|
||||
<link rel="stylesheet" href="${basePath}static/css/select2.min.css" />
|
||||
<script type="text/javascript" src="${basePath}static/js/select2.min.js" ></script>
|
||||
<script src="${basePath}static/js/click.js"></script>
|
||||
|
||||
|
||||
<link rel="stylesheet" href="${basePath}static/css/styles.css" />
|
||||
<link rel="stylesheet" href="${basePath}static/css/font-awesome-4.7.0/css/font-awesome.min.css" />
|
||||
<script src="${basePath}static/js/jquery-validation-1.14.0/jquery.validate.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/jquery-validation-1.14.0/localization/messages_zh.js" type="text/javascript"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
//表单 必填项验证
|
||||
$(function(){
|
||||
$("#addForm").validate({
|
||||
rules:{
|
||||
Cpmc:{
|
||||
required:true
|
||||
},
|
||||
Bz:{
|
||||
required:true
|
||||
}
|
||||
}
|
||||
/* messages:{
|
||||
stuPwd:{
|
||||
rangelength:$.validator.format( "Please enter a value between {0} and {1} characters long.")
|
||||
}
|
||||
} */
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="add">
|
||||
<form id="addForm" action="${basePath}cpxx?method=add" method="post">
|
||||
<table class="tableadd" style="width: 800px;">
|
||||
<tr>
|
||||
<td style="width:100px;">产品名称</td>
|
||||
<td style="color: red;"><input style="width:300px;text-align:center;" type="text" name="Cpmc" placeholder="请输入产品名称">*</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width:100px;">附加信息</td>
|
||||
<td style="color: red;"><input style="width:300px;text-align:center;" type="text" name="Bz" placeholder="请输入附加信息,如:金额...">*</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4" align="left">
|
||||
<button class="edit" type="button" onclick="window.history.back(-1);">
|
||||
<i style="display:none;" class="fa fa-arrow-left"></i>
|
||||
返回
|
||||
</button>
|
||||
<button class="remove" type="submit">
|
||||
<i style="display:none;" class="fa fa-save"></i>
|
||||
提交
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,106 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>产品信息列表</title>
|
||||
<link rel="stylesheet" href="${basePath}static/css/styles.css" />
|
||||
<link rel="stylesheet" href="${basePath}static/css/font-awesome-4.7.0/css/font-awesome.min.css" />
|
||||
<script src="${basePath}static/js/jquery.min.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/click.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(function(){
|
||||
$('.remove').click(function(){
|
||||
if(confirm("确定要删除吗?")){
|
||||
window.location.href="${basePath}cpxx?method=delete&id="+$(this).attr("keyword");
|
||||
}
|
||||
})
|
||||
})
|
||||
</script>
|
||||
<style type="text/css">
|
||||
|
||||
@media screen and (max-width:1000px){
|
||||
|
||||
*{
|
||||
font-size:30px;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
|
||||
<body>
|
||||
<%
|
||||
String mess=(String)session.getAttribute("msg");
|
||||
session.removeAttribute("msg");
|
||||
if("".equals(mess) || mess==null){
|
||||
|
||||
}
|
||||
|
||||
else{%>
|
||||
<script type="text/javascript">
|
||||
alert("<%=mess%>");
|
||||
//刷新当前页面 清空session
|
||||
window.location.reload();
|
||||
</script>
|
||||
|
||||
<% }%>
|
||||
<form id="myform" action="${basePath}cpxx?method=list" method="post">
|
||||
<div class="condition" >
|
||||
产品:<input type="text" id="cpmc" name="Cpmc" value="${cpxx.cpmc}"style="width:150px;">
|
||||
备注:<input type="text" id="bz" name="Bz" value="${cpxx.bz}"style="width:150px;">
|
||||
<button >
|
||||
<i style="display:none;" class="fa fa-search" ></i>
|
||||
查询
|
||||
</button>
|
||||
<button type="button" onclick="window.location.href='${basePath}page/cpxx/add.jsp'">
|
||||
<i style="display:none;" class="fa fa-plus"></i>
|
||||
新增
|
||||
</button>
|
||||
</div >
|
||||
</form>
|
||||
<form action="${basePath}cpxx?method=list" id="tableList" method="post">
|
||||
<input type="hidden" name="pageNo" value="${pageInfo.pageNo}">
|
||||
<input type="hidden" name="Id" value="${cpxx.id}">
|
||||
<input type="hidden" name="Cpmc" value="${cpxx.cpmc}">
|
||||
<input type="hidden" name="Bz" value="${cpxx.bz}">
|
||||
<table class="tablelist">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class = "gj_id">ID</th>
|
||||
<th style="width:100px;text-align: center;">操作</th>
|
||||
<th class = "khmc">产品名称</th>
|
||||
<th class = "rqs" >备注信息</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<c:forEach items="${pageInfo.list}" var="cpxx">
|
||||
<tr>
|
||||
<td>${cpxx.id}</td>
|
||||
<td style="width:100px;text-align: center;" class="caozuo">
|
||||
<button class="edit" type="button" onclick="window.location.href='${basePath}cpxx?method=edit&id=${cpxx.id}'">
|
||||
<i style="display:none;" class="fa fa-edit"></i>
|
||||
修改
|
||||
</button>
|
||||
<button class="remove" type="button" keyword="${cpxx.id}">
|
||||
<i style="display:none;" class="fa fa-remove"></i>
|
||||
删除
|
||||
</button>
|
||||
</td>
|
||||
<td><a href="${basePath}cpxx?method=edit&id=${cpxx.id}" style="text-decoration: none;">${cpxx.cpmc}</a></td>
|
||||
<td>${cpxx.bz}</td>
|
||||
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</table>
|
||||
<%@include file="../inc/page.jsp"%>
|
||||
</form>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,97 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>产品信息列表</title>
|
||||
<link rel="stylesheet" href="${basePath}static/css/styles.css" />
|
||||
<link rel="stylesheet" href="${basePath}static/css/font-awesome-4.7.0/css/font-awesome.min.css" />
|
||||
<script src="${basePath}static/js/jquery.min.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/click.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(function(){
|
||||
$('.remove').click(function(){
|
||||
if(confirm("确定要删除吗?")){
|
||||
window.location.href="${basePath}cpxx?method=delete&id="+$(this).attr("keyword");
|
||||
}
|
||||
})
|
||||
})
|
||||
</script>
|
||||
<style type="text/css">
|
||||
.cpxx_cpmc:hover{
|
||||
font-size:18px;
|
||||
color:#fa541c;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@media screen and (max-width:1000px){
|
||||
|
||||
*{
|
||||
font-size:20px;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
</head>
|
||||
|
||||
|
||||
<body>
|
||||
<%
|
||||
String mess=(String)session.getAttribute("msg");
|
||||
session.removeAttribute("msg");
|
||||
if("".equals(mess) || mess==null){
|
||||
|
||||
}
|
||||
|
||||
else{%>
|
||||
<script type="text/javascript">
|
||||
alert("<%=mess%>");
|
||||
//刷新当前页面 清空session
|
||||
window.location.reload();
|
||||
</script>
|
||||
|
||||
<% }%>
|
||||
<form id="myform" action="${basePath}cpxx?method=list1" method="post">
|
||||
<div class="condition" >
|
||||
产品:<input type="text" id="cpmc" name="Cpmc" value="${cpxx.cpmc}"style="width:150px;">
|
||||
备注:<input type="text" id="bz" name="Bz" value="${cpxx.bz}"style="width:150px;">
|
||||
<button >
|
||||
<i style="display:none;" class="fa fa-search" ></i>
|
||||
查询
|
||||
</button>
|
||||
</div >
|
||||
</form>
|
||||
<form action="${basePath}cpxx?method=list" id="tableList" method="post">
|
||||
<input type="hidden" name="pageNo" value="${pageInfo.pageNo}">
|
||||
<input type="hidden" name="Id" value="${cpxx.id}">
|
||||
<input type="hidden" name="Cpmc" value="${cpxx.cpmc}">
|
||||
<input type="hidden" name="Bz" value="${cpxx.bz}">
|
||||
<table class="tablelist">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class = "gj_id">ID</th>
|
||||
<th class = "khmc">产品名称</th>
|
||||
<th class = "rqs" >备注信息</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<c:forEach items="${pageInfo.list}" var="cpxx">
|
||||
<tr>
|
||||
<td>${cpxx.id}</td>
|
||||
<td class="cpxx_cpmc" style="color:blue;">${cpxx.cpmc}</td>
|
||||
<td>${cpxx.bz}</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</table>
|
||||
<%@include file="../inc/page.jsp"%>
|
||||
</form>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,76 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>到期提醒新增页面</title>
|
||||
<link rel="stylesheet" href="${basePath}static/css/styles.css" />
|
||||
<link rel="stylesheet" href="${basePath}static/css/font-awesome-4.7.0/css/font-awesome.min.css" />
|
||||
<script src="${basePath}static/js/jquery.min.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/jquery-validation-1.14.0/jquery.validate.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/jquery-validation-1.14.0/localization/messages_zh.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/click.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
//表单 必填项验证
|
||||
$(function(){
|
||||
$("#addForm").validate({
|
||||
rules:{
|
||||
Cpmc:{
|
||||
required:true
|
||||
},
|
||||
Bz:{
|
||||
required:true
|
||||
}
|
||||
}
|
||||
/* messages:{
|
||||
stuPwd:{
|
||||
rangelength:$.validator.format( "Please enter a value between {0} and {1} characters long.")
|
||||
}
|
||||
} */
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="add">
|
||||
<form id="addForm" action="${basePath}cpxx?method=update" method="post">
|
||||
<input type="hidden" name="Id" value="${cpxx.id}">
|
||||
<input type="hidden" name="Cpmc" value="${cpxx.cpmc}">
|
||||
<table class="tableadd" style="width: 800px;">
|
||||
<tr>
|
||||
<td style="width:100px;">产品名称</td>
|
||||
<!-- input 不可编辑方法 1:<input type="text" readonly="readonly" 2:input type="text" disabled="disabled" -->
|
||||
<td style="color: red;"><input style="width:300px;text-align:center;" type="text" disabled="disabled" name="Cpmc" value="${cpxx.cpmc}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>附加信息</td>
|
||||
<td style="color: red;"><input style="width:300px;text-align:center;" type="text" name="Bz" value="${cpxx.bz}">*</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4" align="left">
|
||||
<button class="edit" type="button" onclick="window.history.back(-1);">
|
||||
<i style="display:none;" class="fa fa-arrow-left"></i>
|
||||
返回
|
||||
</button>
|
||||
<button class="remove" type="submit">
|
||||
<i style="display:none;" class="fa fa-save"></i>
|
||||
提交
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,137 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>到期提醒新增页面</title>
|
||||
<script type="text/javascript" src="${basePath}static/js/jquery.min.1.12.4.js" ></script>
|
||||
<link rel="stylesheet" href="${basePath}static/css/select2.min.css" />
|
||||
<script type="text/javascript" src="${basePath}static/js/select2.min.js" ></script>
|
||||
<script src="${basePath}static/js/click.js"></script>
|
||||
|
||||
|
||||
<link rel="stylesheet" href="${basePath}static/css/styles.css" />
|
||||
<link rel="stylesheet" href="${basePath}static/css/font-awesome-4.7.0/css/font-awesome.min.css" />
|
||||
<script src="${basePath}static/js/jquery-validation-1.14.0/jquery.validate.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/jquery-validation-1.14.0/localization/messages_zh.js" type="text/javascript"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
//表单 必填项验证
|
||||
$(function(){
|
||||
$("#addForm").validate({
|
||||
rules:{
|
||||
Khid:{
|
||||
required:true
|
||||
},
|
||||
Rqs:{
|
||||
required:true
|
||||
},
|
||||
Rqe:{
|
||||
required:true
|
||||
},
|
||||
Je:{
|
||||
required:true
|
||||
}
|
||||
}
|
||||
/* messages:{
|
||||
stuPwd:{
|
||||
rangelength:$.validator.format( "Please enter a value between {0} and {1} characters long.")
|
||||
}
|
||||
} */
|
||||
});
|
||||
|
||||
});
|
||||
//datetime-local 默认取当前时间
|
||||
$(function(){
|
||||
var today = new Date();//返回当前日期时间
|
||||
var yyyy = today.getFullYear();//获取当前年份
|
||||
var MM = today.getMonth() + 1;//因为getMonth()方法获取的是索引值,所以要+1
|
||||
var MM1 = today.getMonth();
|
||||
var dd = today.getDate() ;//返回一个月中的某一天
|
||||
var hh = today.getHours();//返回小时 (0 ~ 23)
|
||||
var mm = today.getMinutes();//返回分钟 (0 ~ 59)
|
||||
MM = checkTime(MM);//调用下面的checkTime函数,设置小于10的时间数字格式,例如5秒显示成05秒
|
||||
MM1 = checkTime(MM1);
|
||||
dd = checkTime(dd);
|
||||
hh = checkTime(hh);
|
||||
mm = checkTime(mm);
|
||||
var time = yyyy + "-" + MM + "-" + dd ;
|
||||
var time1 = yyyy + "-" + MM1 + "-" + dd ;
|
||||
|
||||
var dateControl1 = $("#currentDate1");
|
||||
dateControl1.val(time1);
|
||||
function checkTime(i) {
|
||||
if (i < 10) {
|
||||
i = "0" + i;//这里如果是一位数则在前面添加一位0
|
||||
}
|
||||
return i;
|
||||
}
|
||||
var dateControl2 = $("#currentDate2");
|
||||
dateControl2.val(time);
|
||||
function checkTime(i) {
|
||||
if (i < 10) {
|
||||
i = "0" + i;//这里如果是一位数则在前面添加一位0
|
||||
}
|
||||
return i;
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="add">
|
||||
<form id="addForm" action="${basePath}dqtx?method=add" method="post">
|
||||
<table class="tableadd" style="width: 800px;">
|
||||
<tr>
|
||||
<td style="width:100px;">客 户</td>
|
||||
<td style="color: red;">
|
||||
<select style="width:300px;" id="kehu" name="Khid" class="kehu_select" >
|
||||
<option value="" style="display: none;">---请选择客户---</option>
|
||||
<c:forEach items="${list_kehu}" var="list_kehu">
|
||||
<option value="${list_kehu.id}">${list_kehu.name}</option>
|
||||
</c:forEach>
|
||||
</select>*
|
||||
</td>
|
||||
</tr>
|
||||
<tr >
|
||||
<td>开始日期</td>
|
||||
<td style="color: red;"><input style="width:300px;text-align:center;" type="date" name="Rqs" class="Rq_select" id="currentDate1">*</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>到期日期</td>
|
||||
<td style="color: red;"><input style="width:300px;text-align:center;" type="date" name="Rqe" class="Rq_select" id="currentDate2">*</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>服 务 费</td>
|
||||
<td style="color: red;"><input style="width:300px;text-align:center;" type="text" name="Je" placeholder="请输入服务费">*</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4" align="left">
|
||||
<button class="edit" type="button" onclick="window.history.back(-1);">
|
||||
<i style="display:none;" class="fa fa-arrow-left"></i>
|
||||
返回
|
||||
</button>
|
||||
<button class="remove" type="submit">
|
||||
<i style="display:none;" class="fa fa-save"></i>
|
||||
提交
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function () {//加载页面时执行select2
|
||||
$('.kehu_select').select2();
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,116 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>到期提醒详情页面</title>
|
||||
<link rel="stylesheet" href="${basePath}static/css/styles.css" />
|
||||
<link rel="stylesheet" href="${basePath}static/css/font-awesome-4.7.0/css/font-awesome.min.css" />
|
||||
<script type="text/javascript" src="${basePath}static/js/jquery.min.1.12.4.js" ></script>
|
||||
<script src="${basePath}static/js/jquery.min.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/jquery-validation-1.14.0/jquery.validate.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/jquery-validation-1.14.0/localization/messages_zh.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/click.js"></script>
|
||||
|
||||
|
||||
|
||||
<style>
|
||||
/*.masthead:hover {
|
||||
/*图片抖动*/
|
||||
-webkit-animation:bounce 1s .1s ease both;
|
||||
-moz-animation:bounce 1s .1s ease both;
|
||||
|
||||
}
|
||||
@-webkit-keyframes bounce {
|
||||
0% {
|
||||
-webkit-transform:scale(1)
|
||||
}
|
||||
10%, 20% {
|
||||
-webkit-transform:scale(0.8) rotate(-2deg)
|
||||
}
|
||||
30%, 50%, 70%, 90% {
|
||||
-webkit-transform:scale(1.1) rotate(2deg)
|
||||
}
|
||||
40%, 60%, 80% {
|
||||
-webkit-transform:scale(1.1) rotate(-2deg)
|
||||
}
|
||||
100% {
|
||||
-webkit-transform:scale(1) rotate(0)
|
||||
}
|
||||
|
||||
}*/
|
||||
|
||||
.masthead:hover {
|
||||
|
||||
/*鼠标划过周围出现阴影*/
|
||||
-webkit-transform: scale(1);
|
||||
-moz-transform: scale(1);
|
||||
transform: scale(1);
|
||||
-moz-box-shadow:0 3px 20px #888;
|
||||
-webkit-box-shadow:0 3px 20px #888;
|
||||
-webkit-transition:.3s;
|
||||
-moz-transition:.3s;
|
||||
-o-transition:.3s;
|
||||
-ms-transition:.3s;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@media screen and (max-width:1000px){
|
||||
|
||||
*{
|
||||
font-size:20px;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="add">
|
||||
<form id="addForm" >
|
||||
<input type="hidden" name="Id" value="${dqtx.id}">
|
||||
<input type="hidden" name="Khid" value="${dqtx.khid}">
|
||||
<table class="tableadd" style="width: 800px;">
|
||||
<tr>
|
||||
<td style="width:100px;">客 户</td>
|
||||
<!-- input 不可编辑方法 1:<input type="text" readonly="readonly" 2:input type="text" disabled="disabled" -->
|
||||
<td style="color: red;"><input style="width:300px;text-align:center; color: blue;font-weight:bold;" type="text" disabled="disabled" name="name" value="${dqtx.name}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>开始日期</td>
|
||||
<td style="color: red;"><input style="width:300px;text-align:center;" type="text" disabled="disabled" name="Rqs" class="Rq_select" value="${dqtx.rqs}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>到期日期</td>
|
||||
<td style="color: red;"><input style="width:300px;text-align:center;" type="text" disabled="disabled" name="Rqe" class="Rq_select" value="${dqtx.rqe}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>服 务 费</td>
|
||||
<td style="color: red;"><input style="width:300px;text-align:center;" type="text" disabled="disabled" name="Je" value="${dqtx.je}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4" align="left">
|
||||
<button class="edit" type="button" onclick="window.history.back(-1);">
|
||||
<i style="display:none;" class="fa fa-arrow-left"></i>
|
||||
返回
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
<h1>附件1:</h1>
|
||||
<img id="edit_photo" alt="照片" style="max-width: 1000px; max-height: 1000px;" title="照片" src="${basePath}dqtx?method=getPhoto1&ID=${dqtx.id}" class="masthead" />
|
||||
<h1>附件2:</h1>
|
||||
<img id="edit_photo" alt="照片" style="max-width: 1000px; max-height: 1000px;" title="照片" src="${basePath}dqtx?method=getPhoto2&ID=${dqtx.id}" class="masthead"/>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,121 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>到期提醒列表</title>
|
||||
<link rel="stylesheet" href="${basePath}static/css/styles.css" />
|
||||
<link rel="stylesheet" href="${basePath}static/css/font-awesome-4.7.0/css/font-awesome.min.css" />
|
||||
<script src="${basePath}static/js/jquery.min.js" type="text/javascript"></script>
|
||||
<script type="text/javascript" src="${basePath}static/js/My97DatePicker9/WdatePicker.js"></script>
|
||||
<script src="${basePath}static/js/click.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(function(){
|
||||
$('.remove').click(function(){
|
||||
if(confirm("确定要删除吗?")){
|
||||
window.location.href="${basePath}dqtx?method=delete&id="+$(this).attr("keyword");
|
||||
}
|
||||
})
|
||||
})
|
||||
</script>
|
||||
<style type="text/css">
|
||||
|
||||
@media screen and (max-width:1000px){
|
||||
|
||||
*{
|
||||
font-size:30px;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
|
||||
<body>
|
||||
<%
|
||||
String mess=(String)session.getAttribute("msg");
|
||||
session.removeAttribute("msg");
|
||||
if("".equals(mess) || mess==null){
|
||||
|
||||
}
|
||||
|
||||
else{%>
|
||||
<script type="text/javascript">
|
||||
alert("<%=mess%>");
|
||||
//刷新当前页面 清空session
|
||||
window.location.reload();
|
||||
</script>
|
||||
|
||||
<% }%>
|
||||
<form id="myform" action="${basePath}dqtx?method=list" method="post">
|
||||
<div class="condition" >
|
||||
客户:<input type="text" id="khmc" name="Khid" value="${dqtx.khid}"style="width:150px;">
|
||||
片区:<input type="text" id="pq" name="Pq" value="${dqtx.pq}"style="width:150px;">
|
||||
到期日期:<input name="Rqs" value="${dqtx.rqs}" style="width: 120px;" onFocus="WdatePicker({readOnly:true,dateFmt:'yyyy-MM-dd'})" /> 至
|
||||
<input id="gjrq_e" name="Rqe" value="${dqtx.rqe}" style="width:120px;" onFocus="WdatePicker({readOnly:true,dateFmt:'yyyy-MM-dd'})" />
|
||||
<button >
|
||||
<i style="display:none;" class="fa fa-search" ></i>
|
||||
查询
|
||||
</button>
|
||||
<button type="button" onclick="window.location.href='${basePath}dqtx?method=addpage'">
|
||||
<i style="display:none;" class="fa fa-plus"></i>
|
||||
新增
|
||||
</button>
|
||||
</div >
|
||||
</form>
|
||||
<form action="${basePath}dqtx?method=list" id="tableList" method="post">
|
||||
<input type="hidden" name="pageNo" value="${pageInfo.pageNo}">
|
||||
<input type="hidden" name="Id" value="${dqtx.id}">
|
||||
<input type="hidden" name="Khid" value="${dqtx.khid}">
|
||||
<input type="hidden" name="Khid" value="${dqtx.name}">
|
||||
<input type="hidden" name="Khid" value="${dqtx.pq}">
|
||||
<input type="hidden" name="Rqs" value="${dqtx.rqs}">
|
||||
<input type="hidden" name="Rqe" value="${dqtx.rqe}">
|
||||
<input type="hidden" name="Je" value="${dqtx.je}">
|
||||
<table class="tablelist">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class = "gj_id">ID</th>
|
||||
<th style="width:100px;text-align: center;">操作</th>
|
||||
<th class = "khmc">客户名称</th>
|
||||
<th class = "pq">片区</th>
|
||||
<th class = "rqs" >起始日期</th>
|
||||
<th class = "rqe">到期日期</th>
|
||||
<th>服务费</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<c:forEach items="${pageInfo.list}" var="dqtx">
|
||||
|
||||
<tr>
|
||||
<td>${dqtx.id}</td>
|
||||
<td style="width:100px;text-align: center;" class="caozuo">
|
||||
<button class="edit" type="button" onclick="window.location.href='${basePath}dqtx?method=edit&id=${dqtx.id}'">
|
||||
<i style="display:none;" class="fa fa-edit"></i>
|
||||
修改
|
||||
</button>
|
||||
<button class="remove" type="button" keyword="${dqtx.id}">
|
||||
<i style="display:none;" class="fa fa-remove"></i>
|
||||
删除
|
||||
</button>
|
||||
</td>
|
||||
<td><a href="${basePath}dqtx?method=edit&id=${dqtx.id}" style="text-decoration: none;">${dqtx.name}</a></td>
|
||||
<td>${dqtx.pq}</td>
|
||||
<td>${dqtx.rqs}</td>
|
||||
<td>${dqtx.rqe}</td>
|
||||
<td>${dqtx.je}</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</c:forEach>
|
||||
</table>
|
||||
<%@include file="../inc/page.jsp"%>
|
||||
</form>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,119 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>到期提醒列表</title>
|
||||
<link rel="stylesheet" href="${basePath}static/css/styles.css" />
|
||||
<link rel="stylesheet" href="${basePath}static/css/font-awesome-4.7.0/css/font-awesome.min.css" />
|
||||
<script src="${basePath}static/js/jquery.min.js" type="text/javascript"></script>
|
||||
<script type="text/javascript" src="${basePath}static/js/My97DatePicker9/WdatePicker.js"></script>
|
||||
|
||||
<script src="${basePath}static/js/click.js"></script>
|
||||
|
||||
<style type="text/css">
|
||||
#kehu_name:hover{
|
||||
font-size:18px;
|
||||
}
|
||||
/*修改提示框*/
|
||||
#mytitle {
|
||||
position: absolute;
|
||||
color: #ffffff;
|
||||
max-width: 160px;
|
||||
font-size: 20px;
|
||||
padding: 4px;
|
||||
background: rgba(40, 40, 40, 0.8);
|
||||
border: solid 1px #e9f7f6;
|
||||
border-radius:5px;
|
||||
}
|
||||
|
||||
|
||||
@media screen and (max-width:1000px){
|
||||
|
||||
*{
|
||||
font-size:20px;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
var x = 10;
|
||||
var y = 20;
|
||||
var newtitle = '';
|
||||
$('a.kehu_name').mouseover(function (e) {
|
||||
newtitle = this.title;
|
||||
this.title = '';
|
||||
$('body').append('<div id="mytitle" >' + newtitle + '</div>');
|
||||
$('#mytitle').css({
|
||||
'left': (e.pageX + x + 'px'),
|
||||
'top': (e.pageY + y - 80 + 'px')
|
||||
}).show();
|
||||
}).mouseout(function () {
|
||||
this.title = newtitle;
|
||||
$('#mytitle').remove();
|
||||
}).mousemove(function (e) {
|
||||
$('#mytitle').css({
|
||||
'left': (e.pageX + x +10 + 'px'),
|
||||
'top': (e.pageY + y - 60 + 'px')
|
||||
}).show();
|
||||
})
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
|
||||
|
||||
<body>
|
||||
<form id="myform" action="${basePath}dqtx?method=list1" method="post">
|
||||
<div class="condition" >
|
||||
客户:<input type="text" id="khmc" name="Khid" value="${dqtx.khid}"style="width:100px;">
|
||||
片区:<input type="text" id="pq" name="Pq" value="${dqtx.pq}"style="width:150px;">
|
||||
到期日期:<input name="Rqs" value="${dqtx.rqs}" style="width: 120px;" onFocus="WdatePicker({readOnly:true,dateFmt:'yyyy-MM-dd'})" /> 至
|
||||
<input id="gjrq_e" name="Rqe" value="${dqtx.rqe}" style="width:120px;" onFocus="WdatePicker({readOnly:true,dateFmt:'yyyy-MM-dd'})" />
|
||||
<button >
|
||||
<i style="display:none;" class="fa fa-search" ></i>
|
||||
查询
|
||||
</button>
|
||||
</div >
|
||||
</form>
|
||||
<form action="${basePath}dqtx?method=list1" id="tableList" method="post">
|
||||
<input type="hidden" name="pageNo" value="${pageInfo.pageNo}">
|
||||
<input type="hidden" name="Id" value="${dqtx.id}">
|
||||
<input type="hidden" name="Khid" value="${dqtx.khid}">
|
||||
<input type="hidden" name="Pq" value="${dqtx.pq}">
|
||||
<input type="hidden" name="Khid" value="${dqtx.name}">
|
||||
<input type="hidden" name="Rqs" value="${dqtx.rqs}">
|
||||
<input type="hidden" name="Rqe" value="${dqtx.rqe}">
|
||||
<input type="hidden" name="Je" value="${dqtx.je}">
|
||||
<table class="tablelist">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class = "gj_id">ID</th>
|
||||
<th class = "khmc">客户名称</th>
|
||||
<th class = "pq">片区</th>
|
||||
<th class = "rqs" >起始日期</th>
|
||||
<th class = "rqe">到期日期</th>
|
||||
<th>服务费</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<c:forEach items="${pageInfo.list}" var="dqtx">
|
||||
<tr>
|
||||
<td><a class="kehu_name" href="${basePath}dqtx?method=detail_user&ID=${dqtx.id}" style="text-decoration: none;color:black;" title="点击查看附件">${dqtx.id}</a></td>
|
||||
<td><a class="kehu_name" id="kehu_name" href="${basePath}dqtx?method=detail_user&ID=${dqtx.id}" style="color:blue;text-decoration: none;" title="点击查看附件">${dqtx.name}</a></td>
|
||||
<td><a class="kehu_name" href="${basePath}dqtx?method=detail_user&ID=${dqtx.id}" style="text-decoration: none;color:black;" title="点击查看附件">${dqtx.pq}</a></td>
|
||||
<td><a class="kehu_name" href="${basePath}dqtx?method=detail_user&ID=${dqtx.id}" style="text-decoration: none;color:black;" title="点击查看附件">${dqtx.rqs}</a></td>
|
||||
<td><a class="kehu_name" href="${basePath}dqtx?method=detail_user&ID=${dqtx.id}" style="text-decoration: none;color:black;" title="点击查看附件">${dqtx.rqe}</a></td>
|
||||
<td><a class="kehu_name" href="${basePath}dqtx?method=detail_user&ID=${dqtx.id}" style="text-decoration: none;color:black;" title="点击查看附件">${dqtx.je}</a></td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</table>
|
||||
<%@include file="../inc/page.jsp"%>
|
||||
</form>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,180 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>到期提醒修改页面</title>
|
||||
<link rel="stylesheet" href="${basePath}static/css/styles.css" />
|
||||
<link rel="stylesheet" href="${basePath}static/css/font-awesome-4.7.0/css/font-awesome.min.css" />
|
||||
<script src="${basePath}static/js/jquery.min.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/jquery-validation-1.14.0/jquery.validate.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/jquery-validation-1.14.0/localization/messages_zh.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/click.js"></script>
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript" src="${basePath}static/easyui/jquery.easyui.min.js"></script>
|
||||
<style>
|
||||
/*.masthead:hover {
|
||||
图片抖动
|
||||
-webkit-animation:bounce 1s .1s ease both;
|
||||
-moz-animation:bounce 1s .1s ease both;
|
||||
|
||||
}
|
||||
@-webkit-keyframes bounce {
|
||||
0% {
|
||||
-webkit-transform:scale(1)
|
||||
}
|
||||
10%, 20% {
|
||||
-webkit-transform:scale(0.8) rotate(-2deg)
|
||||
}
|
||||
30%, 50%, 70%, 90% {
|
||||
-webkit-transform:scale(1.1) rotate(2deg)
|
||||
}
|
||||
40%, 60%, 80% {
|
||||
-webkit-transform:scale(1.1) rotate(-2deg)
|
||||
}
|
||||
100% {
|
||||
-webkit-transform:scale(1) rotate(0)
|
||||
}
|
||||
|
||||
}*/
|
||||
|
||||
.masthead:hover {
|
||||
|
||||
/*鼠标划过周围出现阴影*/
|
||||
-webkit-transform: scale(1);
|
||||
-moz-transform: scale(1);
|
||||
transform: scale(1);
|
||||
-moz-box-shadow:0 3px 20px #888;
|
||||
-webkit-box-shadow:0 3px 20px #888;
|
||||
-webkit-transition:.3s;
|
||||
-moz-transition:.3s;
|
||||
-o-transition:.3s;
|
||||
-ms-transition:.3s;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
//表单 必填项验证
|
||||
$(function(){
|
||||
$("#addForm").validate({
|
||||
rules:{
|
||||
Khid:{
|
||||
required:true
|
||||
},
|
||||
Rqs:{
|
||||
required:true
|
||||
},
|
||||
Rqe:{
|
||||
required:true
|
||||
},
|
||||
Je:{
|
||||
required:true
|
||||
}
|
||||
}
|
||||
/* messages:{
|
||||
stuPwd:{
|
||||
rangelength:$.validator.format( "Please enter a value between {0} and {1} characters long.")
|
||||
}
|
||||
} */
|
||||
});
|
||||
|
||||
});
|
||||
//上传图片按钮事件
|
||||
$("#upload-photo-btn1").click(function(){
|
||||
|
||||
});
|
||||
function uploadPhoto1(){
|
||||
var action = $("#uploadForm1").attr('action');
|
||||
var pos = action.indexOf('Id');
|
||||
if(pos != -1){
|
||||
action = action.substring(0,pos-1);
|
||||
}
|
||||
$("#uploadForm1").attr('action',action+'&Id='+$("#set-photo-id").val());
|
||||
$("#uploadForm1").submit();
|
||||
setTimeout(function(){
|
||||
var message = $(window.frames["photo_target"].document).find("#message").text();
|
||||
$.messager.alert("消息提醒",message,"info");
|
||||
|
||||
$("#edit_photo1").attr("src", "${basePath}dqtx?method=getPhoto1&Id="+$("#set-photo-id").val());
|
||||
}, 1500)
|
||||
};
|
||||
|
||||
$("#upload-photo-btn2").click(function(){
|
||||
|
||||
});
|
||||
function uploadPhoto2(){
|
||||
var action = $("#uploadForm2").attr('action');
|
||||
var pos = action.indexOf('Id');
|
||||
if(pos != -1){
|
||||
action = action.substring(0,pos-1);
|
||||
}
|
||||
$("#uploadForm2").attr('action',action+'&Id='+$("#set-photo-id").val());
|
||||
$("#uploadForm2").submit();
|
||||
setTimeout(function(){
|
||||
var message = $(window.frames["photo_target"].document).find("#message").text();
|
||||
$.messager.alert("消息提醒",message,"info");
|
||||
|
||||
$("#edit_photo2").attr("src", "${basePath}dqtx?method=getPhoto2&Id="+$("#set-photo-id").val());
|
||||
}, 1500)
|
||||
}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="add">
|
||||
<form id="addForm" action="${basePath}dqtx?method=update" method="post">
|
||||
<input type="hidden" name="Id" value="${dqtx.id}">
|
||||
<input type="hidden" name="Khid" value="${dqtx.khid}">
|
||||
<table class="tableadd" style="width: 800px;">
|
||||
<tr>
|
||||
<td style="width:100px;">客 户</td>
|
||||
<!-- input 不可编辑方法 1:<input type="text" readonly="readonly" 2:input type="text" disabled="disabled" -->
|
||||
<td style="color: red;"><input style="width:300px;text-align:center;" type="text" disabled="disabled" name="name" value="${dqtx.name}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>开始日期</td>
|
||||
<td style="color: red;"><input style="width:300px;text-align:center;" type="date" name="Rqs" class="Rq_select" value="${dqtx.rqs}">*</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>到期日期</td>
|
||||
<td style="color: red;"><input style="width:300px;text-align:center;" type="date" name="Rqe" class="Rq_select" value="${dqtx.rqe}">*</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>服 务 费</td>
|
||||
<td style="color: red;"><input style="width:300px;text-align:center;" type="text" name="Je" value="${dqtx.je}">*</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4" align="left">
|
||||
<button class="edit" type="button" onclick="window.history.back(-1);">
|
||||
<i style="display:none;" class="fa fa-arrow-left"></i>
|
||||
返回
|
||||
</button>
|
||||
<button class="remove" type="submit">
|
||||
<i style="display:none;" class="fa fa-save"></i>
|
||||
提交
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form><h1>附件1:</h1>
|
||||
<img id="edit_photo1" alt="照片" style="max-width: 1000px; max-height: 1000px;" title="照片" src="${basePath}dqtx?method=getPhoto1&ID=${dqtx.id}" class="masthead" />
|
||||
<form id="uploadForm1" method="post" enctype="multipart/form-data" action="${basePath}dqtx?method=SetPhoto1" target="mainFrame">
|
||||
<input type="hidden" name="Id" id="set-photo-id" value="${dqtx.id}">
|
||||
<input class="easyui-filebox" name="photo" data-options="prompt:'选择照片'" style="width:200px;">
|
||||
<input id="upload-photo-btn1" onClick="uploadPhoto1()" class="easyui-linkbutton" style="width: 50px; height: 40px;" type="button" value="上传"/>
|
||||
</form><h1>附件2:</h1>
|
||||
<img id="edit_photo2" alt="照片" style="max-width: 1000px; max-height: 1000px;" title="照片" src="${basePath}dqtx?method=getPhoto2&ID=${dqtx.id}" class="masthead" />
|
||||
<form id="uploadForm2" method="post" enctype="multipart/form-data" action="${basePath}dqtx?method=SetPhoto2" target="mainFrame">
|
||||
<input type="hidden" name="Id" id="set-photo-id" value="${dqtx.id}">
|
||||
<input class="easyui-filebox" name="photo" data-options="prompt:'选择照片'" style="width:200px;">
|
||||
<input id="upload-photo-btn2" onClick="uploadPhoto2()" class="easyui-linkbutton" style="width: 50px; height: 40px;" type="button" value="上传"/>
|
||||
</form>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,66 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>跟进方式新增页面</title>
|
||||
<link rel="stylesheet" href="${basePath}static/css/styles.css" />
|
||||
<link rel="stylesheet" href="${basePath}static/css/font-awesome-4.7.0/css/font-awesome.min.css" />
|
||||
<script src="${basePath}static/js/jquery.min.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/jquery-validation-1.14.0/jquery.validate.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/jquery-validation-1.14.0/localization/messages_zh.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/click.js"></script>
|
||||
<script type="text/javascript">
|
||||
//表单 必填项验证
|
||||
$(function(){
|
||||
$("#addForm").validate({
|
||||
rules:{
|
||||
Gjfs:{
|
||||
required:true
|
||||
}
|
||||
}
|
||||
/* messages:{
|
||||
stuPwd:{
|
||||
rangelength:$.validator.format( "Please enter a value between {0} and {1} characters long.")
|
||||
}
|
||||
} */
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<style type="text/css">
|
||||
@media screen and (max-width:1000px){
|
||||
|
||||
*{
|
||||
font-size:30px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="add">
|
||||
<form id="addForm" action="${basePath}gjfs?method=add" method="post">
|
||||
<table class="tableadd" style="width: 800px;">
|
||||
<tr>
|
||||
<td style="width:100px;">跟进方式</td>
|
||||
<td style="color: red;"><input type="text" name="Gjfs" placeholder="请输入跟进方式">*</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4" align="left">
|
||||
<button class="edit" type="button" onclick="window.history.back(-1);">
|
||||
<i style="display:none;" class="fa fa-arrow-left"></i>
|
||||
返回
|
||||
</button>
|
||||
<button class="remove" type="submit">
|
||||
<i style="display:none;" class="fa fa-save"></i>
|
||||
提交
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,84 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>跟进方式列表</title>
|
||||
<link rel="stylesheet" href="${basePath}static/css/styles.css" />
|
||||
<link rel="stylesheet" href="${basePath}static/css/font-awesome-4.7.0/css/font-awesome.min.css" />
|
||||
<script src="${basePath}static/js/jquery.min.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/click.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(function(){
|
||||
$('.remove').click(function(){
|
||||
if(confirm("确定要删除吗?")){
|
||||
window.location.href="${basePath}gjfs?method=delete&id="+$(this).attr("keyword");
|
||||
}
|
||||
})
|
||||
})
|
||||
</script>
|
||||
<style type="text/css">
|
||||
@media screen and (max-width:1000px){
|
||||
|
||||
*{
|
||||
font-size:30px;
|
||||
}
|
||||
|
||||
.tablelist .caozuo{
|
||||
width:250px;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<form action="${basePath}gjfs?method=list" method="post">
|
||||
<div class="condition">
|
||||
ID:<input type="text" name="Id" value="${gjfs.id}">
|
||||
跟进方式:<input type="text" name="Gjfs" value="${gjfs.gjfs}">
|
||||
<button>
|
||||
<i style="display:none;" class="fa fa-search"></i>
|
||||
查询
|
||||
</button>
|
||||
<button type="button" onclick="window.location.href='page/gjfs/add.jsp'">
|
||||
<i style="display:none;" class="fa fa-plus"></i>
|
||||
新增
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
<form action="${basePath}gjfs?method=list" id="tableList" method="post">
|
||||
<input type="hidden" name="pageNo" value="${pageInfo.pageNo}">
|
||||
<input type="hidden" name="Id" value="${gjfs.id}">
|
||||
<input type="hidden" name="Gjfs" value="${gjfs.gjfs}">
|
||||
<table class="tablelist">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width:60px;">ID</th>
|
||||
<th width="120px">操作</th>
|
||||
<th>跟进方式</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<c:forEach items="${pageInfo.list}" var="gjfs">
|
||||
<tr>
|
||||
<td>${gjfs.id}</td>
|
||||
<td class="caozuo">
|
||||
<button class="edit" type="button" onclick="window.location.href='${basePath}gjfs?method=edit&id=${gjfs.id}'">
|
||||
<i style="display:none;" class="fa fa-edit"></i>
|
||||
修改
|
||||
</button>
|
||||
<button class="remove" type="button" keyword="${gjfs.id}">
|
||||
<i style="display:none;" class="fa fa-remove"></i>
|
||||
删除
|
||||
</button>
|
||||
</td>
|
||||
<td>${gjfs.gjfs}</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</table>
|
||||
<%@include file="../inc/page.jsp"%>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,68 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>跟进方式修改页面</title>
|
||||
<link rel="stylesheet" href="${basePath}static/css/styles.css" />
|
||||
<link rel="stylesheet" href="${basePath}static/css/font-awesome-4.7.0/css/font-awesome.min.css" />
|
||||
<script src="${basePath}static/js/jquery.min.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/jquery-validation-1.14.0/jquery.validate.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/jquery-validation-1.14.0/localization/messages_zh.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/click.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
//表单 验证 必填项
|
||||
$(function(){
|
||||
$("#editForm").validate({
|
||||
rules:{
|
||||
Gjfs:{
|
||||
required:true
|
||||
}
|
||||
}
|
||||
/* messages:{
|
||||
stuPwd:{
|
||||
rangelength:$.validator.format( "Please enter a value between {0} and {1} characters long.")
|
||||
}
|
||||
} */
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<style type="text/css">
|
||||
@media screen and (max-width:1000px){
|
||||
|
||||
*{
|
||||
font-size:30px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="add">
|
||||
<form id="editForm" action="${basePath}gjfs?method=editsubmit" method="post">
|
||||
<input type="hidden" name="Id" value="${gjfs.id}">
|
||||
<table class="tableadd" style="width: 100%;">
|
||||
<tr>
|
||||
<td style="width:100px;">跟进方式</td>
|
||||
<td style="color: red;"><input type="text" name="Gjfs" value="${gjfs.gjfs}">*</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4" align="left">
|
||||
<button class="edit" type="button" onclick="window.history.back(-1);">
|
||||
<i style="display:none;" class="fa fa-arrow-left"></i>
|
||||
返回
|
||||
</button>
|
||||
<button class="remove" type="submit">
|
||||
<i style="display:none;" class="fa fa-save"></i>
|
||||
提交
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,149 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>跟进记录新增页面</title>
|
||||
<link rel="stylesheet" href="${basePath}static/css/styles.css" />
|
||||
<link rel="stylesheet" href="${basePath}static/css/font-awesome-4.7.0/css/font-awesome.min.css" />
|
||||
<script src="${basePath}static/js/jquery.min.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/jquery-validation-1.14.0/jquery.validate.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/jquery-validation-1.14.0/localization/messages_zh.js" type="text/javascript"></script>
|
||||
<script type="text/javascript" src="${basePath}static/js/My97DatePicker/WdatePicker.js"></script>
|
||||
<script src="${basePath}static/js/click.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
//表单 验证 必填项
|
||||
$(function(){
|
||||
$("#editForm").validate({
|
||||
rules:{
|
||||
Rq:{
|
||||
required:true
|
||||
},
|
||||
Gjnr:{
|
||||
required:true
|
||||
}
|
||||
|
||||
}
|
||||
/* messages:{
|
||||
stuPwd:{
|
||||
rangelength:$.validator.format( "Please enter a value between {0} and {1} characters long.")
|
||||
}
|
||||
} */
|
||||
});
|
||||
});
|
||||
|
||||
//datetime-local 默认取当前时间
|
||||
$(function(){
|
||||
var today = new Date();//返回当前日期时间
|
||||
var yyyy = today.getFullYear();//获取当前年份
|
||||
var MM = today.getMonth() + 1;//因为getMonth()方法获取的是索引值,所以要+1
|
||||
var dd = today.getDate();//返回一个月中的某一天
|
||||
var hh = today.getHours();//返回小时 (0 ~ 23)
|
||||
var mm = today.getMinutes();//返回分钟 (0 ~ 59)
|
||||
MM = checkTime(MM);//调用下面的checkTime函数,设置小于10的时间数字格式,例如5秒显示成05秒
|
||||
dd = checkTime(dd);
|
||||
hh = checkTime(hh);
|
||||
mm = checkTime(mm);
|
||||
var time = yyyy + "-" + MM + "-" + dd + "T" + hh + ":" + mm;
|
||||
var dateControl = $("#currentDate");
|
||||
dateControl.val(time);
|
||||
function checkTime(i) {
|
||||
if (i < 10) {
|
||||
i = "0" + i;//这里如果是一位数则在前面添加一位0
|
||||
}
|
||||
return i;
|
||||
}
|
||||
});
|
||||
|
||||
</script>
|
||||
<style type="text/css">
|
||||
|
||||
.kh_bz{
|
||||
width: 260px;
|
||||
height: 350px;
|
||||
border:1px solid #1a1a1a;
|
||||
}
|
||||
|
||||
@media screen and (max-width:1000px){
|
||||
|
||||
*{
|
||||
font-size:30px;
|
||||
}
|
||||
.tableadd{
|
||||
padding-left:0;
|
||||
}
|
||||
|
||||
.tableadd td{
|
||||
height:100px;
|
||||
width:160px;
|
||||
}
|
||||
|
||||
.kh_bz{
|
||||
width:450px;
|
||||
height: 600px;
|
||||
|
||||
}
|
||||
.tableadd td button{
|
||||
font-size:30px;
|
||||
margin-left:100px;
|
||||
margin-top:30px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="add">
|
||||
<form id="editForm" action="${basePath}gjjl?method=add" method="post">
|
||||
<input type="hidden" name="Khid" value="${kehu.id}">
|
||||
<input type="hidden" name="Usid" value="${user.id}">
|
||||
<table class="tableadd" style="width: 800px;">
|
||||
<tr>
|
||||
<td>客户名称</td>
|
||||
<!-- input 不可编辑方法 1:<input type="text" readonly="readonly" 2:input type="text" disabled="disabled" -->
|
||||
<td style="color: red;"><input type="text" style="text-align:center;color: blue;font-weight:bold;" disabled="disabled" name="Khmc" value="${kehu.name}"></td>
|
||||
</tr>
|
||||
<!--<tr>
|
||||
<td>跟进时间</td>
|
||||
<td style="color: red;"><input name="Rq" class="Rq_select" id="currentDate" onFocus="WdatePicker({readOnly:true,dateFmt:'yyyy-MM-dd HH:mm:ss'})">*</td>
|
||||
</tr>-->
|
||||
<tr>
|
||||
<td>跟进时间</td>
|
||||
<td style="color: red;"><input type="datetime-local" name="Rq" class="Rq_select" id="currentDate">*</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>跟进方式</td>
|
||||
<td style="color: red;">
|
||||
<select id="gjfs" name="Fsid" class="gjfs_select">
|
||||
<c:forEach items="${list_gjfs}" var="list_gjfs">
|
||||
<option value="${list_gjfs.id}">${list_gjfs.gjfs}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>跟进内容</td>
|
||||
<td style="color: red;">
|
||||
<textarea maxlength="500" style="resize: none;margin-top:0px;" id="khbz" name="Gjnr" class="kh_bz" placeholder="请输入跟进内容,多行信息请回车!" ></textarea>
|
||||
*
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4" align="left">
|
||||
<button class="edit" type="button" onclick="window.history.back(-1);">
|
||||
<i style="display:none;" class="fa fa-arrow-left"></i>
|
||||
返回
|
||||
</button>
|
||||
<button class="remove" type="submit">
|
||||
<i style="display:none;" class="fa fa-save"></i>
|
||||
提交
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,168 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>跟进记录修改页面</title>
|
||||
<link rel="stylesheet" href="${basePath}static/css/styles.css" />
|
||||
<link rel="stylesheet" href="${basePath}static/css/font-awesome-4.7.0/css/font-awesome.min.css" />
|
||||
<script src="${basePath}static/js/jquery.min.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/jquery-validation-1.14.0/jquery.validate.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/jquery-validation-1.14.0/localization/messages_zh.js" type="text/javascript"></script>
|
||||
<script type="text/javascript" src="${basePath}static/js/My97DatePicker/WdatePicker.js"></script>
|
||||
<script src="${basePath}static/js/click.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
//表单 验证 必填项
|
||||
$(function(){
|
||||
$("#editForm").validate({
|
||||
rules:{
|
||||
Rq:{
|
||||
required:true
|
||||
},
|
||||
Gjnr:{
|
||||
required:true
|
||||
}
|
||||
|
||||
}
|
||||
/* messages:{
|
||||
stuPwd:{
|
||||
rangelength:$.validator.format( "Please enter a value between {0} and {1} characters long.")
|
||||
}
|
||||
} */
|
||||
});
|
||||
});
|
||||
|
||||
//datetime-local 默认取当前时间
|
||||
$(function(){
|
||||
//var today = new Date();//返回当前日期时间
|
||||
//var yyyy = today.getFullYear();//获取当前年份
|
||||
//var MM = today.getMonth() + 1;//因为getMonth()方法获取的是索引值,所以要+1
|
||||
//var dd = today.getDate();//返回一个月中的某一天
|
||||
//var hh = today.getHours();//返回小时 (0 ~ 23)
|
||||
//var mm = today.getMinutes();//返回分钟 (0 ~ 59)
|
||||
//MM = checkTime(MM);//调用下面的checkTime函数,设置小于10的时间数字格式,例如5秒显示成05秒
|
||||
//dd = checkTime(dd);
|
||||
//hh = checkTime(hh);
|
||||
//mm = checkTime(mm);
|
||||
//var time = yyyy + "-" + MM + "-" + dd + "T" + hh + ":" + mm;
|
||||
var time = '${gjjl.rq}';
|
||||
var dateControl = $("#currentDate");
|
||||
dateControl.val(time);
|
||||
//function checkTime(i) {
|
||||
// if (i < 10) {
|
||||
// i = "0" + i;//这里如果是一位数则在前面添加一位0
|
||||
// }
|
||||
// return i;
|
||||
//}
|
||||
});
|
||||
|
||||
</script>
|
||||
<style type="text/css">
|
||||
|
||||
.kh_bz{
|
||||
width: 260px;
|
||||
height: 350px;
|
||||
border:1px solid #1a1a1a;
|
||||
}
|
||||
|
||||
@media screen and (max-width:1000px){
|
||||
|
||||
*{
|
||||
font-size:30px;
|
||||
}
|
||||
.tableadd{
|
||||
padding-left:0;
|
||||
}
|
||||
|
||||
.tableadd td{
|
||||
height:100px;
|
||||
width:160px;
|
||||
}
|
||||
|
||||
.kh_bz{
|
||||
width:450px;
|
||||
height: 600px;
|
||||
|
||||
}
|
||||
.tableadd td button{
|
||||
font-size:30px;
|
||||
margin-left:100px;
|
||||
margin-top:30px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="add">
|
||||
<form id="editForm" action="${basePath}gjjl?method=editsubmit" method="post">
|
||||
<input type="hidden" name="Id" value="${gjjl.id}">
|
||||
<input type="hidden" name="Khmc" value="${gjjl.khid}">
|
||||
<input type="hidden" name="User" value="${user.name}">
|
||||
<table class="tableadd" style="width: 800px;">
|
||||
<tr>
|
||||
<td>客户名称</td>
|
||||
<!-- input 不可编辑方法 1:<input type="text" readonly="readonly" 2:input type="text" disabled="disabled" -->
|
||||
<td style="color: red;"><input type="text" style="text-align:center;color: blue;font-weight:bold;" disabled="disabled" name="Khmc" value="${gjjl.khid}"></td>
|
||||
</tr>
|
||||
<!--<tr>
|
||||
<td>跟进时间</td>
|
||||
<td style="color: red;"><input name="Rq" class="Rq_select" id="currentDate" onFocus="WdatePicker({readOnly:true,dateFmt:'yyyy-MM-dd HH:mm:ss'})">*</td>
|
||||
</tr>-->
|
||||
<tr>
|
||||
<td>跟进时间</td>
|
||||
<td style="color: red;"><input type="datetime-local" name="Rq" class="Rq_select" id="currentDate" value="${gjjl.rq}">*</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>跟进方式</td>
|
||||
<!--
|
||||
<td style="color: red;">
|
||||
<select id="gjfs" name="Fsid" class="gjfs_select">
|
||||
<c:forEach items="${list_gjfs}" var="list_gjfs">
|
||||
<option value="${list_gjfs.id}">${list_gjfs.gjfs}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</td>
|
||||
-->
|
||||
<!-- select遍历list默认选中初始值 -->
|
||||
<td style="color: red;">
|
||||
<select id="gjfs" name="Fsid" class="gjfs_select">
|
||||
<c:forEach items="${list_gjfs}" var="list_gjfs">
|
||||
<c:choose>
|
||||
<c:when test="${list_gjfs.id eq gjjl.fsid}">
|
||||
<option value="${list_gjfs.id}" selected="selected">${list_gjfs.gjfs} </option>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<option value="${list_gjfs.id}">${list_gjfs.gjfs}</option>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>跟进内容</td>
|
||||
<td style="color: red;">
|
||||
<textarea id="qrcodefortemcontent" maxlength="500" style="resize: none;margin-top:0px;" id="khbz" name="Gjnr" class="kh_bz" placeholder="请输入跟进内容,多行信息请回车!" >${gjjl.gjnr}</textarea>
|
||||
*
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4" align="left">
|
||||
<button class="edit" type="button" onclick="window.history.back(-1);">
|
||||
<i style="display:none;" class="fa fa-arrow-left"></i>
|
||||
返回
|
||||
</button>
|
||||
<button class="remove" type="submit">
|
||||
<i style="display:none;" class="fa fa-save"></i>
|
||||
提交
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,204 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>跟进记录列表</title>
|
||||
<link rel="stylesheet" href="${basePath}static/css/styles.css" />
|
||||
<link rel="stylesheet" href="${basePath}static/css/font-awesome-4.7.0/css/font-awesome.min.css" />
|
||||
<script src="${basePath}static/js/jquery.min.js" type="text/javascript"></script>
|
||||
<script type="text/javascript" src="${basePath}static/js/My97DatePicker9/WdatePicker.js"></script>
|
||||
<script src="${basePath}static/js/click.js"></script>
|
||||
<script type="text/javascript">
|
||||
//导出按钮监听事件
|
||||
$(function() {
|
||||
$("#export").click(function(){
|
||||
var Id = myform.gjid.value;
|
||||
var Khid = myform.khmc.value;
|
||||
var Usid = myform.gjr.value;
|
||||
var Rq_start = myform.gjrq_s.value;
|
||||
var Rq_end = myform.gjrq_e.value;
|
||||
if(confirm("确定要导出吗?")){
|
||||
url = '${basePath}gjjl?method=exportGjjl&Id='+Id+"&Khid="+Khid+"&Usid="+Usid+"&Rq_s="+Rq_start+"&Rq_e="+Rq_end;
|
||||
window.location.href = url;
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
$(function(){
|
||||
$('.remove').click(function(){
|
||||
if(confirm("确定要删除吗?")){
|
||||
window.location.href="${basePath}gjjl?method=delete&ID="+$(this).attr("keyword")+"&User=${user.name}";
|
||||
}
|
||||
})
|
||||
})
|
||||
</script>
|
||||
<style type="text/css">
|
||||
.kehu_name:hover{
|
||||
font-size:18px;
|
||||
}
|
||||
|
||||
.edit:hover{
|
||||
font-size:18px;
|
||||
color:#fa541c;
|
||||
}
|
||||
|
||||
.remove:hover{
|
||||
font-size:18px;
|
||||
}
|
||||
|
||||
|
||||
/*修改提示框*/
|
||||
#mytitle {
|
||||
position: absolute;
|
||||
color: #ffffff;
|
||||
max-width: 160px;
|
||||
font-size: 20px;
|
||||
padding: 4px;
|
||||
background: rgba(40, 40, 40, 0.8);
|
||||
border: solid 1px #e9f7f6;
|
||||
border-radius:5px;
|
||||
}
|
||||
|
||||
|
||||
@media screen and (max-width:1000px){
|
||||
|
||||
*{
|
||||
font-size:20px;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
var x = 10;
|
||||
var y = 20;
|
||||
var newtitle = '';
|
||||
$('a.kehu_name').mouseover(function (e) {
|
||||
newtitle = this.title;
|
||||
this.title = '';
|
||||
$('body').append('<div id="mytitle" >' + newtitle + '</div>');
|
||||
$('#mytitle').css({
|
||||
'left': (e.pageX + x + 'px'),
|
||||
'top': (e.pageY + y - 80 + 'px')
|
||||
}).show();
|
||||
}).mouseout(function () {
|
||||
this.title = newtitle;
|
||||
$('#mytitle').remove();
|
||||
}).mousemove(function (e) {
|
||||
$('#mytitle').css({
|
||||
'left': (e.pageX + x +10 + 'px'),
|
||||
'top': (e.pageY + y - 60 + 'px')
|
||||
}).show();
|
||||
})
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<%
|
||||
String mess=(String)session.getAttribute("msg");
|
||||
session.removeAttribute("msg");
|
||||
if("".equals(mess) || mess==null){
|
||||
|
||||
}
|
||||
|
||||
else{%>
|
||||
<script type="text/javascript">
|
||||
alert("<%=mess%>");
|
||||
//刷新当前页面 清空session
|
||||
window.location.reload();
|
||||
</script>
|
||||
|
||||
<% }%>
|
||||
<form id="myform" action="${basePath}gjjl?method=list" method="post">
|
||||
<div class="condition" >
|
||||
ID:<input type="text" id="gjid" name="Id" value="${gjjl.id}" style="width:30px;">
|
||||
客户:<input type="text" id="khmc" name="Khid" value="${gjjl.khid}"style="width:100px;">
|
||||
跟进人:<input type="text" id="gjr" name="Usid" value="${gjjl.usid}" style="width:70px;">
|
||||
日期:<input id="gjrq_s" name="Rq_s" value="${gjjl.rq}" style="width: 120px;" onFocus="WdatePicker({readOnly:true,dateFmt:'yyyy-MM-dd'})" /> 至
|
||||
<input id="gjrq_e" name="Rq_e" value="${gjjl.rq_e}" style="width:120px;" onFocus="WdatePicker({readOnly:true,dateFmt:'yyyy-MM-dd'})" />
|
||||
<button >
|
||||
<i style="display:none;" class="fa fa-search" ></i>
|
||||
查询
|
||||
</button>
|
||||
<a id="export" href="javascript:;" class="exp" data-options="iconCls:'icon-add',plain:true" style="text-decoration: none;">
|
||||
<i style="display:none;" class="fa fa-upload"></i>
|
||||
导出
|
||||
</a>
|
||||
<a id="reply" href="${basePath}gjjl?method=list" class="rep" data-options="iconCls:'icon-add',plain:true" style="text-decoration: none;">
|
||||
<i style="display:none;" class="fa fa-refresh" aria-hidden="true"></i>
|
||||
重置
|
||||
</a>
|
||||
</div >
|
||||
</form>
|
||||
<form action="${basePath}gjjl?method=list" id="tableList" method="post">
|
||||
<input type="hidden" name="pageNo" value="${pageInfo.pageNo}">
|
||||
<input type="hidden" name="Id" value="${gjjl.id}">
|
||||
<input type="hidden" name="Khid" value="${gjjl.khid}">
|
||||
<input type="hidden" name="Fsid" value="${gjjl.fsid}">
|
||||
<input type="hidden" name="Usid" value="${gjjl.usid}">
|
||||
<input type="hidden" name="Gjnr" value="${gjjl.gjnr}">
|
||||
<input type="hidden" name="Rq_s" value="${gjjl.rq}">
|
||||
<input type="hidden" name="Rq_e" value="${gjjl.rq_e}">
|
||||
<table class="tablelist">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class = "gj_id">ID</th>
|
||||
<!-- 用户才能有操作权限 -->
|
||||
<c:if test="${type == 1}">
|
||||
<th class = "cz" style="width:140px;">操作</th>
|
||||
</c:if>
|
||||
<th class = "khmc_gj">客户名称</th>
|
||||
<th class = "gjfs">跟进方式</th>
|
||||
<th class = "gjr">跟进人</th>
|
||||
<th>跟进内容</th>
|
||||
<th class = "gjsj">跟进时间</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<c:forEach items="${pageInfo.list}" var="gjjl">
|
||||
<tr>
|
||||
<td>${gjjl.id}</td>
|
||||
<!-- 用户才能有操作权限 -->
|
||||
<c:if test="${type == 1}">
|
||||
<c:if test="${gjjl.usid == user.name}">
|
||||
<td style="text-align: center;">
|
||||
<button class="edit" type="button" onclick="window.location.href='${basePath}gjjl?method=edit&ID=${gjjl.id}'">
|
||||
<i style="display:none;" class="fa fa-edit"></i>
|
||||
修改
|
||||
</button>
|
||||
<button class="remove" type="button" keyword="${gjjl.id}">
|
||||
<i style="display:none;" class="fa fa-remove"></i>
|
||||
删除
|
||||
</button>
|
||||
</td>
|
||||
</c:if>
|
||||
<c:if test="${gjjl.usid != user.name}">
|
||||
<td style="text-align: center;" >
|
||||
|
||||
<h1 class="note"style="color:#999999;">非本人无法操作</h1>
|
||||
|
||||
</td>
|
||||
</c:if>
|
||||
</c:if>
|
||||
<td>${gjjl.khid}</td>
|
||||
<td>${gjjl.fsid}</td>
|
||||
<td>${gjjl.usid}</td>
|
||||
<td>${gjjl.gjnr}</td>
|
||||
<td>${gjjl.rq}</td>
|
||||
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</table>
|
||||
<%@include file="../inc/page.jsp"%>
|
||||
</form>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,29 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<table class="page">
|
||||
<td>
|
||||
<button type="button" key="1">首页</button>
|
||||
<button type="button" <c:if test="${pageInfo.firstPage == true}">disabled</c:if> key="${pageInfo.prePage}">上一页</button>
|
||||
<button type="button" <c:if test="${pageInfo.lastPage == true}">disabled</c:if> key="${pageInfo.nextPage}">下一页</button>
|
||||
<button type="button" key="${pageInfo.totalPage}">尾页</button>
|
||||
<input type="text" class="page-no" id="page-no" value="${pageInfo.pageNo}" />
|
||||
<button type="button" class="zhuan">转</button>
|
||||
总记录条数${pageInfo.totalCount}条,当前${pageInfo.pageNo}/${pageInfo.totalPage}页 每页${pageInfo.pageSize}条数据
|
||||
</td>
|
||||
</table>
|
||||
<script type="text/javascript">
|
||||
$(function(){
|
||||
$('.page .zhuan').click(function(){
|
||||
if(parseInt($('#page-no').val())<=parseInt("${pageInfo.totalPage}")){
|
||||
$('input[name="pageNo"]').val($('#page-no').val());
|
||||
$("#tableList").submit();
|
||||
}else{
|
||||
alert("不能大于总页数");
|
||||
}
|
||||
});
|
||||
$('.page button:not(.zhuan)').click(function(){
|
||||
$('input[name="pageNo"]').val($(this).attr("key"));
|
||||
$("#tableList").submit();
|
||||
})
|
||||
})
|
||||
</script>
|
||||
@@ -0,0 +1,101 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>客户新增页面</title>
|
||||
<link rel="stylesheet" href="${basePath}static/css/styles.css" />
|
||||
<link rel="stylesheet" href="${basePath}static/css/font-awesome-4.7.0/css/font-awesome.min.css" />
|
||||
<script src="${basePath}static/js/jquery.min.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/jquery-validation-1.14.0/jquery.validate.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/jquery-validation-1.14.0/localization/messages_zh.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/click.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(function(){
|
||||
$("#addForm").validate({
|
||||
rules:{
|
||||
Name:{
|
||||
required:true
|
||||
}
|
||||
}
|
||||
/* messages:{
|
||||
stuPwd:{
|
||||
rangelength:$.validator.format( "Please enter a value between {0} and {1} characters long.")
|
||||
}
|
||||
} */
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<style type="text/css">
|
||||
|
||||
.kh_bz{
|
||||
width: 260px;
|
||||
height: 350px;
|
||||
border:1px solid #1a1a1a;
|
||||
margin-top:20px;
|
||||
resize: none;/*超级文本框右下角拖拽放大按钮*/
|
||||
}
|
||||
|
||||
@media screen and (max-width:1000px){
|
||||
|
||||
*{
|
||||
font-size:30px;
|
||||
}
|
||||
|
||||
.tableadd{
|
||||
padding-left:0;
|
||||
}
|
||||
|
||||
.tableadd td{
|
||||
height:100px;
|
||||
width:160px;
|
||||
}
|
||||
|
||||
.kh_bz{
|
||||
width:400px;
|
||||
height: 600px;
|
||||
|
||||
}
|
||||
.tableadd td button{
|
||||
font-size:50px;
|
||||
margin-left:100px;
|
||||
margin-top:50px;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="add">
|
||||
<form id="addForm" action="${basePath}kehu?method=add" method="post">
|
||||
<table class="tableadd" style="width: 800px;">
|
||||
|
||||
<tr>
|
||||
<td>客户名称</td>
|
||||
<td style="color: red;"><input type="text" name="Name"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>备注信息</td>
|
||||
<td style="color: red;" >
|
||||
<textarea maxlength="500" id="khbz" name="Bz" class="kh_bz" placeholder="请输入客户的附加信息,多行信息请回车!" ></textarea>
|
||||
建议填写,完善信息方便管理!
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4" align="left">
|
||||
<button class="edit" type="button" onclick="window.history.back(-1);">
|
||||
<i style="display:none;" class="fa fa-arrow-left"></i>
|
||||
返回
|
||||
</button>
|
||||
<button class="remove" type="submit">
|
||||
<i style="display:none;" class="fa fa-save"></i>
|
||||
提交
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,89 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>客户信息列表</title>
|
||||
<link rel="stylesheet" href="${basePath}static/css/styles.css" />
|
||||
<link rel="stylesheet" href="${basePath}static/css/font-awesome-4.7.0/css/font-awesome.min.css" />
|
||||
<script src="${basePath}static/js/jquery.min.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/click.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(function(){
|
||||
$('.remove').click(function(){
|
||||
if(confirm("确定要删除吗?")){
|
||||
window.location.href="${basePath}kehu?method=delete&id="+$(this).attr("keyword");
|
||||
}
|
||||
})
|
||||
})
|
||||
</script>
|
||||
<style type="text/css">
|
||||
@media screen and (max-width:1000px){
|
||||
|
||||
*{
|
||||
font-size:30px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<form action="${basePath}kehu?method=list" method="post">
|
||||
<div class="condition">
|
||||
ID:<input type="text" style="width:40px; name="Id" value="${kehu.id}" >
|
||||
客户名称:<input type="text" name="Name" value="${kehu.name}">
|
||||
备注:<input type="text" name="Bz" value="${kehu.bz}">
|
||||
<button>
|
||||
<i style="display:none;" class="fa fa-search"></i>
|
||||
查询
|
||||
</button>
|
||||
<button type="button" onclick="window.location.href='page/kehu/add.jsp'">
|
||||
<i style="display:none;" class="fa fa-plus"></i>
|
||||
新增
|
||||
</button>
|
||||
<a><i style="display:none;" class="fa fa-upload" aria-hidden="true"></i>导入</a>
|
||||
</div>
|
||||
</form>
|
||||
<form action="${basePath}kehu?method=list" id="tableList" method="post">
|
||||
<input type="hidden" name="pageNo" value="${pageInfo.pageNo}">
|
||||
<input type="hidden" name="Id" value="${kehu.id}">
|
||||
<input type="hidden" name="Name" value="${kehu.name}">
|
||||
<input type="hidden" name="Bz" value="${kehu.bz}">
|
||||
<table class="tablelist">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<th width="120px" class="caozuo">操作</th>
|
||||
<th class = "khmc">客户名称</th>
|
||||
<th>片区</th>
|
||||
<th>备注信息</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<c:forEach items="${pageInfo.list}" var="kehu">
|
||||
<tr>
|
||||
<td>${kehu.id}</td>
|
||||
<td >
|
||||
<button class="edit" type="button" onclick="window.location.href='${basePath}kehu?method=edit&id=${kehu.id}'">
|
||||
<i style="display:none;" class="fa fa-edit"></i>
|
||||
修改
|
||||
</button>
|
||||
<button class="remove" type="button" keyword="${kehu.id}">
|
||||
<i style="display:none;" class="fa fa-remove"></i>
|
||||
删除
|
||||
</button>
|
||||
</td>
|
||||
<td><a href="${basePath}kehu?method=edit&id=${kehu.id}" style="text-decoration: none;">${kehu.name}</a></td>
|
||||
<td>${kehu.pq}</td>
|
||||
<td>${kehu.bz}</td>
|
||||
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</table>
|
||||
<%@include file="../inc/page.jsp"%>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,137 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>员工_客户信息界面</title>
|
||||
<link rel="stylesheet" href="${basePath}static/css/styles.css" />
|
||||
<link rel="stylesheet" href="${basePath}static/css/font-awesome-4.7.0/css/font-awesome.min.css" />
|
||||
<script src="${basePath}static/js/jquery.min.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/click.js"></script>
|
||||
|
||||
<style type="text/css">
|
||||
.kehu_name:hover{
|
||||
font-size:18px;
|
||||
}
|
||||
|
||||
.edit:hover{
|
||||
font-size:18px;
|
||||
color:#fa541c;
|
||||
}
|
||||
|
||||
/*修改提示框*/
|
||||
#mytitle {
|
||||
position: absolute;
|
||||
color: #ffffff;
|
||||
max-width: 160px;
|
||||
font-size: 20px;
|
||||
padding: 4px;
|
||||
background: rgba(40, 40, 40, 0.8);
|
||||
border: solid 1px #e9f7f6;
|
||||
border-radius:5px;
|
||||
}
|
||||
|
||||
|
||||
@media screen and (max-width:1000px){
|
||||
|
||||
*{
|
||||
font-size:20px;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
var x = 10;
|
||||
var y = 20;
|
||||
var newtitle = '';
|
||||
$('a.kehu_name').mouseover(function (e) {
|
||||
newtitle = this.title;
|
||||
this.title = '';
|
||||
$('body').append('<div id="mytitle" >' + newtitle + '</div>');
|
||||
$('#mytitle').css({
|
||||
'left': (e.pageX + x + 'px'),
|
||||
'top': (e.pageY + y - 80 + 'px')
|
||||
}).show();
|
||||
}).mouseout(function () {
|
||||
this.title = newtitle;
|
||||
$('#mytitle').remove();
|
||||
}).mousemove(function (e) {
|
||||
$('#mytitle').css({
|
||||
'left': (e.pageX + x +10 + 'px'),
|
||||
'top': (e.pageY + y - 60 + 'px')
|
||||
}).show();
|
||||
})
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<%
|
||||
String mess=(String)session.getAttribute("msg");
|
||||
session.removeAttribute("msg");
|
||||
if("".equals(mess) || mess==null){
|
||||
|
||||
}
|
||||
|
||||
else{%>
|
||||
<script type="text/javascript">
|
||||
alert("<%=mess%>");
|
||||
//刷新当前页面 清空session
|
||||
window.location.reload();
|
||||
</script>
|
||||
|
||||
<% }%>
|
||||
<form action="${basePath}kehu?method=list1" method="post">
|
||||
<div class="condition">
|
||||
ID:<input type="text" style="width:30px;" name="Id" value="${kehu.id}">
|
||||
客户名称:<input type="text" name="Name" value="${kehu.name}">
|
||||
备注:<input type="text" name="Bz" value="${kehu.bz}" >
|
||||
<button>
|
||||
<i style="display:none;" class="fa fa-search"></i>
|
||||
查询
|
||||
</button>
|
||||
<a id="reply" href="${basePath}kehu?method=list1" class="rep" data-options="iconCls:'icon-add',plain:true" style="text-decoration: none;">
|
||||
<i style="display:none;" class="fa fa-refresh" aria-hidden="true"></i>
|
||||
重置
|
||||
</a>
|
||||
</div>
|
||||
</form>
|
||||
<form action="${basePath}kehu?method=list1" id="tableList" method="post">
|
||||
<input type="hidden" name="pageNo" value="${pageInfo.pageNo}">
|
||||
<input type="hidden" name="Id" value="${kehu.id}">
|
||||
<input type="hidden" name="Name" value="${kehu.name}">
|
||||
<input type="hidden" name="Bz" value="${kehu.bz}">
|
||||
<table class="tablelist">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<th class="caozuo_gj" style="width:80px">操作</th>
|
||||
<th class = "khmc">客户名称</th>
|
||||
<th>片区</th>
|
||||
<th>备注信息</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<c:forEach items="${pageInfo.list}" var="kehu">
|
||||
<tr>
|
||||
<td>${kehu.id}</td>
|
||||
<td align="center">
|
||||
<button class="edit" type="button" onclick="window.location.href='${basePath}gjjl?method=gj&id=${kehu.id}'" style="font-weight:bold">
|
||||
<i style="display:none;" class="fa fa-pencil-square-o" aria-hidden="true"></i>
|
||||
跟进
|
||||
</button>
|
||||
|
||||
</td>
|
||||
<td>${kehu.name}</td>
|
||||
<td>${kehu.pq}</td>
|
||||
<td>${kehu.bz}</td>
|
||||
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</table>
|
||||
<%@include file="../inc/page.jsp"%>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,106 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>客户信息修改页面</title>
|
||||
<link rel="stylesheet" href="${basePath}static/css/styles.css" />
|
||||
<link rel="stylesheet" href="${basePath}static/css/font-awesome-4.7.0/css/font-awesome.min.css" />
|
||||
<script src="${basePath}static/js/jquery.min.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/jquery-validation-1.14.0/jquery.validate.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/jquery-validation-1.14.0/localization/messages_zh.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/click.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
/*表单验证*/
|
||||
$(function(){
|
||||
$("#editForm").validate({
|
||||
rules:{
|
||||
Name:{
|
||||
required:true
|
||||
}
|
||||
}
|
||||
/* messages:{
|
||||
stuPwd:{
|
||||
rangelength:$.validator.format( "Please enter a value between {0} and {1} characters long.")
|
||||
}
|
||||
} */
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<style type="text/css">
|
||||
|
||||
.kh_bz{
|
||||
width: 260px;
|
||||
height: 350px;
|
||||
border:1px solid #1a1a1a;
|
||||
margin-top:20px;
|
||||
resize: none;/*超级文本框右下角拖拽放大按钮*/
|
||||
}
|
||||
|
||||
@media screen and (max-width:1000px){
|
||||
|
||||
*{
|
||||
font-size:30px;
|
||||
}
|
||||
|
||||
.tableadd{
|
||||
padding-left:0;
|
||||
}
|
||||
|
||||
.tableadd td{
|
||||
height:100px;
|
||||
width:160px;
|
||||
}
|
||||
|
||||
.kh_bz{
|
||||
width:400px;
|
||||
height: 600px;
|
||||
|
||||
}
|
||||
.tableadd td button{
|
||||
font-size:50px;
|
||||
margin-left:100px;
|
||||
margin-top:50px;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="add">
|
||||
<form id="editForm" action="${basePath}kehu?method=editsubmit" method="post">
|
||||
<input type="hidden" name="Id" value="${kehu.id}">
|
||||
<table class="tableadd" style="width: 100%;">
|
||||
<tr>
|
||||
<td style="width:100px;">客户姓名</td>
|
||||
<td style="color: red;"><input type="text" name="Name" value="${kehu.name}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>片区</td>
|
||||
<td style="color: red;"><input type="text" name="Pq" value="${kehu.pq}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td >备注信息</td>
|
||||
<td style="color: red;"><textarea maxlength="500" id="khbz" name="Bz" class="kh_bz" placeholder="请输入客户的附加信息" >${kehu.bz}</textarea>
|
||||
建议填写,完善信息方便管理!</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4" align="left">
|
||||
<button class="edit" type="button" onclick="window.history.back(-1);">
|
||||
<i style="display:none;" class="fa fa-arrow-left"></i>
|
||||
返回
|
||||
</button>
|
||||
<button class="remove" type="submit">
|
||||
<i style="display:none;" class="fa fa-save"></i>
|
||||
提交
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,196 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>PDA授权新增</title>
|
||||
|
||||
<script type="text/javascript" src="${basePath}static/js/jquery.min.1.12.4.js" ></script>
|
||||
<link rel="stylesheet" href="${basePath}static/css/select2.min.css" />
|
||||
<script type="text/javascript" src="${basePath}static/js/select2.min.js" ></script>
|
||||
|
||||
<link rel="stylesheet" href="${basePath}static/css/styles.css" />
|
||||
<link rel="stylesheet" href="${basePath}static/css/font-awesome-4.7.0/css/font-awesome.min.css" />
|
||||
|
||||
|
||||
|
||||
<script src="${basePath}static/js/jquery-validation-1.14.0/jquery.validate.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/jquery-validation-1.14.0/localization/messages_zh.js" type="text/javascript"></script>
|
||||
<script type="text/javascript" src="${basePath}static/js/My97DatePicker/WdatePicker.js"></script>
|
||||
<script src="${basePath}static/js/click.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
//表单 验证 必填项
|
||||
$(function(){
|
||||
$("#editForm").validate({
|
||||
rules:{
|
||||
meid:{
|
||||
required:true
|
||||
},
|
||||
khmc:{
|
||||
required:true
|
||||
}
|
||||
|
||||
}
|
||||
/* messages:{
|
||||
stuPwd:{
|
||||
rangelength:$.validator.format( "Please enter a value between {0} and {1} characters long.")
|
||||
}
|
||||
} */
|
||||
});
|
||||
});
|
||||
|
||||
//datetime-local 默认取当前时间
|
||||
$(function(){
|
||||
var today = new Date();//返回当前日期时间
|
||||
var yyyy = today.getFullYear();//获取当前年份
|
||||
var MM = today.getMonth() + 1;//因为getMonth()方法获取的是索引值,所以要+1
|
||||
var dd = today.getDate();//返回一个月中的某一天
|
||||
var hh = today.getHours();//返回小时 (0 ~ 23)
|
||||
var mm = today.getMinutes();//返回分钟 (0 ~ 59)
|
||||
MM = checkTime(MM);//调用下面的checkTime函数,设置小于10的时间数字格式,例如5秒显示成05秒
|
||||
dd = checkTime(dd);
|
||||
hh = checkTime(hh);
|
||||
mm = checkTime(mm);
|
||||
var time = yyyy + "-" + MM + "-" + dd + "T" + hh + ":" + mm;
|
||||
var dateControl = $("#currentDate");
|
||||
dateControl.val(time);
|
||||
function checkTime(i) {
|
||||
if (i < 10) {
|
||||
i = "0" + i;//这里如果是一位数则在前面添加一位0
|
||||
}
|
||||
return i;
|
||||
}
|
||||
});
|
||||
|
||||
</script>
|
||||
<style type="text/css">
|
||||
|
||||
.kh_bz{
|
||||
width: 260px;
|
||||
height: 350px;
|
||||
border:1px solid #1a1a1a;
|
||||
}
|
||||
|
||||
.kehu_select{
|
||||
height:30px;
|
||||
width:160px;
|
||||
}
|
||||
|
||||
.Rq_select{
|
||||
height:30px;
|
||||
width:160px;
|
||||
}
|
||||
|
||||
@media screen and (max-width:1000px){
|
||||
|
||||
*{
|
||||
font-size:30px;
|
||||
}
|
||||
.tableadd{
|
||||
padding-left:0;
|
||||
}
|
||||
|
||||
.tableadd td{
|
||||
height:80px;
|
||||
width:160px;
|
||||
}
|
||||
|
||||
.kh_bz{
|
||||
width:450px;
|
||||
height: 600px;
|
||||
|
||||
}
|
||||
.tableadd td button{
|
||||
font-size:30px;
|
||||
margin-left:100px;
|
||||
margin-top:30px;
|
||||
}
|
||||
.kehu_select{
|
||||
height:40px;
|
||||
width:400px;
|
||||
}
|
||||
|
||||
.Rq_select{
|
||||
height:40px;
|
||||
width:400px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="add">
|
||||
<form id="editForm" action="${basePath}pda?method=add" method="post">
|
||||
<table class="tableadd" style="width: 800px;">
|
||||
<tr>
|
||||
<td style="width:100px;height:40px;">客户名称</td>
|
||||
<td style="color: red;">
|
||||
<select name="khmc" class="kehu_select" >
|
||||
<option value="" style="display: none;">---请选择客户---</option>
|
||||
<c:forEach items="${list_kehu}" var="list_kehu">
|
||||
<option value="${list_kehu.id}">${list_kehu.name}</option>
|
||||
</c:forEach>
|
||||
</select>*
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>产品</td>
|
||||
<!-- input 不可编辑方法 1:<input type="text" readonly="readonly" 2:input type="text" disabled="disabled" -->
|
||||
<td style="color: red;">
|
||||
<select id="gjfs" name="product" class="gjfs_select">
|
||||
<option value="AM-DAQ" selected>AM-DAQ</option>
|
||||
<option value="AM-WMS">AM-WMS</option>
|
||||
<option value="AM-POS">AM-POS</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>设备ID</td>
|
||||
<!-- input 不可编辑方法 1:<input type="text" readonly="readonly" 2:input type="text" disabled="disabled" -->
|
||||
<td style="color: red;"><input type="text" style="" name="meid" >*</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>到期时间</td>
|
||||
<td><input type="datetime-local" name="jzsj" class="Rq_select" id="currentDate"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>备注</td>
|
||||
<td><input type="text" name="bz" placeholder=""></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4" align="left">
|
||||
<button class="edit" type="button" onclick="window.history.back(-1);">
|
||||
<i style="display:none;" class="fa fa-arrow-left"></i>
|
||||
返回
|
||||
</button>
|
||||
<button class="remove" type="submit">
|
||||
<i style="display:none;" class="fa fa-save"></i>
|
||||
授权
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function () {//加载页面时执行select2
|
||||
$('.kehu_select').select2();
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,157 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>PDA授权修改</title>
|
||||
<link rel="stylesheet" href="${basePath}static/css/styles.css" />
|
||||
<link rel="stylesheet" href="${basePath}static/css/font-awesome-4.7.0/css/font-awesome.min.css" />
|
||||
<script src="${basePath}static/js/jquery.min.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/jquery-validation-1.14.0/jquery.validate.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/jquery-validation-1.14.0/localization/messages_zh.js" type="text/javascript"></script>
|
||||
<script type="text/javascript" src="${basePath}static/js/My97DatePicker/WdatePicker.js"></script>
|
||||
<script src="${basePath}static/js/click.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
//表单 验证 必填项
|
||||
$(function(){
|
||||
$("#editForm").validate({
|
||||
rules:{
|
||||
jzsj:{
|
||||
required:true
|
||||
},
|
||||
khmc:{
|
||||
required:true
|
||||
}
|
||||
|
||||
}
|
||||
/* messages:{
|
||||
stuPwd:{
|
||||
rangelength:$.validator.format( "Please enter a value between {0} and {1} characters long.")
|
||||
}
|
||||
} */
|
||||
});
|
||||
});
|
||||
|
||||
//datetime-local 默认取当前时间
|
||||
//$(function(){
|
||||
//var today = new Date();//返回当前日期时间
|
||||
//var yyyy = today.getFullYear();//获取当前年份
|
||||
//var MM = today.getMonth() + 1;//因为getMonth()方法获取的是索引值,所以要+1
|
||||
//var dd = today.getDate();//返回一个月中的某一天
|
||||
//var hh = today.getHours();//返回小时 (0 ~ 23)
|
||||
//var mm = today.getMinutes();//返回分钟 (0 ~ 59)
|
||||
//MM = checkTime(MM);//调用下面的checkTime函数,设置小于10的时间数字格式,例如5秒显示成05秒
|
||||
//dd = checkTime(dd);
|
||||
//hh = checkTime(hh);
|
||||
//mm = checkTime(mm);
|
||||
//var time = yyyy + "-" + MM + "-" + dd + "T" + hh + ":" + mm;
|
||||
//var time = '${pda.JZSJ}';
|
||||
//var dateControl = $("#currentDate");
|
||||
//dateControl.val(time);
|
||||
//function checkTime(i) {
|
||||
// if (i < 10) {
|
||||
// i = "0" + i;//这里如果是一位数则在前面添加一位0
|
||||
// }
|
||||
// return i;
|
||||
//}
|
||||
//});
|
||||
|
||||
</script>
|
||||
<style type="text/css">
|
||||
|
||||
.kh_bz{
|
||||
width: 260px;
|
||||
height: 350px;
|
||||
border:1px solid #1a1a1a;
|
||||
}
|
||||
|
||||
@media screen and (max-width:1000px){
|
||||
|
||||
*{
|
||||
font-size:30px;
|
||||
}
|
||||
.tableadd{
|
||||
padding-left:0;
|
||||
}
|
||||
|
||||
.tableadd td{
|
||||
height:100px;
|
||||
width:160px;
|
||||
}
|
||||
|
||||
.kh_bz{
|
||||
width:450px;
|
||||
height: 600px;
|
||||
|
||||
}
|
||||
.tableadd td button{
|
||||
font-size:30px;
|
||||
margin-left:100px;
|
||||
margin-top:30px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="add">
|
||||
<form id="editForm" action="${basePath}pda?method=editsubmit" method="post">
|
||||
<!-- 隐藏属性 外传ID用 -->
|
||||
<input type="hidden" name="id" value="${pda.ID}">
|
||||
<input type="hidden" name="khmc" value="${pda.KHMC}">
|
||||
<input type="hidden" name="meid" value="${pda.MEID}">
|
||||
<table class="tableadd" style="width: 800px;">
|
||||
<tr>
|
||||
<td style="width:100px;">客户名称</td>
|
||||
<!-- input 不可编辑方法 1:<input type="text" readonly="readonly" 2:input type="text" disabled="disabled" -->
|
||||
<td><input type="text" disabled="disabled" name="khmc" value="${pda.KHMC}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>产 品</td>
|
||||
<td><input type="text" disabled="disabled" name="product" value="${pda.PRODUCT}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>设备ID</td>
|
||||
<td><input type="text" disabled="disabled" name="meid" value="${pda.MEID}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>授权码</td>
|
||||
<td><input type="text" disabled="disabled" name="eid" value="${pda.EID}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>截止日期</td>
|
||||
<td style="color: red;"><input type="datetime-local" name="jzsj" class="Rq_select" id="currentDate" value="${pda.JZSJ}">*</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>备注</td>
|
||||
<td><input type="text" name="bz" value="${pda.BZ}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td colspan="4" align="left">
|
||||
<button class="edit" type="button" onclick="window.history.back(-1);">
|
||||
<i style="display:none;" class="fa fa-arrow-left"></i>
|
||||
返回
|
||||
</button>
|
||||
<button class="remove" type="submit">
|
||||
<i style="display:none;" class="fa fa-save"></i>
|
||||
提交
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,230 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>PDA授权列表</title>
|
||||
<link rel="stylesheet" href="${basePath}static/css/styles.css" />
|
||||
<link rel="stylesheet" href="${basePath}static/css/font-awesome-4.7.0/css/font-awesome.min.css" />
|
||||
<script src="${basePath}static/js/jquery.min.js" type="text/javascript"></script>
|
||||
<script type="text/javascript" src="${basePath}static/js/My97DatePicker9/WdatePicker.js"></script>
|
||||
<script src="${basePath}static/js/click.js"></script>
|
||||
<script type="text/javascript">
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
$(function(){
|
||||
$('.stop').click(function(){
|
||||
window.location.href="${basePath}pda?method=stop&ID="+$(this).attr("keyword")+"&User=${user.name}";
|
||||
});
|
||||
$('.start').click(function(){
|
||||
window.location.href="${basePath}pda?method=start&ID="+$(this).attr("keyword")+"&User=${user.name}";
|
||||
});
|
||||
$('.delete').click(function(){
|
||||
if(confirm("确定要删除吗?")){
|
||||
window.location.href="${basePath}pda?method=delete&ID="+$(this).attr("keyword")+"&User=${user.name}";
|
||||
}
|
||||
});
|
||||
|
||||
})
|
||||
</script>
|
||||
<style type="text/css">
|
||||
.kehu_name:hover{
|
||||
font-size:18px;
|
||||
}
|
||||
|
||||
.edit:hover{
|
||||
font-size:18px;
|
||||
color:#fa541c;
|
||||
}
|
||||
|
||||
.remove:hover{
|
||||
font-size:18px;
|
||||
}
|
||||
|
||||
.start:hover{
|
||||
font-size:18px;
|
||||
}
|
||||
.stop:hover{
|
||||
font-size:18px;
|
||||
}
|
||||
.delete:hover{
|
||||
font-size:18px;
|
||||
}
|
||||
|
||||
|
||||
/*修改提示框*/
|
||||
#mytitle {
|
||||
position: absolute;
|
||||
color: #ffffff;
|
||||
max-width: 160px;
|
||||
font-size: 20px;
|
||||
padding: 4px;
|
||||
background: rgba(40, 40, 40, 0.8);
|
||||
border: solid 1px #e9f7f6;
|
||||
border-radius:5px;
|
||||
}
|
||||
|
||||
|
||||
@media screen and (max-width:1000px){
|
||||
|
||||
*{
|
||||
font-size:20px;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
var x = 10;
|
||||
var y = 20;
|
||||
var newtitle = '';
|
||||
$('a.khmc').mouseover(function (e) {
|
||||
newtitle = this.title;
|
||||
this.title = '';
|
||||
$('body').append('<div id="mytitle" >' + newtitle + '</div>');
|
||||
$('#mytitle').css({
|
||||
'left': (e.pageX + x + 'px'),
|
||||
'top': (e.pageY + y - 80 + 'px')
|
||||
}).show();
|
||||
}).mouseout(function () {
|
||||
this.title = newtitle;
|
||||
$('#mytitle').remove();
|
||||
}).mousemove(function (e) {
|
||||
$('#mytitle').css({
|
||||
'left': (e.pageX + x +10 + 'px'),
|
||||
'top': (e.pageY + y - 60 + 'px')
|
||||
}).show();
|
||||
})
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<%
|
||||
String mess=(String)session.getAttribute("msg");
|
||||
session.removeAttribute("msg");
|
||||
if("".equals(mess) || mess==null){
|
||||
|
||||
}
|
||||
|
||||
else{%>
|
||||
<script type="text/javascript">
|
||||
alert("<%=mess%>");
|
||||
//刷新当前页面 清空session
|
||||
window.location.reload();
|
||||
</script>
|
||||
|
||||
<% }%>
|
||||
<form id="myform" action="${basePath}pda?method=list" method="post">
|
||||
<div class="condition" >
|
||||
客户:<input type="text" name="khmc" value="${pda.KHMC}" style="width:60px;margin-right:10px;">
|
||||
备注:<input type="text" name="bz" value="${pda.BZ}" style="width:60px;margin-right:10px;">
|
||||
设备ID:<input type="text" name="meid" value="${pda.MEID}"style="width:120px;margin-right:10px;">
|
||||
产品:<select style="width:100px;height:30px;margin-right:10px;" name="product">
|
||||
<option value="${pda.PRODUCT}" selected>全部</option>
|
||||
<option value="AM-DAQ">AM-DAQ</option>
|
||||
<option value="AM-WMS">AM-WMS</option>
|
||||
<option value="AM-POS">AM-POS</option>
|
||||
</select>
|
||||
状态:<select style="width:60px;height:30px;margin-right:10px;" name="state">
|
||||
<option value="${pda.STATE}" selected>全部</option>
|
||||
<option value="0">正常</option>
|
||||
<option value="1">停用</option>
|
||||
</select>
|
||||
到期日期:<input name="jzsj" value="${pda.JZSJ}" style="width: 80px;" onFocus="WdatePicker({readOnly:true,dateFmt:'yyyy-MM-dd'})" /> 至
|
||||
<input name="jzsj_e" value="${pda.JZSJ_E}" style="width:80px;margin-right:10px;" onFocus="WdatePicker({readOnly:true,dateFmt:'yyyy-MM-dd'})" />
|
||||
最近在线:<input name="lastsj" value="${pda.LASTSJ}" style="width: 80px;" onFocus="WdatePicker({readOnly:true,dateFmt:'yyyy-MM-dd'})" /> 至
|
||||
<input name="lastsj_e" value="${pda.LASTSJ_E}" style="width:80px;margin-right:10px;" onFocus="WdatePicker({readOnly:true,dateFmt:'yyyy-MM-dd'})" />
|
||||
<button >
|
||||
<i style="display:none;" class="fa fa-search" ></i>
|
||||
查询
|
||||
</button>
|
||||
<a id="reply" href="${basePath}pda?method=list" class="rep" data-options="iconCls:'icon-add',plain:true" style="text-decoration: none;">
|
||||
<i style="display:none;" class="fa fa-refresh" aria-hidden="true"></i>
|
||||
重置
|
||||
</a>
|
||||
<a id="reply" href="${basePath}pda?method=addpage" class="rep" data-options="iconCls:'icon-add',plain:true" style="text-decoration: none;margin-left:30px;">
|
||||
<i style="display:none;" class="fa fa-plus" aria-hidden="true"></i>
|
||||
新增
|
||||
</a>
|
||||
</div >
|
||||
</form>
|
||||
<form action="${basePath}pda?method=list" id="tableList" method="post">
|
||||
<input type="hidden" name="pageNo" value="${pageInfo.pageNo}">
|
||||
<input type="hidden" name="jzsj" value="${pda.JZSJ}">
|
||||
<input type="hidden" name="jzsj_e" value="${pda.JZSJ_E}">
|
||||
<input type="hidden" name="lastsj" value="${pda.LASTSJ}">
|
||||
<input type="hidden" name="lastsj_e" value="${pda.LASTSJ_E}">
|
||||
<input type="hidden" name="khmc" value="${pda.KHMC}" >
|
||||
<input type="hidden" name="bz" value="${pda.BZ}" >
|
||||
<input type="hidden" name="meid" value="${pda.MEID}">
|
||||
<input type="hidden" name="product" value="${pda.PRODUCT}" >
|
||||
<input type="hidden" name="state" value="${pda.STATE}" >
|
||||
<table class="tablelist">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class = "ID">ID</th>
|
||||
<th class = "cz" style="width:140px;">操作</th>
|
||||
<th class = "KHMC">客户</th>
|
||||
<th class = "STATE">状态</th>
|
||||
<th class = "JZSJ">截止日</th>
|
||||
<th class = "PRODUCT">产品</th>
|
||||
<th class = "OPTDATE">首次授权</th>
|
||||
<th class = "LASTSJ">最近在线</th>
|
||||
<th class = "BZ">备注</th>
|
||||
<th class = "MEID">设备ID</th>
|
||||
<th class = "EID">授权码</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<c:forEach items="${pageInfo.list}" var="pda_list">
|
||||
<tr>
|
||||
<td>${pda_list.ID}</td>
|
||||
<td style="text-align: center;">
|
||||
<button class="edit" type="button" onclick="window.location.href='${basePath}pda?method=edit&ID=${pda_list.ID}'">
|
||||
<i style="display:none;" class="fa fa-edit"></i>
|
||||
延期
|
||||
</button>
|
||||
<c:if test="${pda_list.STATE == \"正常\"}">
|
||||
<button class="stop" type="button" keyword="${pda_list.ID}">
|
||||
<i style="display:none;" class="fa fa-remove"></i>
|
||||
停用
|
||||
</button>
|
||||
</c:if>
|
||||
<c:if test="${pda_list.STATE == \"停用\"}">
|
||||
<button class="start" type="button" keyword="${pda_list.ID}">
|
||||
<i style="display:none;" class="fa fa-check"></i>
|
||||
启用
|
||||
</button>
|
||||
</c:if>
|
||||
<button class="delete" type="button" keyword="${pda_list.ID}">
|
||||
<i style="display:none;" class="fa fa-trash-o"></i>
|
||||
删除
|
||||
</button>
|
||||
</td>
|
||||
<td>${pda_list.KHMC}</td>
|
||||
<c:if test="${pda_list.STATE == \"正常\"}">
|
||||
<td style=" color:blue;text-decoration: none;font-weight:bold;">${pda_list.STATE}</td>
|
||||
</c:if>
|
||||
<c:if test="${pda_list.STATE == \"停用\"}">
|
||||
<td style=" color:red;text-decoration: none;font-weight:bold;">${pda_list.STATE}</td>
|
||||
</c:if>
|
||||
<td>${pda_list.JZSJ}</td>
|
||||
<td>${pda_list.PRODUCT}</td>
|
||||
<td>${pda_list.OPTDATE}</td>
|
||||
<td>${pda_list.LASTSJ}</td>
|
||||
<td>${pda_list.BZ}</td>
|
||||
<td>${pda_list.MEID}</td>
|
||||
<td>${pda_list.EID}</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</table>
|
||||
<%@include file="../inc/page.jsp"%>
|
||||
</form>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,80 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>客户新增页面</title>
|
||||
<link rel="stylesheet" href="${basePath}static/css/styles.css" />
|
||||
<link rel="stylesheet" href="${basePath}static/css/font-awesome-4.7.0/css/font-awesome.min.css" />
|
||||
<script src="${basePath}static/js/jquery.min.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/jquery-validation-1.14.0/jquery.validate.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/jquery-validation-1.14.0/localization/messages_zh.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/click.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(function(){
|
||||
$("#addForm").validate({
|
||||
rules:{
|
||||
Dm:{
|
||||
required:true
|
||||
},
|
||||
Name:"required",
|
||||
Pwd:{
|
||||
required:true,
|
||||
rangelength:[6,15]
|
||||
}
|
||||
}
|
||||
/* messages:{
|
||||
stuPwd:{
|
||||
rangelength:$.validator.format( "Please enter a value between {0} and {1} characters long.")
|
||||
}
|
||||
} */
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<style type="text/css">
|
||||
@media screen and (max-width:1000px){
|
||||
|
||||
*{
|
||||
font-size:30px;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="add">
|
||||
<form id="addForm" action="${basePath}user?method=add" method="post">
|
||||
<table class="tableadd" style="width: 100%;">
|
||||
<tr>
|
||||
<td style="width:60px;">用户名</td>
|
||||
<td style="color: red;"><input type="text" name="Dm" placeholder="建议输入姓名简写">*登陆账户</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>姓名</td>
|
||||
<td style="color: red;"><input type="text" name="Name">*</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>密码</td>
|
||||
<td>
|
||||
<input type="password" name="Pwd" value="123456">
|
||||
默认密码为123456
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4" align="left">
|
||||
<button class="edit" type="button" onclick="window.history.back(-1);">
|
||||
<i style="display:none;" class="fa fa-arrow-left"></i>
|
||||
返回
|
||||
</button>
|
||||
<button class="remove" type="submit">
|
||||
<i style="display:none;" class="fa fa-save"></i>
|
||||
提交
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,89 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>用户列表</title>
|
||||
<link rel="stylesheet" href="${basePath}static/css/styles.css" />
|
||||
<link rel="stylesheet" href="${basePath}static/css/font-awesome-4.7.0/css/font-awesome.min.css" />
|
||||
<script src="${basePath}static/js/jquery.min.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/click.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(function(){
|
||||
$('.remove').click(function(){
|
||||
if(confirm("确定要删除吗?")){
|
||||
window.location.href="${basePath}user?method=delete&id="+$(this).attr("keyword");
|
||||
}
|
||||
})
|
||||
})
|
||||
</script>
|
||||
<style type="text/css">
|
||||
@media screen and (max-width:1000px){
|
||||
|
||||
*{
|
||||
font-size:30px;
|
||||
}
|
||||
|
||||
.tablelist .caozuo{
|
||||
width:250px;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<form action="${basePath}user?method=list" method="post">
|
||||
<div class="condition">
|
||||
ID:<input type="text" name="Id" value="${user.id}">
|
||||
用户名:<input type="text" name="Dm" value="${user.dm}">
|
||||
姓名:<input type="text" name="Name" value="${user.name}">
|
||||
<button>
|
||||
<i style="display:none;" class="fa fa-search"></i>
|
||||
查询
|
||||
</button>
|
||||
<button type="button" onclick="window.location.href='page/user/add.jsp'">
|
||||
<i style="display:none;" class="fa fa-plus"></i>
|
||||
新增
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
<form action="${basePath}user?method=list" id="tableList" method="post">
|
||||
<input type="hidden" name="pageNo" value="${pageInfo.pageNo}">
|
||||
<input type="hidden" name="Id" value="${user.id}">
|
||||
<input type="hidden" name="Dm" value="${user.dm}">
|
||||
<input type="hidden" name="Name" value="${user.name}">
|
||||
<table class="tablelist" style="withd:800px;">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width:40px;">ID</th>
|
||||
<th width="120px">操作</th>
|
||||
<th>用户名(登录名)</th>
|
||||
<th>姓名</th>
|
||||
<th>停用标记</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<c:forEach items="${pageInfo.list}" var="user">
|
||||
<tr>
|
||||
<td>${user.id}</td>
|
||||
<td class="caozuo">
|
||||
<button class="edit" type="button" onclick="window.location.href='${basePath}user?method=edit&id=${user.id}'">
|
||||
<i style="display:none;" class="fa fa-edit"></i>
|
||||
修改
|
||||
</button>
|
||||
<button class="remove" type="button" keyword="${user.id}">
|
||||
<i style="display:none;" class="fa fa-remove"></i>
|
||||
删除
|
||||
</button>
|
||||
</td>
|
||||
<td>${user.dm}</td>
|
||||
<td>${user.name}</td>
|
||||
<td>${user.tybj}</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</table>
|
||||
<%@include file="../inc/page.jsp"%>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,83 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>用户信息修改页面</title>
|
||||
<link rel="stylesheet" href="${basePath}static/css/styles.css" />
|
||||
<link rel="stylesheet" href="${basePath}static/css/font-awesome-4.7.0/css/font-awesome.min.css" />
|
||||
<script src="${basePath}static/js/jquery.min.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/jquery-validation-1.14.0/jquery.validate.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/jquery-validation-1.14.0/localization/messages_zh.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/click.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
//表单 验证 必填项
|
||||
$(function(){
|
||||
$("#editForm").validate({
|
||||
rules:{
|
||||
Dm:{
|
||||
required:true
|
||||
},
|
||||
Name:{
|
||||
required:true
|
||||
}
|
||||
}
|
||||
/* messages:{
|
||||
stuPwd:{
|
||||
rangelength:$.validator.format( "Please enter a value between {0} and {1} characters long.")
|
||||
}
|
||||
} */
|
||||
});
|
||||
});
|
||||
|
||||
//停用复选框判断
|
||||
$(function(){
|
||||
var tybj = ${user.tybj};
|
||||
if(tybj==1){$("#Tybj").attr("checked","true");}
|
||||
});
|
||||
</script>
|
||||
<style type="text/css">
|
||||
@media screen and (max-width:1000px){
|
||||
|
||||
*{
|
||||
font-size:30px;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="add">
|
||||
<form id="editForm" action="${basePath}user?method=editsubmit" method="post">
|
||||
<input type="hidden" name="Id" value="${user.id}">
|
||||
<table class="tableadd" style="width: 60%;">
|
||||
<tr>
|
||||
<td style="width:60px;">用户名</td>
|
||||
<td style="color: red;"><input type="text" name="Dm" value="${user.dm}">*</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>姓名</td>
|
||||
<td style="color: red;"><input type="text" name="Name" value="${user.name}">*</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>停用</td>
|
||||
<td style="color: red;"><input type="checkbox" name="Tybj" id="Tybj" value="1">*</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4" align="left">
|
||||
<button class="edit" type="button" onclick="window.history.back(-1);">
|
||||
<i style="display:none;" class="fa fa-arrow-left"></i>
|
||||
返回
|
||||
</button>
|
||||
<button class="remove" type="submit">
|
||||
<i style="display:none;" class="fa fa-save"></i>
|
||||
提交
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,87 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>知识库详情页</title>
|
||||
<link rel="stylesheet" href="${basePath}static/css/styles.css" />
|
||||
<link rel="stylesheet" href="${basePath}static/css/font-awesome-4.7.0/css/font-awesome.min.css" />
|
||||
<script src="${basePath}static/js/jquery.min.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/click.js"></script>
|
||||
|
||||
|
||||
<style type="text/css">
|
||||
.tableadd td{
|
||||
height:150px;
|
||||
}
|
||||
|
||||
@media screen and (max-width:1000px){
|
||||
|
||||
|
||||
.tableadd{
|
||||
padding-left:0;
|
||||
}
|
||||
|
||||
.tableadd td{
|
||||
height:100px;
|
||||
width:160px;
|
||||
}
|
||||
|
||||
.kh_bz{
|
||||
width:400px;
|
||||
height: 600px;
|
||||
|
||||
}
|
||||
.tableadd td button{
|
||||
margin-left:100px;
|
||||
margin-top:50px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="add">
|
||||
<table class="tablelist" >
|
||||
<tr>
|
||||
<td width="100px">问题ID</td>
|
||||
<td>${zsk.questionId}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>主题</td>
|
||||
<td>${zsk.subject}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>解决方案</td>
|
||||
<td>${zsk.solution}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>产品</td>
|
||||
<td>${zsk.product}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>产品模块</td>
|
||||
<td>${zsk.productModule}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>功能模块</td>
|
||||
<td>${zsk.functionalModule}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>创建人</td>
|
||||
<td>${zsk.creater}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>创建时间</td>
|
||||
<td>${zsk.createTime}</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<button class="edit" type="button" onclick="window.history.back(-1);" style="margin-top:30px;margin-left:30px;color:#FFFFFF; background-color:#467FE6;border:none; border-radius:3px;padding: 5px 10px;">
|
||||
<i style="display:none;" class="fa fa-arrow-left"></i>
|
||||
返回
|
||||
</button>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,105 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>知识库修改页面</title>
|
||||
<link rel="stylesheet" href="${basePath}static/css/styles.css" />
|
||||
<link rel="stylesheet" href="${basePath}static/css/font-awesome-4.7.0/css/font-awesome.min.css" />
|
||||
<script src="${basePath}static/js/jquery.min.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/click.js"></script>
|
||||
|
||||
|
||||
<style type="text/css">
|
||||
.tableadd td{
|
||||
height:150px;
|
||||
}
|
||||
|
||||
.subject,.solution{
|
||||
width:100%;
|
||||
height:100px;
|
||||
resize: none;/*文本框右下角 拖动缩放按钮*/
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width:1000px){
|
||||
|
||||
*{
|
||||
font-size:40px;
|
||||
}
|
||||
.tableadd{
|
||||
padding-left:0;
|
||||
}
|
||||
|
||||
.tableadd td{
|
||||
height:100px;
|
||||
width:160px;
|
||||
}
|
||||
|
||||
.kh_bz{
|
||||
width:400px;
|
||||
height: 600px;
|
||||
|
||||
}
|
||||
.tableadd td button{
|
||||
font-size:50px;
|
||||
margin-left:100px;
|
||||
margin-top:50px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="add">
|
||||
<form id="editForm" action="${basePath}zsk?method=update" method="post">
|
||||
<input type="hidden" name="QuestionId" value="${zsk.questionId}">
|
||||
<table class="tablelist" >
|
||||
<tr>
|
||||
<td width="100px">问题ID</td>
|
||||
<td>${zsk.questionId}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="color:red">主题*</td>
|
||||
<td><textarea id="qrcodefortemcontent" maxlength=100% id="subject" name="Subject" class="subject" placeholder="请录入问题主体,多行信息请回车!" >${zsk.subject}</textarea></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="color:red">解决方案*</td>
|
||||
<td><textarea id="qrcodefortemcontent" maxlength=100% id="solution" name="Solution" class="solution" placeholder="请录入问题解决方案,多行信息请回车!" >${zsk.solution}</textarea></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>产品</td>
|
||||
<td>${zsk.product}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>产品模块</td>
|
||||
<td>${zsk.productModule}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>功能模块</td>
|
||||
<td>${zsk.functionalModule}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>创建人</td>
|
||||
<td>${zsk.creater}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>创建时间</td>
|
||||
<td>${zsk.createTime}</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
<button class="edit" type="button" onclick="window.history.back(-1);" style="margin-top:30px;margin-left:30px;color:#FFFFFF; background-color:#467FE6;border:none;padding: 5px 10px; border-radius:5px;">
|
||||
<i style="display:none;" class="fa fa-arrow-left"></i>
|
||||
返回
|
||||
</button>
|
||||
<button class="remove" type="submit" style="margin-top:30px;margin-left:30px;color:#FFFFFF; background-color:#467FE6;border:none; padding: 5px 10px; border-radius:5px;">
|
||||
<i style="display:none;" class="fa fa-save"></i>
|
||||
提交
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,225 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>知识库列表</title>
|
||||
|
||||
<script type="text/javascript" src="${basePath}static/js/jquery.min.js" ></script>
|
||||
<link rel="stylesheet" href="${basePath}static/css/select2.min.css" />
|
||||
<script type="text/javascript" src="${basePath}static/js/select2.min.js" ></script>
|
||||
|
||||
<link rel="stylesheet" href="${basePath}static/css/styles.css" />
|
||||
<link rel="stylesheet" href="${basePath}static/css/font-awesome-4.7.0/css/font-awesome.min.css" />
|
||||
<script src="${basePath}static/js/click.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
//删除监听事件
|
||||
$(function(){
|
||||
$('.remove').click(function(){
|
||||
if(confirm("确定要删除这条知识库吗?")){
|
||||
window.location.href="${basePath}zsk?method=delete&ID="+$(this).attr("keyword")+"&User=${user.name}";
|
||||
}
|
||||
})
|
||||
})
|
||||
</script>
|
||||
<style type="text/css">
|
||||
|
||||
table{
|
||||
table-layout:fixed;
|
||||
}
|
||||
|
||||
table td{
|
||||
undefined;
|
||||
word-break:keep-all;/* 不换行 */
|
||||
white-space:nowrap;/* 不换行 */
|
||||
overflow:hidden;/* 内容超出宽度时隐藏超出部分的内容 */
|
||||
text-overflow:ellipsis;/* 当对象内文本溢出时显示省略标记(…) ;需与overflow:hidden;一起使用*/ }
|
||||
|
||||
table td div{
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
width: 100%;
|
||||
display:block;
|
||||
}
|
||||
|
||||
table .questionId ,.QuestionId{
|
||||
width:60px;
|
||||
}
|
||||
|
||||
table .Product,.ProductModule,.FunctionalModule{
|
||||
width:150px;
|
||||
}
|
||||
|
||||
|
||||
.subject:hover{
|
||||
font-weight: bold;
|
||||
color:#fa541c;
|
||||
}
|
||||
|
||||
.solution:hover{
|
||||
font-weight: bold;
|
||||
color:#1d39c4;
|
||||
}
|
||||
|
||||
.edit:hover{
|
||||
font-size:20px;
|
||||
}
|
||||
/*修改提示框*/
|
||||
#mytitle {
|
||||
position: absolute;
|
||||
color: #ffffff;
|
||||
max-width: 400px;
|
||||
padding: 4px;
|
||||
background: rgba(40, 40, 40, 0.8);
|
||||
border: solid 1px #e9f7f6;
|
||||
border-radius:5px;
|
||||
}
|
||||
|
||||
|
||||
@media screen and (max-width:1000px){
|
||||
|
||||
*{
|
||||
font-size:20px;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
var x = 10;
|
||||
var y = 20;
|
||||
var newtitle = '';
|
||||
$('.cx,.subject,.solution,.product,.productModule,.functionalModule').mouseover(function (e) {
|
||||
newtitle = this.title;
|
||||
this.title = '';
|
||||
$('body').append('<div id="mytitle" >' + newtitle + '</div>');
|
||||
$('#mytitle').css({
|
||||
'left': (e.pageX + x + 'px'),
|
||||
'top': (e.pageY + y - 80 + 'px')
|
||||
}).show();
|
||||
}).mouseout(function () {
|
||||
this.title = newtitle;
|
||||
$('#mytitle').remove();
|
||||
}).mousemove(function (e) {
|
||||
$('#mytitle').css({
|
||||
'left': (e.pageX + x +10 + 'px'),
|
||||
'top': (e.pageY + y - 60 + 'px')
|
||||
}).show();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<form id="myform" action="${basePath}zsk?method=list" method="post">
|
||||
<div class="condition" >
|
||||
问题:<input type="text" name="Subject" value="${zsk.subject}"style="width:100px;">
|
||||
<input type="text" name="Subject1" value="${zsk.subject1}"style="width:100px;">
|
||||
<input type="text" name="Subject2" value="${zsk.subject2}"style="width:100px;">
|
||||
解决方案:<input type="text" name="Solution" value="${zsk.solution}" style="width:100px;">
|
||||
<input type="text" name="Solution1" value="${zsk.solution1}" style="width:100px;">
|
||||
<input type="text" name="Solution2" value="${zsk.solution2}" style="width:100px;">
|
||||
产品:<select id="Product_tj" name="Product" class="Product_tj" style="width:150px;" >
|
||||
<option value="${zsk.product}" selected="selected" >${zsk.product}</option>
|
||||
<c:forEach items="${list_product}" var="list_product">
|
||||
<option value="${list_product.product}">${list_product.product}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
<!--产品模块:<select id="ProductModule_tj" name="ProductModule" class="ProductModule_tj" style="width:100px;" >
|
||||
<option value="${zsk.productModule}" selected="selected">${zsk.productModule}</option>
|
||||
<c:forEach items="${list_productModule}" var="list_productModule">
|
||||
<option value="${list_productModule.productModule}">${list_productModule.productModule}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
功能模块:<select id="FunctionalModule_tj" name="FunctionalModule" class="FunctionalModule_tj" style="width:100px;" >
|
||||
<option value="${zsk.functionalModule}" selected="selected">${zsk.functionalModule}</option>
|
||||
<c:forEach items="${list_functionalModule}" var="list_functionalModule">
|
||||
<option value="${list_functionalModule.functionalModule}">${list_functionalModule.functionalModule}</option>
|
||||
</c:forEach>
|
||||
</select> -->
|
||||
<!--产品模块:<input type="text" name="ProductModule" value="${zsk.productModule}" style="width:100px;"> -->
|
||||
<!--功能模块:<input type="text" name="FunctionalModule" value="${zskfunctionalModule}" style="width:100px;"> -->
|
||||
|
||||
<button >
|
||||
<i style="display:none;" class="fa fa-search" ></i>
|
||||
查询
|
||||
</button>
|
||||
<a id="reply" href="${basePath}zsk?method=list" class="rep" data-options="iconCls:'icon-add',plain:true" style="text-decoration: none;">
|
||||
<i style="display:none;" class="fa fa-refresh" aria-hidden="true"></i>
|
||||
重置
|
||||
</a>
|
||||
</div >
|
||||
</form>
|
||||
<form action="${basePath}zsk?method=list" id="tableList" method="post">
|
||||
<input type="hidden" name="pageNo" value="${pageInfo.pageNo}">
|
||||
<input type="hidden" name="Subject" value="${zsk.subject}">
|
||||
<input type="hidden" name="Subject1" value="${zsk.subject1}">
|
||||
<input type="hidden" name="Subject2" value="${zsk.subject2}">
|
||||
<input type="hidden" name="Solution" value="${zsk.solution}">
|
||||
<input type="hidden" name="Solution1" value="${zsk.solution1}">
|
||||
<input type="hidden" name="Solution2" value="${zsk.solution2}">
|
||||
<input type="hidden" name="Product" value="${zsk.product}">
|
||||
<!--<input type="hidden" name="ProductModule" value="${zsk.productModule}">
|
||||
<input type="hidden" name="FunctionalModule" value="${zsk.functionalModule}">-->
|
||||
<table class="tablelist">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class = "QuestionId">详细</th>
|
||||
<th class = "Subject">问题</th>
|
||||
<th class = "Solution">解决方案</th>
|
||||
<th class = "Product">产品</th>
|
||||
<!--<th class = "ProductModule">产品模块</th>
|
||||
<th class = "FunctionalModule">功能模块</th>-->
|
||||
<!-- 用户才能有操作权限 -->
|
||||
<c:if test="${type == 2}">
|
||||
<th class = "cz" style="width:150px;">操作</th>
|
||||
</c:if>
|
||||
</tr>
|
||||
</thead>
|
||||
<c:forEach items="${pageInfo.list}" var="zsklist">
|
||||
<tr>
|
||||
<!-- 用户才能有操作权限 -->
|
||||
<td class="cx" style="text-align: center;" title="查看">
|
||||
<button class="edit" type="button" onclick="window.location.href='${basePath}zsk?method=details&ID=${zsklist.questionId}'">
|
||||
<i class="fa fa-search" aria-hidden="true"></i>
|
||||
</button>
|
||||
</td>
|
||||
<td class="subject" title="${zsklist.subject}"><div style="height:30px; overflow:hidden">${zsklist.subject}</div></td>
|
||||
<td class="solution" title="${zsklist.solution}"><div style="height:30px; overflow:hidden">${zsklist.solution}</div></td>
|
||||
<td class="product" title="${zsklist.product}">${zsklist.product}</td>
|
||||
<!--<td class="productModule" title="${zsklist.productModule}">${zsklist.productModule}</td>
|
||||
<td class="functionalModule" title="${zsklist.functionalModule}">${zsklist.functionalModule}</td>-->
|
||||
<!-- 用户才能有操作权限 -->
|
||||
<c:if test="${type == 2}">
|
||||
<td style="text-align: center;">
|
||||
<button class="edit" type="button" onclick="window.location.href='${basePath}zsk?method=edit&ID=${zsklist.questionId}'">
|
||||
<i style="display:none;" class="fa fa-edit"></i>
|
||||
修改
|
||||
</button>
|
||||
<button class="remove" type="button" keyword="${zsklist.questionId}">
|
||||
<i style="display:none;" class="fa fa-remove"></i>
|
||||
删除
|
||||
</button>
|
||||
</td>
|
||||
</c:if>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</table>
|
||||
<%@include file="../inc/page.jsp"%>
|
||||
</form>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function () {//加载页面时执行select2
|
||||
$('.Product_tj').select2();
|
||||
$('.ProductModule_tj').select2();
|
||||
$('.FunctionalModule_tj').select2();
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,86 @@
|
||||
<%@page contentType="text/html; charset=utf-8"%>
|
||||
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<!DOCTYPE html>
|
||||
<html style="height: 100%">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<link rel="stylesheet" href="${basePath}static/css/styles.css" />
|
||||
<link rel="stylesheet" href="${basePath}static/css/font-awesome-4.7.0/css/font-awesome.min.css" />
|
||||
<script src="${basePath}static/js/jquery.min.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/jquery-validation-1.14.0/jquery.validate.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/jquery-validation-1.14.0/localization/messages_zh.js" type="text/javascript"></script>
|
||||
<script src="${basePath}static/js/click.js"></script>
|
||||
|
||||
|
||||
|
||||
<style type="text/css">
|
||||
|
||||
@media screen and (max-width:1000px){
|
||||
|
||||
*{
|
||||
font-size:30px;
|
||||
}
|
||||
|
||||
.tableadd td{
|
||||
height:90px;
|
||||
}
|
||||
|
||||
.tableadd td button{
|
||||
font-size:50px;
|
||||
margin-left:100px;
|
||||
margin-top:50px;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body style="height: 100%; margin: 0">
|
||||
<div class="add">
|
||||
|
||||
<form id="addForm" action="${basePath}pwd" method="post">
|
||||
<c:if test="${type == 2}">
|
||||
<input type="hidden" name="id" value="${user.id}">
|
||||
<input type="hidden" name="dm" value="${user.dm}">
|
||||
<input type="hidden" name="type" value="2">
|
||||
</c:if>
|
||||
<c:if test="${type == 1}">
|
||||
<input type="hidden" name="id" value="${user.id}">
|
||||
<input type="hidden" name="dm" value="${user.dm}">
|
||||
<input type="hidden" name="type" value="1">
|
||||
</c:if>
|
||||
<table class="tableadd" style="width: 700px;">
|
||||
<tr>
|
||||
<td>原密码</td>
|
||||
<td style="color: red;"><input type="password" name="pwd" required oninvalid="setCustomValidity('原密码不能为空!');" oninput="setCustomValidity('');">*</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>新密码</td>
|
||||
<td style="color: red;"><input type="password" name="newPwd" required oninvalid="setCustomValidity('新密码不能为空!');" oninput="setCustomValidity('');">*</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>确认密码</td>
|
||||
<td style="color: red;">
|
||||
<input type="password" name="newPwd2" required oninvalid="setCustomValidity('确认密码不能为空!');" oninput="setCustomValidity('');">*
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4" align="left">
|
||||
<button class="edit" type="button" onclick="window.history.back(-1);">
|
||||
<i class="fa fa-arrow-left"></i>
|
||||
返回
|
||||
</button>
|
||||
<button class="remove" type="submit">
|
||||
<i class="fa fa-save"></i>
|
||||
提交
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5" align="center"><span style="color:red;font-size:30px">${msg}</span></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,25 @@
|
||||
<%@ page language="java" contentType="text/html; charset=utf-8"
|
||||
pageEncoding="utf-8"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="description" content="A simple HTML5 Template">
|
||||
<meta name="author" content="dron">
|
||||
<meta name="viewport" content="width=device-width, height=device-height, user-scalable=no, initial-scale=1.0, maximum-scale=1.0">
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black">
|
||||
<link rel="stylesheet" href="${basePath}static/qsg/images/index.css">
|
||||
<title>水果忍者HTML5网页版在线游戏</title>
|
||||
<!--[if lt IE 9]><script>document.createElement("canvas");</script><![endif]-->
|
||||
</head>
|
||||
<body>
|
||||
<div id="extra"></div>
|
||||
<em> -- Fruit Ninja -- </em> <em> The game is developed by the Baidu JS team, </em> <em> we provide the source in git: https://github.com/ChineseDron/fruit-ninja </em> <em> follow me on weibo http://weibo.com/baidujs </em> <em> or learn more, to see http://tangram.baidu.com </em>
|
||||
<canvas id="view" width="640" height="480"></canvas>
|
||||
<div id="desc">
|
||||
<div id="browser"></div>
|
||||
</div>
|
||||
<script src="${basePath}static/qsg/scripts/all.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,187 @@
|
||||
var Mario={SpriteCuts:{CreateBlackFont:function(){return new Enjine.SpriteFont([],Enjine.Resources.Images.font,8,8,this.GetCharArray(0))},CreateRedFont:function(){return new Enjine.SpriteFont([],Enjine.Resources.Images.font,8,8,this.GetCharArray(8))},CreateGreenFont:function(){return new Enjine.SpriteFont([],Enjine.Resources.Images.font,8,8,this.GetCharArray(16))},CreateBlueFont:function(){return new Enjine.SpriteFont([],Enjine.Resources.Images.font,8,8,this.GetCharArray(24))},CreateYellowFont:function(){return new Enjine.SpriteFont([],
|
||||
Enjine.Resources.Images.font,8,8,this.GetCharArray(32))},CreatePinkFont:function(){return new Enjine.SpriteFont([],Enjine.Resources.Images.font,8,8,this.GetCharArray(40))},CreateCyanFont:function(){return new Enjine.SpriteFont([],Enjine.Resources.Images.font,8,8,this.GetCharArray(48))},CreateWhiteFont:function(){return new Enjine.SpriteFont([],Enjine.Resources.Images.font,8,8,this.GetCharArray(56))},GetCharArray:function(a){for(var b=[],c=0,c=32;c<127;c++)b[c]={X:(c-32)*8,Y:a};return b},GetBackgroundSheet:function(){for(var a=
|
||||
[],b=0,c=0,e=Enjine.Resources.Images.background.width/32,d=Enjine.Resources.Images.background.height/32,b=0;b<e;b++){a[b]=[];for(c=0;c<d;c++)a[b][c]={X:b*32,Y:c*32,Width:32,Height:32}}return a},GetLevelSheet:function(){for(var a=[],b=0,c=0,e=Enjine.Resources.Images.map.width/16,d=Enjine.Resources.Images.map.height/16,b=0;b<e;b++){a[b]=[];for(c=0;c<d;c++)a[b][c]={X:b*16,Y:c*16,Width:16,Height:16}}return a}},Tile:{BlockUpper:1,BlockAll:2,BlockLower:4,Special:8,Bumpable:16,Breakable:32,PickUpable:64,
|
||||
Animated:128,Behaviors:[],LoadBehaviors:function(){for(var a=[0,20,28,0,130,130,130,130,2,2,2,2,2,0,138,0,162,146,154,162,146,146,154,146,2,0,2,2,2,0,2,0,192,192,192,192,0,0,0,0,2,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,2],b=0,b=58;b<128;b++)a[b]=0;a[128]=2;a[129]=2;a[130]=2;a[131]=0;a[132]=1;a[133]=1;a[134]=1;a[135]=0;a[136]=2;a[137]=2;a[138]=2;a[139]=0;a[140]=2;a[141]=2;a[142]=2;a[143]=0;a[144]=2;a[145]=0;a[146]=2;a[147]=0;a[148]=0;a[149]=0;a[150]=0;a[151]=0;a[152]=2;a[153]=2;a[154]=2;a[155]=0;a[156]=2;
|
||||
a[157]=2;a[158]=2;a[159]=0;a[160]=2;a[161]=2;a[162]=2;a[163]=0;a[164]=0;a[165]=0;a[166]=0;a[167]=0;a[168]=2;a[169]=2;a[170]=2;a[171]=0;a[172]=2;a[173]=2;a[174]=2;a[175]=0;a[176]=2;a[177]=2;a[178]=2;a[179]=0;a[180]=1;a[181]=1;a[182]=1;for(b=183;b<224;b++)a[b]=0;a[224]=1;a[225]=1;a[226]=1;for(b=227;b<256;b++)a[b]=0;this.Behaviors=a}},LevelType:{Overground:0,Underground:1,Castle:2},Odds:{Straight:0,HillStraight:1,Tubes:2,Jump:3,Cannons:4},Level:function(a,b){this.Width=a;this.Height=b;this.ExitY=this.ExitX=
|
||||
10;this.Map=[];this.Data=[];this.SpriteTemplates=[];for(var c=0,e=0,c=0;c<this.Width;c++){this.Map[c]=[];this.Data[c]=[];this.SpriteTemplates[c]=[];for(e=0;e<this.Height;e++)this.Map[c][e]=0,this.Data[c][e]=0,this.SpriteTemplates[c][e]=null}}};
|
||||
Mario.Level.prototype={Update:function(){for(var a=0,b=0,a=0;a<this.Width;a++)for(b=0;b<this.Height;b++)this.Data[a][b]>0&&this.Data[a][b]--},GetBlockCapped:function(a,b){a<0&&(a=0);b<0&&(b=0);a>=this.Width&&(a=this.Width-1);b>=this.Height&&(b=this.Height-1);return this.Map[a][b]},GetBlock:function(a,b){a<0&&(a=0);if(b<0)return 0;a>=this.Width&&(a=this.Width-1);b>=this.Height&&(b=this.Height-1);return this.Map[a][b]},SetBlock:function(a,b,c){a<0||b<0||a>=this.Width||b>=this.Height||(this.Map[a][b]=
|
||||
c)},SetBlockData:function(a,b,c){a<0||b<0||a>=this.Width||b>=this.Height||(this.Data[a][b]=c)},IsBlocking:function(a,b,c,e){a=this.GetBlock(a,b);b=(Mario.Tile.Behaviors[a&255]&Mario.Tile.BlockAll)>0;b|=e>0&&(Mario.Tile.Behaviors[a&255]&Mario.Tile.BlockUpper)>0;b|=e<0&&(Mario.Tile.Behaviors[a&255]&Mario.Tile.BlockLower)>0;return b},GetSpriteTemplate:function(a,b){if(a<0)return null;if(b<0)return null;if(a>=this.Width)return null;if(b>=this.Height)return null;return this.SpriteTemplates[a][b]},SetSpriteTemplate:function(a,
|
||||
b,c){a<0||b<0||a>=this.Width||b>=this.Height||(this.SpriteTemplates[a][b]=c)}};Mario.BackgroundGenerator=function(a,b,c,e){this.Width=a;this.Height=b;this.Distant=c;this.Type=e};
|
||||
Mario.BackgroundGenerator.prototype={SetValues:function(a,b,c,e){this.Width=a;this.Height=b;this.Distant=c;this.Type=e},CreateLevel:function(){var a=new Mario.Level(this.Width,this.Height);switch(this.Type){case Mario.LevelType.Overground:this.GenerateOverground(a);break;case Mario.LevelType.Underground:this.GenerateUnderground(a);break;case Mario.LevelType.Castle:this.GenerateCastle(a)}return a},GenerateOverground:function(a){for(var b=this.Distant?4:6,c=this.Distant?2:1,e=Math.floor(Math.random()*
|
||||
b)+c,d=Math.floor(Math.random()*b)+c,f=0,g=0,h=0,i=0,i=2,f=0;f<this.Width;f++){for(e=d;e===d;)d=Math.floor(Math.random()*b)+c;for(g=0;g<this.Height;g++)h=e<d?e:d,i=e<d?d:e,g<h?this.Distant?(i=2,g<2&&(i=g),a.SetBlock(f,g,4+i*8)):a.SetBlock(f,g,5):g===h?(i=h===d?0:1,i+=this.Distant?2:0,a.SetBlock(f,g,i)):g===i?(i=h===d?0:1,i+=this.Distant?2:0,a.SetBlock(f,g,i+16)):(i=g>i?1:0,h===e&&(i=1-i),i+=this.Distant?2:0,a.SetBlock(f,g,i+8))}},GenerateUnderground:function(a){var b=0,c=0,e=0,d=0;if(this.Distant)for(var f=
|
||||
0,b=0;b<this.Width;b++){Math.random()<0.75&&(f=1-f);for(c=0;c<this.Height;c++){e=f;d=c-2;if(d<0||d>4)d=2,e=0;a.SetBlock(b,c,4+e+(3+d)*8)}}else for(b=0;b<this.Width;b++)for(c=0;c<this.Height;c++){e=b%2;d=c-1;if(d<0||d>7)d=7,e=0;e===0&&d>1&&d<5&&(e=-1,d=0);a.SetBlock(b,c,6+e+d*8)}},GenerateCastle:function(a){var b=0,c=0,e=0,d=0;if(this.Distant)for(b=0;b<this.Width;b++)for(c=0;c<this.Height;c++)e=b%2,d=c-1,d>2&&d<5?d=2:d>=5&&(d-=2),d<0?(e=0,d=5):d>4?(e=1,d=5):e<1&&d===3?(e=0,d=3):e<1&&d>0&&d<3&&(e=0,
|
||||
d=2),a.SetBlock(b,c,1+e+(d+4)*8);else for(b=0;b<this.Width;b++)for(c=0;c<this.Height;c++)e=b%3,d=c-1,d>2&&d<5?d=2:d>=5&&(d-=2),d<0?(e=1,d=5):d>4?(e=2,d=5):e<2&&d===4?(e=2,d=4):e<2&&d>0&&d<4&&(e=4,d=-3),a.SetBlock(b,c,1+e+(d+3)*8)}};Mario.BackgroundRenderer=function(a,b,c,e){this.Level=a;this.Width=b;this.Distance=e;this.TilesY=(c/32|0)+1;this.Background=Mario.SpriteCuts.GetBackgroundSheet()};Mario.BackgroundRenderer.prototype=new Enjine.Drawable;
|
||||
Mario.BackgroundRenderer.prototype.Draw=function(a,b){for(var c=b.X/this.Distance,e=0,d=0,f=null,f=null,g=(c+this.Width)/32|0,e=c/32|0;e<=g;e++)for(d=0;d<this.TilesY;d++)f=this.Level.GetBlock(e,d)&255,f=this.Background[f%8][f/8|0],a.drawImage(Enjine.Resources.Images.background,f.X,f.Y,f.Width,f.Height,(e<<5)-c|0,d<<5|0,f.Width,f.Height)};Mario.ImprovedNoise=function(a){this.P=[];this.Shuffle(a)};
|
||||
Mario.ImprovedNoise.prototype={Shuffle:function(){for(var a=[],b=0,c=0,e=0,b=0;b<256;b++)a[b]=b;for(b=0;b<256;b++)c=(Math.random()*255|0)+b,e=a[b],a[b]=a[c],a[c]=e,this.P[b+256]=this.P[b]=a[b]},PerlinNoise:function(a,b){for(var c=0,e=0,d=0,c=0;c<8;c++)d=64/(1<<c),e+=this.Noise(a/d,b/d,128)/(1<<c);return e},Noise:function(a,b,c){var e=(a|0)&255,d=(b|0)&255,f=(c|0)&255;a-=a|0;b-=b|0;c-=c|0;var g=this.Fade(a),h=this.Fade(b),i=this.Fade(c),j=this.P[e]+d,k=this.P[j]+f,j=this.P[j+1]+f,d=this.P[e+1]+d,e=
|
||||
this.P[d]+f,f=this.P[d+1]+f;return this.Lerp(i,this.Lerp(h,this.Lerp(g,this.Grad(this.P[k],a,b,c),this.Grad(this.P[e],a-1,b,c)),this.Lerp(g,this.Grad(this.P[j],a,b-1,c),this.Grad(this.P[f],a-1,b-1,c))),this.Lerp(h,this.Lerp(g,this.Grad(this.P[k+1],a,b,c-1),this.Grad(this.P[e+1],a-1,b,c-1)),this.Lerp(g,this.Grad(this.P[j+1],a,b-1,c-1),this.Grad(this.P[f+1],a-1,b-1,c-1))))},Fade:function(a){return a*a*a*(a*(a*6-15)+10)},Lerp:function(a,b,c){return b+a*(c-b)},Grad:function(a,b,c,e){a&=15;var d=a<8?b:
|
||||
c,b=a<4?c:a===12||a===14?b:e;return((a&1)===0?d:-d)+((a&2)===0?b:-b)}};Mario.NotchSprite=function(a){this.YPicO=this.XPicO=this.YPic=this.XPic=this.Ya=this.Xa=this.Y=this.X=this.YOld=this.XOld=0;this.PicHeight=this.PicWidth=32;this.YFlip=this.XFlip=!1;this.Visible=!0;this.Image=a;this.Delta=0;this.SpriteTemplate=null;this.Layer=1};Mario.NotchSprite.prototype=new Enjine.Drawable;
|
||||
Mario.NotchSprite.prototype.Draw=function(a){var b=0,c=0;this.Visible&&(b=(this.XOld+(this.X-this.XOld)*this.Delta|0)-this.XPicO,c=(this.YOld+(this.Y-this.YOld)*this.Delta|0)-this.YPicO,a.save(),a.scale(this.XFlip?-1:1,this.YFlip?-1:1),a.translate(this.XFlip?-320:0,this.YFlip?-240:0),a.drawImage(this.Image,this.XPic*this.PicWidth,this.YPic*this.PicHeight,this.PicWidth,this.PicHeight,this.XFlip?320-b-this.PicWidth:b,this.YFlip?240-c-this.PicHeight:c,this.PicWidth,this.PicHeight),a.restore())};
|
||||
Mario.NotchSprite.prototype.Update=function(a){this.XOld=this.X;this.YOld=this.Y;this.Move();this.Delta=a};Mario.NotchSprite.prototype.UpdateNoMove=function(){this.XOld=this.X;this.YOld=this.Y;this.Delta=0};Mario.NotchSprite.prototype.Move=function(){this.X+=this.Xa;this.Y+=this.Ya};Mario.NotchSprite.prototype.GetX=function(a){return(this.XOld+(this.X-this.XOld)*a|0)-this.XPicO};Mario.NotchSprite.prototype.GetY=function(a){return(this.YOld+(this.Y-this.YOld)*a|0)-this.YPicO};
|
||||
Mario.NotchSprite.prototype.CollideCheck=function(){};Mario.NotchSprite.prototype.BumpCheck=function(){};Mario.NotchSprite.prototype.Release=function(){};Mario.NotchSprite.prototype.ShellCollideCheck=function(){return!1};Mario.NotchSprite.prototype.FireballCollideCheck=function(){return!1};
|
||||
Mario.Character=function(){this.Fire=this.Large=!1;this.Coins=0;this.Lives=3;this.LevelString="none";this.AirInertia=this.GroundInertia=0.89;this.RunTime=0;this.Sliding=this.Ducking=this.MayJump=this.OnGround=this.WasOnGround=!1;this.YJumpSpeed=this.XJumpSpeed=this.JumpTime=0;this.CanShoot=!1;this.Width=4;this.Height=24;this.World=null;this.InvulnerableTime=this.WinTime=this.DeathTime=this.YDeathPos=this.XDeathPos=this.PowerUpTime=this.Facing=0;this.Carried=null;this.NewFire=this.NewLarge=this.LastFire=
|
||||
this.LastLarge=!1};Mario.Character.prototype=new Mario.NotchSprite(null);
|
||||
Mario.Character.prototype.Initialize=function(a){this.World=a;this.X=32;this.RunTime=this.PowerUpTime=this.Y=0;this.Sliding=this.Ducking=this.MayJump=this.OnGround=this.WasOnGround=!1;this.YJumpSpeed=this.XJumpSpeed=this.JumpTime=0;this.CanShoot=!1;this.Width=4;this.Height=24;this.World=a;this.InvulnerableTime=this.WinTime=this.DeathTime=this.YDeathPos=this.XDeathPos=this.PowerUpTime=this.Facing=0;this.Carried=null;this.SetLarge(this.Large,this.Fire)};
|
||||
Mario.Character.prototype.SetLarge=function(a,b){b&&(a=!0);a||(b=!1);this.LastLarge=this.Large;this.LastFire=this.Fire;this.Large=a;this.Fire=b;this.NewLarge=this.Large;this.NewFire=this.Fire;this.Blink(!0)};
|
||||
Mario.Character.prototype.Blink=function(a){this.Large=a?this.NewLarge:this.LastLarge;this.Fire=a?this.NewFire:this.LastFire;this.Large?(this.Image=this.Fire?Enjine.Resources.Images.fireMario:Enjine.Resources.Images.mario,this.XPicO=16,this.YPicO=31,this.PicWidth=this.PicHeight=32):(this.Image=Enjine.Resources.Images.smallMario,this.XPicO=8,this.YPicO=15,this.PicWidth=this.PicHeight=16)};
|
||||
Mario.Character.prototype.Move=function(){if(this.WinTime>0)this.WinTime++,this.Ya=this.Xa=0;else if(this.DeathTime>0)this.DeathTime++,this.DeathTime<11?this.Ya=this.Xa=0:this.DeathTime===11?this.Ya=-15:this.Ya+=2,this.X+=this.Xa,this.Y+=this.Ya;else if(this.PowerUpTime!==0){this.PowerUpTime>0?(this.PowerUpTime--,this.Blink(((this.PowerUpTime/3|0)&1)===0)):(this.PowerUpTime++,this.Blink(((-this.PowerUpTime/3|0)&1)===0));if(this.PowerUpTime===0)this.World.Paused=!1;this.CalcPic()}else{this.InvulnerableTime>
|
||||
0&&this.InvulnerableTime--;this.Visible=((this.InvulerableTime/2|0)&1)===0;this.WasOnGround=this.OnGround;var a=Enjine.KeyboardInput.IsKeyDown(Enjine.Keys.A)?1.2:0.6;if(this.OnGround)this.Ducking=Enjine.KeyboardInput.IsKeyDown(Enjine.Keys.Down)&&this.Large?!0:!1;if(this.Xa>2)this.Facing=1;if(this.Xa<-2)this.Facing=-1;if(Enjine.KeyboardInput.IsKeyDown(Enjine.Keys.S)||this.JumpTime<0&&!this.OnGround&&!this.Sliding)if(this.JumpTime<0)this.Xa=this.XJumpSpeed,this.Ya=-this.JumpTime*this.YJumpSpeed,this.JumpTime++;
|
||||
else if(this.OnGround&&this.MayJump)Enjine.Resources.PlaySound("jump"),this.XJumpSpeed=0,this.YJumpSpeed=-1.9,this.JumpTime=7,this.Ya=this.JumpTime*this.YJumpSpeed,this.Sliding=this.OnGround=!1;else if(this.Sliding&&this.MayJump)Enjine.Resources.PlaySound("jump"),this.XJumpSpeed=-this.Facing*6,this.YJumpSpeed=-2,this.JumpTime=-6,this.Xa=this.XJumpSpeed,this.Ya=-this.JumpTime*this.YJumpSpeed,this.Sliding=this.OnGround=!1,this.Facing=-this.Facing;else{if(this.JumpTime>0)this.Xa+=this.XJumpSpeed,this.Ya=
|
||||
this.JumpTime*this.YJumpSpeed,this.JumpTime--}else this.JumpTime=0;if(Enjine.KeyboardInput.IsKeyDown(Enjine.Keys.Left)&&!this.Ducking){if(this.Facing===1)this.Sliding=!1;this.Xa-=a;if(this.JumpTime>=0)this.Facing=-1}if(Enjine.KeyboardInput.IsKeyDown(Enjine.Keys.Right)&&!this.Ducking){if(this.Facing===-1)this.Sliding=!1;this.Xa+=a;if(this.JumpTime>=0)this.Facing=1}if(!Enjine.KeyboardInput.IsKeyDown(Enjine.Keys.Left)&&!Enjine.KeyboardInput.IsKeyDown(Enjine.Keys.Right)||this.Ducking||this.Ya<0||this.OnGround)this.Sliding=
|
||||
!1;Enjine.KeyboardInput.IsKeyDown(Enjine.Keys.A)&&this.CanShoot&&this.Fire&&this.World.FireballsOnScreen<2&&(Enjine.Resources.PlaySound("fireball"),this.World.AddSprite(new Mario.Fireball(this.World,this.X+this.Facing*6,this.Y-20,this.Facing)));this.CanShoot=!Enjine.KeyboardInput.IsKeyDown(Enjine.Keys.A);this.MayJump=(this.OnGround||this.Sliding)&&!Enjine.KeyboardInput.IsKeyDown(Enjine.Keys.S);this.XFlip=this.Facing===-1;this.RunTime+=Math.abs(this.Xa)+5;if(Math.abs(this.Xa)<0.5)this.Xa=this.RunTime=
|
||||
0;this.CalcPic();this.Sliding&&(this.World.AddSprite(new Mario.Sparkle(this.World,(this.X+Math.random()*4-2|0)+this.Facing*8,(this.Y+Math.random()*4|0)-24,Math.random()*2-1,Math.random(),0,1,5)),this.Ya*=0.5);this.OnGround=!1;this.SubMove(this.Xa,0);this.SubMove(0,this.Ya);this.Y>this.World.Level.Height*16+16&&this.Die();if(this.X<0)this.Xa=this.X=0;this.X>this.World.Level.ExitX*16&&this.Win();if(this.X>this.World.Level.Width*16)this.X=this.World.Level.Width*16,this.Xa=0;this.Ya*=0.85;this.Xa*=this.OnGround?
|
||||
this.GroundInertia:this.AirInertia;this.OnGround||(this.Ya+=3);if(this.Carried!==null&&(this.Carried.X*=this.X+this.Facing*8,this.Carried.Y*=this.Y-2,!Enjine.KeyboardInput.IsKeyDown(Enjine.Keys.A)))this.Carried.Release(this),this.Carried=null}};
|
||||
Mario.Character.prototype.CalcPic=function(){var a=0,b=0;this.Large?(a=(this.RunTime/20|0)%4,a===3&&(a=1),this.Carried===null&&Math.abs(this.Xa)>10&&(a+=3),this.Carried!==null&&(a+=10),this.OnGround||(a=this.Carried!==null?12:Math.abs(this.Xa)>10?7:6)):(a=(this.RunTime/20|0)%2,this.Carried===null&&Math.abs(this.Xa)>10&&(a+=2),this.Carried!==null&&(a+=8),this.OnGround||(a=this.Carried!==null?9:Math.abs(this.Xa)>10?5:4));if(this.OnGround&&(this.Facing===-1&&this.Xa>0||this.Facing===1&&this.Xa<0)){if(this.Xa>
|
||||
1||this.Xa<-1)a=this.Large?9:7;if(this.Xa>3||this.Xa<-3)for(b=0;b<3;b++)this.World.AddSprite(new Mario.Sparkle(this.World,this.X+Math.random()*8-4|0,this.Y+Math.random()*4|0,Math.random()*2-1,Math.random()*-1,0,1,5))}this.Large?(this.Ducking&&(a=14),this.Height=this.Ducking?12:24):this.Height=12;this.XPic=a};
|
||||
Mario.Character.prototype.SubMove=function(a,b){for(var c=!1;a>8;){if(!this.SubMove(8,0))return!1;a-=8}for(;a<-8;){if(!this.SubMove(-8,0))return!1;a+=8}for(;b>8;){if(!this.SubMove(0,8))return!1;b-=8}for(;b<-8;){if(!this.SubMove(0,-8))return!1;b+=8}b>0&&(this.IsBlocking(this.X+a-this.Width,this.Y+b,a,0)?c=!0:this.IsBlocking(this.X+a+this.Width,this.Y+b,a,0)?c=!0:this.IsBlocking(this.X+a-this.Width,this.Y+b+1,a,b)?c=!0:this.IsBlocking(this.X+a+this.Width,this.Y+b+1,a,b)&&(c=!0));if(b<0)if(this.IsBlocking(this.X+
|
||||
a,this.Y+b-this.Height,a,b))c=!0;else if(c||this.IsBlocking(this.X+a-this.Width,this.Y+b-this.Height,a,b))c=!0;else if(c||this.IsBlocking(this.X+a+this.Width,this.Y+b-this.Height,a,b))c=!0;if(a>0)this.Sliding=!0,this.IsBlocking(this.X+a+this.Width,this.Y+b-this.Height,a,b)?c=!0:this.Sliding=!1,this.IsBlocking(this.X+a+this.Width,this.Y+b-(this.Height/2|0),a,b)?c=!0:this.Sliding=!1,this.IsBlocking(this.X+a+this.Width,this.Y+b,a,b)?c=!0:this.Sliding=!1;if(a<0)this.Sliding=!0,this.IsBlocking(this.X+
|
||||
a-this.Width,this.Y+b-this.Height,a,b)?c=!0:this.Sliding=!1,this.IsBlocking(this.X+a-this.Width,this.Y+b-(this.Height/2|0),a,b)?c=!0:this.Sliding=!1,this.IsBlocking(this.X+a-this.Width,this.Y+b,a,b)?c=!0:this.Sliding=!1;if(c){if(a<0)this.X=((this.X-this.Width)/16|0)*16+this.Width,this.Xa=0;if(a>0)this.X=((this.X+this.Width)/16+1|0)*16-this.Width-1,this.Xa=0;if(b<0)this.Y=((this.Y-this.Height)/16|0)*16+this.Height,this.Ya=this.JumpTime=0;if(b>0)this.Y=((this.Y-1)/16+1|0)*16-1,this.OnGround=!0;return!1}else return this.X+=
|
||||
a,this.Y+=b,!0};
|
||||
Mario.Character.prototype.IsBlocking=function(a,b,c,e){var d=!1,f=d=d=0,a=a/16|0,b=b/16|0;if(a===(this.X/16|0)&&b===(this.Y/16|0))return!1;d=this.World.Level.GetBlock(a,b);if((Mario.Tile.Behaviors[d&255]&Mario.Tile.PickUpable)>0){this.GetCoin();Enjine.Resources.PlaySound("coin");this.World.Level.SetBlock(a,b,0);for(d=0;d<2;d++)for(f=0;f<2;f++)this.World.AddSprite(new Mario.Sparkle(this.World,a*16+d*8+(Math.random()*8|0),b*16+f*8+(Math.random()*8|0),0,0,0,2,5))}(d=this.World.Level.IsBlocking(a,b,c,
|
||||
e))&&e<0&&this.World.Bump(a,b,this.Large);return d};
|
||||
Mario.Character.prototype.Stomp=function(a){var b=0;if(!(this.DeathTime>0||this.World.Paused))if(b=a.Y-a.Height/2,this.SubMove(0,b-this.Y),a instanceof Mario.Enemy||a instanceof Mario.BulletBill)Enjine.Resources.PlaySound("kick"),this.XJumpSpeed=0,this.YJumpSpeed=-1.9,this.JumpTime=8,this.Ya=this.JumpTime*this.YJumpSpeed,this.Sliding=this.OnGround=!1,this.InvulnerableTime=1;else if(a instanceof Mario.Shell)Enjine.KeyboardInput.IsKeyDown(Enjine.Keys.A)&&a.Facing===0?(this.Carried=a,a.Carried=!0):(Enjine.Resources.PlaySound("kick"),
|
||||
this.XJumpSpeed=0,this.YJumpSpeed=-1.9,this.JumpTime=8,this.Ya=this.JumpTime*this.YJumpSpeed,this.Sliding=this.OnGround=!1,this.InvulnerableTime=1)};Mario.Character.prototype.GetHurt=function(){if(!(this.DeathTime>0||this.World.Paused)&&!(this.InvulnerableTime>0))this.Large?(this.World.Paused=!0,this.PowerUpTime=-18,Enjine.Resources.PlaySound("powerdown"),this.Fire?this.SetLarge(!0,!1):this.SetLarge(!1,!1),this.InvulnerableTime=32):this.Die()};
|
||||
Mario.Character.prototype.Win=function(){this.XDeathPos=this.X|0;this.YDeathPos=this.Y|0;this.World.Paused=!0;this.WinTime=1;Enjine.Resources.PlaySound("exit")};Mario.Character.prototype.Die=function(){this.XDeathPos=this.X|0;this.YDeathPos=this.Y|0;this.World.Paused=!0;this.DeathTime=1;Enjine.Resources.PlaySound("death");this.SetLarge(!1,!1)};
|
||||
Mario.Character.prototype.GetFlower=function(){if(!(this.DeathTime>0&&this.World.Paused))this.Fire?(this.GetCoin(),Enjine.Resources.PlaySound("coin")):(this.World.Paused=!0,this.PowerUpTime=18,Enjine.Resources.PlaySound("powerup"),this.SetLarge(!0,!0))};
|
||||
Mario.Character.prototype.GetMushroom=function(){if(!(this.DeathTime>0&&this.World.Paused))this.Large?(this.GetCoin(),Enjine.Resources.PlaySound("coin")):(this.World.Paused=!0,this.PowerUpTime=18,Enjine.Resources.PlaySound("powerup"),this.SetLarge(!0,!1))};Mario.Character.prototype.Kick=function(a){if(!(this.DeathTime>0&&this.World.Paused))Enjine.KeyboardInput.IsKeyDown(Enjine.Keys.A)?(this.Carried=a,a.Carried=!0):(Enjine.Resources.PlaySound("kick"),this.InvulnerableTime=1)};
|
||||
Mario.Character.prototype.Get1Up=function(){Enjine.Resources.PlaySound("1up");this.Lives++;if(this.Lives===99)this.Lives=99};Mario.Character.prototype.GetCoin=function(){this.Coins++;if(this.Coins===100)this.Coins=0,this.Get1Up()};Mario.LevelRenderer=function(a,b,c){this.Width=b;this.Height=c;this.Level=a;this.TilesY=(c/16|0)+1;this.AnimTime=this.Bounce=this.Tick=this.Delta=0;this.Background=Mario.SpriteCuts.GetLevelSheet()};Mario.LevelRenderer.prototype=new Enjine.Drawable;
|
||||
Mario.LevelRenderer.prototype.Update=function(a){this.AnimTime+=a;this.Tick=this.AnimTime|0;this.Bounce+=a*30;this.Delta=a};Mario.LevelRenderer.prototype.Draw=function(a,b){this.DrawStatic(a,b);this.DrawDynamic(a,b)};
|
||||
Mario.LevelRenderer.prototype.DrawStatic=function(a,b){for(var c=0,e=0,d=0,d=null,f=(b.X+this.Width)/16|0,c=b.X/16|0;c<f+1;c++)for(e=0;e<this.TilesY;e++)d=this.Level.GetBlock(c,e)&255,(Mario.Tile.Behaviors[d]&Mario.Tile.Animated)===0&&(d=this.Background[d%16][d/16|0],a.drawImage(Enjine.Resources.Images.map,d.X,d.Y,d.Width,d.Height,(c<<4)-b.X|0,e<<4|0,d.Width,d.Height))};
|
||||
Mario.LevelRenderer.prototype.DrawDynamic=function(a,b){for(var c=0,e=0,d=0,f=0,g=0,d=null,c=b.X/16|0;c<=(b.X+this.Width)/16|0;c++)for(e=b.Y/16|0;e<=(b.Y+this.Height)/16|0;e++)d=this.Level.GetBlock(c,e),(Mario.Tile.Behaviors[d&255]&Mario.Tile.Animated)>0&&(f=(this.Bounce/3|0)%4,(d%16/4|0)===0&&(d/16|0)===1&&(f=(this.Bounce/2+(c+e)/8|0)%20,f>3&&(f=0)),(d%16/4|0)===3&&(d/16|0)===0&&(f=2),g=0,c>=0&&e>=0&&c<this.Level.Width&&e<this.Level.Height&&(g=this.Level.Data[c][e]),g>0&&(g=Math.sin((g-this.Delta)/
|
||||
4*Math.PI)*8|0),d=this.Background[(d%16/4|0)*4+f][d/16|0],a.drawImage(Enjine.Resources.Images.map,d.X,d.Y,d.Width,d.Height,(c<<4)-b.X,(e<<4)-b.Y-g,d.Width,d.Height))};
|
||||
Mario.LevelRenderer.prototype.DrawExit0=function(a,b,c){for(var e=0,e=0,d=null,e=this.Level.ExitY-8;e<this.Level.ExitY;e++)d=this.Background[12][e===this.Level.ExitY-8?4:5],a.drawImage(Enjine.Resources.Images.map,d.X,d.Y,d.Width,d.Height,(this.Level.ExitX<<4)-b.X-16,(e<<4)-b.Y,d.Width,d.Height);c&&(e=this.Level.ExitY*16-48-Math.sin(this.AnimTime)*48-8,d=this.Background[12][3],a.drawImage(Enjine.Resources.Images.map,d.X,d.Y,d.Width,d.Height,(this.Level.ExitX<<4)-b.X-16,e-b.Y,d.Width,d.Height),d=this.Background[13][3],
|
||||
a.drawImage(Enjine.Resources.Images.map,d.X,d.Y,d.Width,d.Height,(this.Level.ExitX<<4)-b.X,e-b.Y,d.Width,d.Height))};Mario.LevelRenderer.prototype.DrawExit1=function(a,b){for(var c=0,e=null,c=this.Level.ExitY-8;c<this.Level.ExitY;c++)e=this.Background[13][c===this.Level.ExitY-8?4:5],a.drawImage(Enjine.Resources.Images.map,e.X,e.Y,e.Width,e.Height,(this.Level.ExitX<<4)-b.X+16,(c<<4)-b.Y,e.Width,e.Height)};
|
||||
Mario.LevelGenerator=function(a,b){this.Width=a;this.Height=b;this.Odds=[];this.Type=this.Difficulty=this.TotalOdds=0};
|
||||
Mario.LevelGenerator.prototype={CreateLevel:function(a,b){var c=0,e=0,d=c=0,f=0,g=0,h=0,i=null;this.Type=a;this.Difficulty=b;this.Odds[Mario.Odds.Straight]=20;this.Odds[Mario.Odds.HillStraight]=10;this.Odds[Mario.Odds.Tubes]=2+b;this.Odds[Mario.Odds.Jump]=2*b;this.Odds[Mario.Odds.Cannon]=-10+5*b;this.Type!==Mario.LevelType.Overground&&(this.Odds[Mario.Odds.HillStraight]=0);for(c=0;c<this.Odds.length;c++)this.Odds[c]<0&&(this.Odds[c]=0),this.TotalOdds+=this.Odds[c],this.Odds[c]=this.TotalOdds-this.Odds[c];
|
||||
i=new Mario.Level(this.Width,this.Height);for(e+=this.BuildStraight(i,0,i.Width,!0);e<i.Width-64;)e+=this.BuildZone(i,e,i.Width-e);c=this.Height-1-Math.random()*4|0;i.ExitX=e+8;i.ExitY=c;for(d=e;d<i.Width;d++)for(f=0;f<this.Height;f++)f>=c&&i.SetBlock(d,f,145);if(a===Mario.LevelType.Castle||a===Mario.LevelType.Underground)for(d=0;d<i.Width;d++){h--<=0&&d>4&&(g=Math.random()*4|0,h=(Math.random()*4|0)+4);for(f=0;f<i.Height;f++)(d>4&&f<=g||d<1)&&i.SetBlock(d,f,145)}this.FixWalls(i);return i},BuildZone:function(a,
|
||||
b,c){for(var e=Math.random()*this.TotalOdds|0,d=0,f=0,f=0;f<this.Odds.length;f++)this.Odds[f]<=e&&(d=f);switch(d){case Mario.Odds.Straight:return this.BuildStraight(a,b,c,!1);case Mario.Odds.HillStraight:return this.BuildHillStraight(a,b,c);case Mario.Odds.Tubes:return this.BuildTubes(a,b,c);case Mario.Odds.Jump:return this.BuildJump(a,b,c);case Mario.Odds.Cannons:return this.BuildCannons(a,b,c)}return 0},BuildJump:function(a,b){for(var c=(Math.random()*4|0)+2,e=c*2+((Math.random()*2|0)+2),d=0,f=
|
||||
0,g=(Math.random()*3|0)===0,h=this.Height-1-(Math.random()*4|0),d=b;d<b+e;d++)if(d<b+c||d>b+e-c-1)for(f=0;f<this.Height;f++)f>=h?a.SetBlock(d,f,145):g&&(d<b+c?f>=h-(d-b)+1&&a.SetBlock(d,f,9):f>=h-(b+e-d)+2&&a.SetBlock(d,f,9));return e},BuildCannons:function(a,b,c){alert("cannons");var e=(Math.random()*10|0)+2,d=this.Height-1-Math.random()*4|0,f=b+1+Math.random()*4|0,g=0,h=0,i=0;e>c&&(e=c);for(g=b;g<b+e;g++){g>f&&(f+=2*Math.random()*4|0);f===b+e-1&&(f+=10);i=d-(Math.random()*4|0)-1;for(h=0;h<this.Height;h++)h>=
|
||||
d?a.SetBlock(g,h,145):g===f&&h>=i&&(h===i?a.SetBlock(g,h,14):h===i+1?a.SetBlock(g,h,30):a.SetBlock(g,h,46))}return e},BuildHillStraight:function(a,b,c){var e=(Math.random()*10|0)+10,d=this.Height-1-Math.random()*4|0,f=0,g=0,h=d,i=!0,j=0,k=0,l=[],m=0,n=0;e>c&&(e=c);for(f=b;f<b+e;f++)for(g=0;g<this.Height;g++)g>=d&&a.SetBlock(f,g,145);for(this.AddEnemyLine(a,b+1,b+e-1,d-1);i;)if(h=h-2-Math.random()*3|0,h<=0)i=!1;else if(j=(Math.random()*5|0)+3,k=(Math.random()*(e-j-2)|0)+b+1,l[k-b]||l[k-b+j]||l[k-b-
|
||||
1]||l[k-b+j+1])i=!1;else{l[k-b]=!0;l[k-b+j]=!0;this.AddEnemyLine(a,k,k+j,h-1);(Math.random()*4|0)===0&&(this.Decorate(a,k-1,k+j+1,h),i=!1);for(f=k;f<k+j;f++)for(g=h;g<d;g++)m=5,n=9,f===k&&(m=4),f===k+j-1&&(m=6),g===h&&(n=8),a.GetBlock(f,g)===0?a.SetBlock(f,g,m+n*16):(a.GetBlock(f,g)===132&&a.SetBlock(f,g,180),a.GetBlock(f,g)===134&&a.SetBlock(f,g,182))}return e},AddEnemyLine:function(a,b,c,e){for(var d=0,f=0,d=b;d<c;d++)if((Math.random()*35|0)<this.Difficulty+1)f=Math.random()*4|0,this.Difficulty<
|
||||
1?f=Mario.Enemy.Goomba:this.Difficulty<3&&(f=Math.random()*3|0),a.SetSpriteTemplate(d,e,new Mario.SpriteTemplate(f,(Math.random()*35|0)<this.Difficulty))},BuildTubes:function(a,b,c){var e=(Math.random()*10|0)+5,d=this.Height-1-Math.random()*4|0,f=b+1+Math.random()*4|0,g=d-(Math.random()*2|0)-2,h=0,i=0,j=0;e>c&&(e=c);for(h=b;h<b+e;h++){h>f+1&&(f+=3+(Math.random()*4|0),g=d-(Math.random()*2|0)-2);f>=b+e-2&&(f+=10);h===f&&(Math.random()*11|0)<this.Difficulty+1&&a.SetSpriteTemplate(h,g,new Mario.SpriteTemplate(Mario.Enemy.Flower,
|
||||
!1));for(i=0;i<this.Height;i++)if(i>=d)a.SetBlock(h,i,145);else if((h===f||h===f+1)&&i>=g)j=10+h-f,i===g?a.SetBlock(h,i,j):a.SetBlock(h,i,j+16)}return e},BuildStraight:function(a,b,c,e){var d=(Math.random()*10|0)+2,f=this.Height-1-(Math.random()*4|0),g=0,h=0;e&&(d=10+(Math.random()*5|0));d>c&&(d=c);for(g=b;g<b+d;g++)for(h=0;h<this.Height;h++)h>=f&&a.SetBlock(g,h,145);e||d>5&&this.Decorate(a,b,b+d,f);return d},Decorate:function(a,b,c,e){if(!(e<1)){var d=Math.random()*4|0,f=Math.random()*4|0,g=0;this.AddEnemyLine(a,
|
||||
b+1,c-1,e-1);if(e-2>0&&c-1-f-(b+1+d)>1)for(g=b+1+d;g<c-1-f;g++)a.SetBlock(g,e-2,34);d=Math.random()*4|0;f=Math.random()*4|0;if(e-4>0&&c-1-f-(b+1+d)>2)for(g=b+1+d;g<c-1-f;g++)g!==b+1&&g!==c-2&&(Math.random()*3|0)===0?(Math.random()*4|0)===0?a.SetBlock(g,e-4,22):a.SetBlock(g,e-4,21):(Math.random()*4|0)===0?(Math.random()*4|0)===0?a.SetBlock(g,e-4,18):a.SetBlock(g,e-4,17):a.SetBlock(g,e-4,16)}},FixWalls:function(a){for(var b=[],c=0,e=0,d=0,f=0,g=0,c=0;c<this.Width+1;c++){b[c]=[];for(e=0;e<this.Height+
|
||||
1;e++){g=0;for(d=c-1;d<c+1;d++)for(f=e-1;f<e+1;f++)a.GetBlockCapped(d,f)===145&&g++;b[c][e]=g===4}}this.Blockify(a,b,this.Width+1,this.Height+1)},Blockify:function(a,b,c,e){for(var d=0,f=[],g=0,h=0,i=0,j=0,k=g=0,l=0,g=0;g<2;g++)f[g]=[];this.Type===Mario.LevelType.Castle?d=8:this.Type===Mario.LevelType.Underground&&(d=12);for(g=0;g<c;g++)for(h=0;h<e;h++){for(i=g;i<=g+1;i++)for(j=h;j<=h+1;j++)k=i,l=j,k<0&&(k=0),l<0&&(l=0),k>c-1&&(k=c-1),l>e-1&&(l=e-1),f[i-g][j-h]=b[k][l];f[0][0]===f[1][0]&&f[0][1]===
|
||||
f[1][1]?f[0][0]===f[0][1]?f[0][0]&&a.SetBlock(g,h,145+d):f[0][0]?a.SetBlock(g,h,161+d):a.SetBlock(g,h,129+d):f[0][0]===f[0][1]&&f[1][0]===f[1][1]?f[0][0]?a.SetBlock(g,h,146+d):a.SetBlock(g,h,144+d):f[0][0]===f[1][1]&&f[0][1]===f[1][0]?a.SetBlock(g,h,145+d):f[0][0]===f[1][0]?f[0][0]?f[0][1]?a.SetBlock(g,h,163+d):a.SetBlock(g,h,179+d):f[0][1]?a.SetBlock(g,h,130+d):a.SetBlock(g,h,128+d):f[0][1]===f[1][1]?f[0][1]?f[0][0]?a.SetBlock(g,h,147+d):a.SetBlock(g,h,131+d):f[0][0]?a.SetBlock(g,h,162+d):a.SetBlock(g,
|
||||
h,160+d):a.SetBlock(g,h,1+16*d)}}};Mario.SpriteTemplate=function(a,b){this.Type=a;this.Winged=b;this.LastVisibleTick=-1;this.IsDead=!1;this.Sprite=null};Mario.SpriteTemplate.prototype={Spawn:function(a,b,c,e){if(!this.IsDead)this.Sprite=this.Type===Mario.Enemy.Flower?new Mario.FlowerEnemy(a,b*16+15,c*16+24):new Mario.Enemy(a,b*16+8,c*16+15,e,this.Type,this.Winged),this.Sprite.SpriteTemplate=this,a.AddSprite(this.Sprite)}};
|
||||
Mario.Enemy=function(a,b,c,e,d,f){this.AirInertia=this.GroundInertia=0.89;this.RunTime=0;this.MayJump=this.OnGround=!1;this.YJumpSpeed=this.XJumpSpeed=this.JumpTime=0;this.Width=4;this.Height=24;this.DeadTime=0;this.FlyDeath=!1;this.WingTime=0;this.NoFireballDeath=!1;this.X=b;this.Y=c;this.World=a;this.Type=d;this.Winged=f;this.Image=Enjine.Resources.Images.enemies;this.XPicO=8;this.YPicO=31;this.AvoidCliffs=this.Type===Mario.Enemy.RedKoopa;this.NoFireballDeath=this.Type===Mario.Enemy.Spiky;this.YPic=
|
||||
this.Type;if(this.YPic>1)this.Height=12;this.Facing=e;if(this.Facing===0)this.Facing=1;this.PicWidth=16};Mario.Enemy.prototype=new Mario.NotchSprite;
|
||||
Mario.Enemy.prototype.CollideCheck=function(){if(this.DeadTime===0){var a=Mario.MarioCharacter.X-this.X,b=Mario.MarioCharacter.Y-this.Y;if(a>-this.Width*2-4&&a<this.Width*2+4&&b>-this.Height&&b<Mario.MarioCharacter.Height)if(this.Type!==Mario.Enemy.Spiky&&Mario.MarioCharacter.Ya>0&&b<=0&&(!Mario.MarioCharacter.OnGround||!Mario.MarioCharacter.WasOnGround))if(Mario.MarioCharacter.Stomp(this),this.Winged)this.Winged=!1,this.Ya=0;else{this.YPicO=7;this.PicHeight=8;if(this.SpriteTemplate!==null)this.SpriteTemplate.IsDead=
|
||||
!0;this.DeadTime=10;this.Winged=!1;this.Type===Mario.Enemy.RedKoopa?this.World.AddSprite(new Mario.Shell(this.World,this.X,this.Y,0)):this.Type===Mario.Enemy.GreenKoopa&&this.World.AddSprite(new Mario.Shell(this.World,this.X,this.Y,1))}else Mario.MarioCharacter.GetHurt()}};
|
||||
Mario.Enemy.prototype.Move=function(){var a=0,a=0;this.WingTime++;if(this.DeadTime>0){this.DeadTime--;if(this.DeadTime===0){this.DeadTime=1;for(a=0;a<8;a++)this.World.AddSprite(new Mario.Sparkle(this.World,(this.X+Math.random()*16-8|0)+4,(this.Y-Math.random()*8|0)+4,Math.random()*2-1,Math.random()*-1,0,1,5));this.World.RemoveSprite(this)}this.FlyDeath&&(this.X+=this.Xa,this.Y+=this.Ya,this.Ya*=0.95,this.Ya+=1)}else{if(this.Xa>2)this.Facing=1;if(this.Xa<-2)this.Facing=-1;this.Xa=this.Facing*1.75;this.MayJump=
|
||||
this.OnGround;this.XFlip=this.Facing===-1;this.RunTime+=Math.abs(this.Xa)+5;a=(this.RunTime/20|0)%2;this.OnGround||(a=1);if(!this.SubMove(this.Xa,0))this.Facing=-this.Facing;this.OnGround=!1;this.SubMove(0,this.Ya);this.Ya*=this.Winged?0.95:0.85;this.Xa*=this.OnGround?this.GroundInertia:this.AirInertia;if(this.OnGround){if(this.Winged)this.Ya=-10}else this.Ya+=this.Winged?0.6:2;this.Winged&&(a=(this.WingTime/4|0)%2);this.XPic=a}};
|
||||
Mario.Enemy.prototype.SubMove=function(a,b){for(var c=!1;a>8;){if(!this.SubMove(8,0))return!1;a-=8}for(;a<-8;){if(!this.SubMove(-8,0))return!1;a+=8}for(;b>8;){if(!this.SubMove(0,8))return!1;b-=8}for(;b<-8;){if(!this.SubMove(0,-8))return!1;b+=8}b>0&&(this.IsBlocking(this.X+a-this.Width,this.Y+b,a,0)?c=!0:this.IsBlocking(this.X+a+this.Width,this.Y+b,a,0)?c=!0:this.IsBlocking(this.X+a-this.Width,this.Y+b+1,a,b)?c=!0:this.IsBlocking(this.X+a+this.Width,this.Y+b+1,a,b)&&(c=!0));if(b<0)if(this.IsBlocking(this.X+
|
||||
a,this.Y+b-this.Height,a,b))c=!0;else if(c||this.IsBlocking(this.X+a-this.Width,this.Y+b-this.Height,a,b))c=!0;else if(c||this.IsBlocking(this.X+a+this.Width,this.Y+b-this.Height,a,b))c=!0;a>0&&(this.IsBlocking(this.X+a+this.Width,this.Y+b-this.Height,a,b)&&(c=!0),this.IsBlocking(this.X+a+this.Width,this.Y+b-(this.Height/2|0),a,b)&&(c=!0),this.IsBlocking(this.X+a+this.Width,this.Y+b,a,b)&&(c=!0),this.AvoidCliffs&&this.OnGround&&!this.World.Level.IsBlocking((this.X+this.Xa+this.Width)/16|0,this.Y/
|
||||
16+1|0,this.Xa,1)&&(c=!0));a<0&&(this.IsBlocking(this.X+a-this.Width,this.Y+b-this.Height,a,b)&&(c=!0),this.IsBlocking(this.X+a-this.Width,this.Y+b-(this.Height/2|0),a,b)&&(c=!0),this.IsBlocking(this.X+a-this.Width,this.Y+b,a,b)&&(c=!0),this.AvoidCliffs&&this.OnGround&&!this.World.Level.IsBlocking((this.X+this.Xa-this.Width)/16|0,this.Y/16+1|0,this.Xa,1)&&(c=!0));if(c){if(a<0)this.X=((this.X-this.Width)/16|0)*16+this.Width,this.Xa=0;if(a>0)this.X=((this.X+this.Width)/16+1|0)*16-this.Width-1,this.Xa=
|
||||
0;if(b<0)this.Y=((this.Y-this.Height)/16|0)*16+this.Height,this.Ya=this.JumpTime=0;if(b>0)this.Y=((this.Y-1)/16+1|0)*16-1,this.OnGround=!0;return!1}else return this.X+=a,this.Y+=b,!0};Mario.Enemy.prototype.IsBlocking=function(a,b,c,e){a=a/16|0;b=b/16|0;if(a===this.X/16|0&&b===this.Y/16|0)return!1;return this.World.Level.IsBlocking(a,b,c,e)};
|
||||
Mario.Enemy.prototype.ShellCollideCheck=function(a){if(this.DeadTime!==0)return!1;var b=a.X-this.X,c=a.Y-this.Y;if(b>-16&&b<16&&c>-this.Height&&c<a.Height){Enjine.Resources.PlaySound("kick");this.Xa=a.Facing*2;this.Ya=-5;this.FlyDeath=!0;if(this.SpriteTemplate!==null)this.SpriteTemplate.IsDead=!0;this.DeadTime=100;this.Winged=!1;return this.YFlip=!0}return!1};
|
||||
Mario.Enemy.prototype.FireballCollideCheck=function(a){if(this.DeadTime!==0)return!1;var b=a.X-this.X,c=a.Y-this.Y;if(b>-16&&b<16&&c>-this.Height&&c<a.Height){if(this.NoFireballDeath)return!0;Enjine.Resources.PlaySound("kick");this.Xa=a.Facing*2;this.Ya=-5;this.FlyDeath=!0;if(this.SpriteTemplate!==null)this.SpriteTemplate.IsDead=!0;this.DeadTime=100;this.Winged=!1;return this.YFlip=!0}};
|
||||
Mario.Enemy.prototype.BumpCheck=function(a,b){if(this.DeadTime===0&&this.X+this.Width>a*16&&this.X-this.Width<a*16+16&&b===(this.Y-1)/16|0){Enjine.Resources.PlaySound("kick");this.Xa=-Mario.MarioCharacter.Facing*2;this.Ya=-5;this.FlyDeath=!0;if(this.SpriteTemplate!==null)this.SpriteTemplate.IsDead=!0;this.DeadTime=100;this.Winged=!1;this.YFlip=!0}};Mario.Enemy.prototype.SubDraw=Mario.NotchSprite.prototype.Draw;
|
||||
Mario.Enemy.prototype.Draw=function(a,b){var c=0,e=0;if(this.Winged&&(c=(this.XOld+(this.X-this.XOld)*this.Delta|0)-this.XPicO,e=(this.YOld+(this.Y-this.YOld)*this.Delta|0)-this.YPicO,this.Type!==Mario.Enemy.RedKoopa&&this.Type!==Mario.Enemy.GreenKoopa))this.XFlip=!this.XFlip,a.save(),a.scale(this.XFlip?-1:1,this.YFlip?-1:1),a.translate(this.XFlip?-320:0,this.YFlip?-240:0),a.drawImage(this.Image,(this.WingTime/4|0)%2*16,128,16,32,this.XFlip?320-c-24:c-8,this.YFlip?240-e-32:e-8,16,32),a.restore(),
|
||||
this.XFlip=!this.XFlip;this.SubDraw(a,b);this.Winged&&(c=(this.XOld+(this.X-this.XOld)*this.Delta|0)-this.XPicO,e=(this.YOld+(this.Y-this.YOld)*this.Delta|0)-this.YPicO,this.Type===Mario.Enemy.RedKoopa&&this.Type===Mario.Enemy.GreenKoopa?(a.save(),a.scale(this.XFlip?-1:1,this.YFlip?-1:1),a.translate(this.XFlip?-320:0,this.YFlip?-240:0),a.drawImage(this.Image,(this.WingTime/4|0)%2*16,128,16,32,this.XFlip?320-c-24:c-8,this.YFlip?240-e:e-8,16,32)):(a.save(),a.scale(this.XFlip?-1:1,this.YFlip?-1:1),a.translate(this.XFlip?
|
||||
-320:0,this.YFlip?-240:0),a.drawImage(this.Image,(this.WingTime/4|0)%2*16,128,16,32,this.XFlip?320-c-24:c-8,this.YFlip?240-e-32:e-8,16,32)),a.restore())};Mario.Enemy.RedKoopa=0;Mario.Enemy.GreenKoopa=1;Mario.Enemy.Goomba=2;Mario.Enemy.Spiky=3;Mario.Enemy.Flower=4;
|
||||
Mario.Fireball=function(a,b,c,e){this.AirInertia=this.GroundInertia=0.89;this.Image=Enjine.Resources.Images.particles;this.World=a;this.X=b;this.Y=c;this.Facing=e;this.YPicO=this.XPicO=4;this.YPic=3;this.XPic=4;this.Height=8;this.Width=4;this.PicWidth=this.PicHeight=8;this.Ya=4;this.Dead=!1;this.Anim=this.DeadTime=0;this.OnGround=!1};Mario.Fireball.prototype=new Mario.NotchSprite;
|
||||
Mario.Fireball.prototype.Move=function(){var a=0;if(this.DeadTime>0){for(a=0;a<8;a++)this.World.AddSprite(new Mario.Sparkle(this.World,(this.X+Math.random()*8-4|0)+4,(this.Y+Math.random()*8-4|0)+2,Math.random()*2-1*this.Facing,Math.random()*2-1,0,1,5));this.World.RemoveSprite(this)}else{this.Facing!=0&&this.Anim++;if(this.Xa>2)this.Facing=1;if(this.Xa<-2)this.Facing=-1;this.Xa=this.Facing*8;this.World.CheckFireballCollide(this);this.FlipX=this.Facing===-1;this.XPic=this.Anim%4;this.SubMove(this.Xa,
|
||||
0)||this.Die();this.OnGround=!1;this.SubMove(0,this.Ya);if(this.OnGround)this.Ya=-10;this.Ya*=0.95;this.Xa*=this.OnGround?this.GroundInertia:this.AirInertia;this.OnGround||(this.Ya+=1.5)}};
|
||||
Mario.Fireball.prototype.SubMove=function(a,b){for(var c=!1;a>8;){if(!this.SubMove(8,0))return!1;a-=8}for(;a<-8;){if(!this.SubMove(-8,0))return!1;a+=8}for(;b>8;){if(!this.SubMove(0,8))return!1;b-=8}for(;b<-8;){if(!this.SubMove(0,-8))return!1;b+=8}b>0&&(this.IsBlocking(this.X+a-this.Width,this.Y+b,a,0)?c=!0:this.IsBlocking(this.X+a+this.Width,this.Y+b,a,0)?c=!0:this.IsBlocking(this.X+a-this.Width,this.Y+b+1,a,b)?c=!0:this.IsBlocking(this.X+a+this.Width,this.Y+b+1,a,b)&&(c=!0));if(b<0)if(this.IsBlocking(this.X+
|
||||
a,this.Y+b-this.Height,a,b))c=!0;else if(c||this.IsBlocking(this.X+a-this.Width,this.Y+b-this.Height,a,b))c=!0;else if(c||this.IsBlocking(this.X+a+this.Width,this.Y+b-this.Height,a,b))c=!0;a>0&&(this.IsBlocking(this.X+a+this.Width,this.Y+b-this.Height,a,b)&&(c=!0),this.IsBlocking(this.X+a+this.Width,this.Y+b-(this.Height/2|0),a,b)&&(c=!0),this.IsBlocking(this.X+a+this.Width,this.Y+b,a,b)&&(c=!0));a<0&&(this.IsBlocking(this.X+a-this.Width,this.Y+b-this.Height,a,b)&&(c=!0),this.IsBlocking(this.X+a-
|
||||
this.Width,this.Y+b-(this.Height/2|0),a,b)&&(c=!0),this.IsBlocking(this.X+a-this.Width,this.Y+b,a,b)&&(c=!0));if(c){if(a<0)this.X=((this.X-this.Width)/16|0)*16+this.Width,this.Xa=0;if(a>0)this.X=((this.X+this.Width)/16+1|0)*16-this.Width-1,this.Xa=0;if(b<0)this.Y=((this.Y-this.Height)/16|0)*16+this.Height,this.Ya=0;if(b>0)this.Y=((this.Y-1)/16+1|0)*16-1,this.OnGround=!0;return!1}else return this.X+=a,this.Y+=b,!0};
|
||||
Mario.Fireball.prototype.IsBlocking=function(a,b,c,e){a=a/16|0;b=b/16|0;if(a===this.X/16|0&&b===this.Y/16|0)return!1;return this.World.Level.IsBlocking(a,b,c,e)};Mario.Fireball.prototype.Die=function(){this.Dead=!0;this.Xa=-this.Facing*2;this.Ya=-5;this.DeadTime=100};
|
||||
Mario.Sparkle=function(a,b,c,e,d){this.World=a;this.X=b;this.Y=c;this.Xa=e;this.Ya=d;this.XPic=Math.random()*2|0;this.YPic=0;this.Life=10+(Math.random()*5|0);this.XPicStart=this.XPic;this.YPicO=this.XPicO=4;this.PicHeight=this.PicWidth=8;this.Image=Enjine.Resources.Images.particles};Mario.Sparkle.prototype=new Mario.NotchSprite;Mario.Sparkle.prototype.Move=function(){this.XPic=this.Life>10?7:this.XPicStart+(10-this.Life)*0.4|0;this.Life--<0&&this.World.RemoveSprite(this);this.X+=this.Xa;this.Y+=this.Ya};
|
||||
Mario.CoinAnim=function(a,b,c){this.World=a;this.Life=10;this.Image=Enjine.Resources.Images.map;this.PicWidth=this.PicHeight=16;this.X=b*16;this.Y=c*16-16;this.Xa=0;this.Ya=-6;this.XPic=0;this.YPic=2};Mario.CoinAnim.prototype=new Mario.NotchSprite;
|
||||
Mario.CoinAnim.prototype.Move=function(){var a=0,b=0;if(this.Life--<0){this.World.RemoveSprite(this);for(a=0;a<2;a++)for(b=0;b<2;b++)this.World.AddSprite(new Mario.Sparkle(this.World,this.X+a*8+Math.random()*8|0,this.Y+b*8+Math.random()*8|0,0,0,0,2,5))}this.XPic=this.Life&3;this.X+=this.Xa;this.Y+=this.Ya;this.Ya+=1};
|
||||
Mario.Mushroom=function(a,b,c){this.RunTime=0;this.AirInertia=this.GroundInertia=0.89;this.OnGround=!1;this.Width=4;this.Height=24;this.World=a;this.X=b;this.Y=c;this.Image=Enjine.Resources.Images.items;this.XPicO=8;this.YPicO=15;this.YPic=0;this.Height=12;this.Facing=1;this.PicWidth=this.PicHeight=16;this.Life=0};Mario.Mushroom.prototype=new Mario.NotchSprite;
|
||||
Mario.Mushroom.prototype.CollideCheck=function(){var a=Mario.MarioCharacter.X-this.X,b=Mario.MarioCharacter.Y-this.Y;a>-16&&a<16&&b>-this.Height&&b<Mario.MarioCharacter.Height&&(Mario.MarioCharacter.GetMushroom(),this.World.RemoveSprite(this))};
|
||||
Mario.Mushroom.prototype.Move=function(){if(this.Life<9)this.Layer=0,this.Y--,this.Life++;else{this.Layer=1;if(this.Xa>2)this.Facing=1;if(this.Xa<-2)this.Facing=-1;this.Xa=this.Facing*1.75;this.XFlip=this.Facing===-1;this.RunTime+=Math.abs(this.Xa)+5;if(!this.SubMove(this.Xa,0))this.Facing=-this.Facing;this.OnGround=!1;this.SubMove(0,this.Ya);this.Ya*=0.85;this.Xa*=this.OnGround?this.GroundInertia:this.AirInertia;this.OnGround||(this.Ya+=2)}};
|
||||
Mario.Mushroom.prototype.SubMove=function(a,b){for(var c=!1;a>8;){if(!this.SubMove(8,0))return!1;a-=8}for(;a<-8;){if(!this.SubMove(-8,0))return!1;a+=8}for(;b>8;){if(!this.SubMove(0,8))return!1;b-=8}for(;b<-8;){if(!this.SubMove(0,-8))return!1;b+=8}b>0&&(this.IsBlocking(this.X+a-this.Width,this.Y+b,a,0)?c=!0:this.IsBlocking(this.X+a+this.Width,this.Y+b,a,0)?c=!0:this.IsBlocking(this.X+a-this.Width,this.Y+b+1,a,b)?c=!0:this.IsBlocking(this.X+a+this.Width,this.Y+b+1,a,b)&&(c=!0));if(b<0)if(this.IsBlocking(this.X+
|
||||
a,this.Y+b-this.Height,a,b))c=!0;else if(c||this.IsBlocking(this.X+a-this.Width,this.Y+b-this.Height,a,b))c=!0;else if(c||this.IsBlocking(this.X+a+this.Width,this.Y+b-this.Height,a,b))c=!0;a>0&&(this.IsBlocking(this.X+a+this.Width,this.Y+b-this.Height,a,b)&&(c=!0),this.IsBlocking(this.X+a+this.Width,this.Y+b-(this.Height/2|0),a,b)&&(c=!0),this.IsBlocking(this.X+a+this.Width,this.Y+b,a,b)&&(c=!0));a<0&&(this.IsBlocking(this.X+a-this.Width,this.Y+b-this.Height,a,b)&&(c=!0),this.IsBlocking(this.X+a-
|
||||
this.Width,this.Y+b-(this.Height/2|0),a,b)&&(c=!0),this.IsBlocking(this.X+a-this.Width,this.Y+b,a,b)&&(c=!0));if(c){if(a<0)this.X=((this.X-this.Width)/16|0)*16+this.Width,this.Xa=0;if(a>0)this.X=((this.X+this.Width)/16+1|0)*16-this.Width-1,this.Xa=0;if(b<0)this.Y=((this.Y-this.Height)/16|0)*16+this.Height,this.Ya=this.JumpTime=0;if(b>0)this.Y=((this.Y-1)/16+1|0)*16-1,this.OnGround=!0;return!1}else return this.X+=a,this.Y+=b,!0};
|
||||
Mario.Mushroom.prototype.IsBlocking=function(a,b,c,e){a=a/16|0;b=b/16|0;if(a===this.X/16|0&&b===this.Y/16|0)return!1;return this.World.Level.IsBlocking(a,b,c,e)};Mario.Mushroom.prototype.BumpCheck=function(a,b){if(this.X+this.Width>a*16&&this.X-this.Width<a*16-16&&b===(b-1)/16|0)this.Facing=-Mario.MarioCharacter.Facing,this.Ya=-10};
|
||||
Mario.Particle=function(a,b,c,e,d){this.World=a;this.X=b;this.Y=c;this.Xa=e;this.Ya=d;this.XPic=Math.random()*2|0;this.YPic=0;this.YPicO=this.XPicO=4;this.PicHeight=this.PicWidth=8;this.Life=10;this.Image=Enjine.Resources.Images.particles};Mario.Particle.prototype=new Mario.NotchSprite;Mario.Particle.prototype.Move=function(){this.Life-this.Delta<0&&this.World.RemoveSprite(this);this.Life-=this.Delta;this.X+=this.Xa;this.Y+=this.Ya;this.Ya*=0.95;this.Ya+=3};
|
||||
Mario.FireFlower=function(a,b,c){this.Width=4;this.Height=24;this.World=a;this.X=b;this.Y=c;this.Image=Enjine.Resources.Images.items;this.XPicO=8;this.YPicO=15;this.XPic=1;this.YPic=0;this.Height=12;this.Facing=1;this.PicWidth=this.PicHeight=16;this.Life=0};Mario.FireFlower.prototype=new Mario.NotchSprite;
|
||||
Mario.FireFlower.prototype.CollideCheck=function(){var a=Mario.MarioCharacter.X-this.X,b=Mario.MarioCharacter.Y-this.Y;a>-16&&a<16&&b>-this.Height&&b<Mario.MarioCharacter.Height&&(Mario.MarioCharacter.GetFlower(),this.World.RemoveSprite(this))};Mario.FireFlower.prototype.Move=function(){if(this.Life<9)this.Layer=0,this.Y--,this.Life++};
|
||||
Mario.BulletBill=function(a,b,c,e){this.Image=Enjine.Resources.Images.enemies;this.World=a;this.X=b;this.Y=c;this.Facing=e;this.XPicO=8;this.YPicO=31;this.Height=12;this.Width=4;this.PicWidth=16;this.YPic=5;this.XPic=0;this.Ya=-5;this.DeadTime=0;this.Dead=!1;this.Anim=0};Mario.BulletBill.prototype=new Mario.NotchSprite;
|
||||
Mario.BulletBill.prototype.CollideCheck=function(){if(!this.Dead){var a=Mario.MarioCharacter.X-this.X,b=Mario.MarioCharacter.Y-this.Y;if(a>-16&&a<16&&b>-this.Height&&b<this.World.Mario.Height)Mario.MarioCharacter.Y>0&&b<=0&&(!Mario.MarioCharacter.OnGround||!Mario.MarioCharacter.WasOnGround)?(Mario.MarioCharacter.Stomp(this),this.Dead=!0,this.Xa=0,this.Ya=1,this.DeadTime=100):Mario.MarioCharacter.GetHurt()}};
|
||||
Mario.BulletBill.prototype.Move=function(){var a=0;if(this.DeadTime>0){this.DeadTime--;if(this.DeadTime===0){this.DeadTime=1;for(a=0;a<8;a++)this.World.AddSprite(new Mario.Sparkle((this.X+Math.random()*16-8|0)+4,(this.Y+Math.random()*8|0)+4,Math.random()*2-1,Math.random()*-1,0,1,5));this.World.RemoveSprite(this)}this.X+=this.Xa;this.Y+=this.Ya;this.Ya*=0.95;this.Ya+=1}else this.Xa=this.Facing*4,this.XFlip=this.Facing===-1,this.Move(this.Xa,0)};
|
||||
Mario.BulletBill.prototype.SubMove=function(a){this.X+=a;return!0};Mario.BulletBill.prototype.FireballCollideCheck=function(a){if(this.DeadTime!==0)return!1;var b=a.X-this.X,c=a.Y-this.Y;if(b>-16&&b<16&&c>-this.Height&&c<a.Height)return!0;return!1};
|
||||
Mario.BulletBill.prototype.ShellCollideCheck=function(a){if(this.DeadTime!==0)return!1;var b=a.X-this.X,c=a.Y-this.Y;if(b>-16&&b<16&&c>-this.Height&&c<a.Height)return Enjine.Resources.PlaySound("kick"),this.Dead=!0,this.Xa=0,this.Ya=1,this.DeadTime=100,!0;return!1};
|
||||
Mario.FlowerEnemy=function(a,b,c){this.Image=Enjine.Resources.Images.enemies;this.World=a;this.X=b;this.Y=c;this.Facing=1;this.Type=Mario.Enemy.Spiky;this.NoFireballDeath=this.Winged=!1;this.XPic=0;this.YPic=6;this.YPicO=24;this.Height=12;this.Width=2;this.YStart=c;this.Ya=-8;this.Y-=1;for(a=a=this.Tick=this.JumpTime=this.Layer=0;a<4;a++)this.Move()};Mario.FlowerEnemy.prototype=new Mario.Enemy;
|
||||
Mario.FlowerEnemy.prototype.Move=function(){var a=0,a=0;if(this.DeadTime>0){this.DeadTime--;if(this.DeadTime===0){this.DeadTime=1;for(a=0;a<8;a++)this.World.AddSprite(new Mario.Sparkle((this.X+Math.random()*16-8|0)+4,(this.Y+Math.random()*8|0)+4,Math.random()*2-1,Math.random()*-1,0,1,5));this.World.RemoveSprite(this)}this.X+=this.Xa;this.Y+=this.Ya;this.Ya*=0.95;this.Ya+=1}else this.Tick++,this.Y>=this.YStart?(this.YStart=this.Y,a=Math.abs(Mario.MarioCharacter.X-this.X)|0,this.JumpTime++,this.Ya=
|
||||
this.JumpTime>40&&a>24?-8:0):this.JumpTime=0,this.Y+=this.Ya,this.Ya*=0.9,this.Ya+=0.1,this.XPic=((this.Tick/2|0)&1)*2+((this.Tick/6|0)&1)};Mario.Shell=function(a,b,c,e){this.World=a;this.X=b;this.Y=c;this.YPic=e;this.Image=Enjine.Resources.Images.enemies;this.XPicO=8;this.YPicO=31;this.Width=4;this.Height=12;this.Facing=0;this.PicWidth=16;this.XPic=4;this.Ya=-5;this.Dead=!1;this.DeadTime=0;this.Carried=!1;this.AirInertia=this.GroundInertia=0.89;this.OnGround=!1;this.Anim=0};
|
||||
Mario.Shell.prototype=new Mario.NotchSprite;Mario.Shell.prototype.FireballCollideCheck=function(a){if(this.DeadTime!==0)return!1;var b=a.X-this.X,c=a.Y-this.Y;if(b>-16&&b<16&&c>-this.Height&&c<a.Height){if(this.Facing!==0)return!0;Enjine.Resources.PlaySound("kick");this.Xa=a.Facing*2;this.Ya=-5;if(this.SpriteTemplate!==null)this.SpriteTemplate.IsDead=!0;this.DeadTime=100;return this.YFlip=!0}return!1};
|
||||
Mario.Shell.prototype.CollideCheck=function(){if(!this.Carried&&!(this.Dead||this.DeadTime>0)){var a=Mario.MarioCharacter.X-this.X,b=Mario.MarioCharacter.Y-this.Y;if(a>-16&&a<16&&b>-this.Height&&b<Mario.MarioCharacter.Height)Mario.MarioCharacter.Ya>0&&b<=0&&(!Mario.MarioCharacter.OnGround||!Mario.MarioCharacter.WasOnGround)?(Mario.MarioCharacter.Stomp(this),this.Facing=this.Facing!==0?this.Xa=0:Mario.MarioCharacter.Facing):this.Facing!==0?Mario.MarioCharacter.GetHurt():(Mario.MarioCharacter.Kick(this),
|
||||
this.Facing=Mario.MarioCharacter.Facing)}};
|
||||
Mario.Shell.prototype.Move=function(){var a=0;if(this.Carried)this.World.CheckShellCollide(this);else if(this.DeadTime>0){this.DeadTime--;if(this.DeadTime===0){this.DeadTime=1;for(a=0;a<8;a++)this.World.AddSprite(new Mario.Sparkle((this.X+Math.random()*16-8|0)+4,(this.Y+Math.random()*8|0)+4,Math.random()*2-1,Math.random()*-1,0,1,5));this.World.RemoveSprite(this)}this.X+=this.Xa;this.Y+=this.Ya;this.Ya*=0.95;this.Ya+=1}else{this.Facing!==0&&this.Anim++;if(this.Xa>2)this.Facing=1;if(this.Xa<-2)this.Facing=
|
||||
-1;this.Xa=this.Facing*11;this.Facing!==0&&this.World.CheckShellCollide(this);this.XFlip=this.Facing===-1;this.XPic=(this.Anim/2|0)%4+3;if(!this.SubMove(this.Xa,0))Enjine.Resources.PlaySound("bump"),this.Facing=-this.Facing;this.OnGround=!1;this.SubMove(0,this.Ya);this.Ya*=0.85;this.Xa*=this.OnGround?this.GroundInertia:this.AirInertia;this.OnGround||(this.Ya+=2)}};
|
||||
Mario.Shell.prototype.SubMove=function(a,b){for(var c=!1;a>8;){if(!this.SubMove(8,0))return!1;a-=8}for(;a<-8;){if(!this.SubMove(-8,0))return!1;a+=8}for(;b>8;){if(!this.SubMove(0,8))return!1;b-=8}for(;b<-8;){if(!this.SubMove(0,-8))return!1;b+=8}b>0&&(this.IsBlocking(this.X+a-this.Width,this.Y+b,a,0)?c=!0:this.IsBlocking(this.X+a+this.Width,this.Y+b,a,0)?c=!0:this.IsBlocking(this.X+a-this.Width,this.Y+b+1,a,b)?c=!0:this.IsBlocking(this.X+a+this.Width,this.Y+b+1,a,b)&&(c=!0));if(b<0)if(this.IsBlocking(this.X+
|
||||
a,this.Y+b-this.Height,a,b))c=!0;else if(c||this.IsBlocking(this.X+a-this.Width,this.Y+b-this.Height,a,b))c=!0;else if(c||this.IsBlocking(this.X+a+this.Width,this.Y+b-this.Height,a,b))c=!0;a>0&&(this.IsBlocking(this.X+a+this.Width,this.Y+b-this.Height,a,b)&&(c=!0),this.IsBlocking(this.X+a+this.Width,this.Y+b-(this.Height/2|0),a,b)&&(c=!0),this.IsBlocking(this.X+a+this.Width,this.Y+b,a,b)&&(c=!0));a<0&&(this.IsBlocking(this.X+a-this.Width,this.Y+b-this.Height,a,b)&&(c=!0),this.IsBlocking(this.X+a-
|
||||
this.Width,this.Y+b-(this.Height/2|0),a,b)&&(c=!0),this.IsBlocking(this.X+a-this.Width,this.Y+b,a,b)&&(c=!0));if(c){if(a<0)this.X=((this.X-this.Width)/16|0)*16+this.Width,this.Xa=0;if(a>0)this.X=((this.X+this.Width)/16+1|0)*16-this.Width-1,this.Xa=0;if(b<0)this.Y=((this.Y-this.Height)/16|0)*16+this.Height,this.Ya=0;if(b>0)this.Y=((this.Y-1)/16+1|0)*16-1,this.OnGround=!0;return!1}else return this.X+=a,this.Y+=b,!0};
|
||||
Mario.Shell.prototype.IsBlocking=function(a,b,c,e){a=a/16|0;b=b/16|0;if(a===(this.X/16|0)&&b===(this.Y/16|0))return!1;var d=this.World.Level.IsBlocking(a,b,c,e);d&&e===0&&c!==0&&this.World.Bump(a,b,!0);return d};Mario.Shell.prototype.BumpCheck=function(a,b){if(this.X+this.Width>a*16&&this.X-this.Width<a*16+16&&b===((this.Y-1)/16|0))this.Facing=-Mario.MarioCharacter.Facing,this.Ya=-10};
|
||||
Mario.Shell.prototype.Die=function(){this.Dead=!0;this.Carried=!1;this.Xa=-this.Facing*2;this.Ya=-5;this.DeadTime=100};Mario.Shell.prototype.ShellCollideCheck=function(a){if(this.DeadTime!==0)return!1;var b=a.X-this.X,c=a.Y-this.Y;if(b>-16&&b<16&&c>-this.Height&&c<a.Height){Enjine.Resources.PlaySound("kick");if(Mario.MarioCharacter.Carried===a||Mario.MarioCharacter.Carried===this)Mario.MarioCharacter.Carried=null;this.Die();a.Die();return!0}return!1};
|
||||
Mario.Shell.prototype.Release=function(){this.Carried=!1;this.Facing=Mario.MarioCharacter.Facing;this.X+=this.Facing*8};Mario.TitleState=function(){this.font=this.bounce=this.logoY=this.camera=this.drawManager=null};Mario.TitleState.prototype=new Enjine.GameState;
|
||||
Mario.TitleState.prototype.Enter=function(){this.drawManager=new Enjine.DrawableManager;this.camera=new Enjine.Camera;var a=new Mario.BackgroundGenerator(2048,15,!0,Mario.LevelType.Overground),b=new Mario.BackgroundRenderer(a.CreateLevel(),320,240,2);a.SetValues(2048,15,!1,Mario.LevelType.Overground);a=new Mario.BackgroundRenderer(a.CreateLevel(),320,240,1);this.title=new Enjine.Sprite;this.title.Image=Enjine.Resources.Images.title;this.title.X=0;this.title.Y=120;this.logo=new Enjine.Sprite;this.logo.Image=
|
||||
Enjine.Resources.Images.logo;this.logo.X=0;this.logo.Y=0;this.font=Mario.SpriteCuts.CreateRedFont();this.font.Strings[0]={String:"Press S to Start",X:96,Y:120};this.logoY=20;this.drawManager.Add(b);this.drawManager.Add(a);this.bounce=0;Mario.GlobalMapState=new Mario.MapState;Mario.MarioCharacter=new Mario.Character;Mario.MarioCharacter.Image=Enjine.Resources.Images.smallMario};Mario.TitleState.prototype.Exit=function(){this.drawManager.Clear();delete this.drawManager;delete this.camera;delete this.font};
|
||||
Mario.TitleState.prototype.Update=function(a){this.bounce+=a*2;this.logoY=20+Math.sin(this.bounce)*10;this.camera.X+=a*25;this.drawManager.Update(a)};Mario.TitleState.prototype.Draw=function(a){this.drawManager.Draw(a,this.camera);a.drawImage(Enjine.Resources.Images.title,0,120);a.drawImage(Enjine.Resources.Images.logo,0,this.logoY);this.font.Draw(a,this.Camera)};Mario.TitleState.prototype.CheckForChange=function(a){Enjine.KeyboardInput.IsKeyDown(Enjine.Keys.S)&&a.ChangeState(Mario.GlobalMapState)};
|
||||
Mario.LoadingState=function(){this.Images=[];this.ImagesLoaded=!1;this.ScreenColor=0;this.ColorDirection=1;this.SoundIndex=this.ImageIndex=0};Mario.LoadingState.prototype=new Enjine.GameState;
|
||||
Mario.LoadingState.prototype.Enter=function(){for(var a=0,a=0;a<15;a++)this.Images[a]={};this.Images[0].name="background";this.Images[1].name="endScene";this.Images[2].name="enemies";this.Images[3].name="fireMario";this.Images[4].name="font";this.Images[5].name="gameOverGhost";this.Images[6].name="items";this.Images[7].name="logo";this.Images[8].name="map";this.Images[9].name="mario";this.Images[10].name="particles";this.Images[11].name="racoonMario";this.Images[12].name="smallMario";this.Images[13].name=
|
||||
"title";this.Images[14].name="worldMap";this.Images[0].src="static/cjml/images/bgsheet.png";this.Images[1].src="static/cjml/images/endscene.gif";this.Images[2].src="static/cjml/images/enemysheet.png";this.Images[3].src="static/cjml/images/firemariosheet.png";this.Images[4].src="static/cjml/images/font.gif";this.Images[5].src="static/cjml/images/gameovergost.gif";this.Images[6].src="static/cjml/images/itemsheet.png";this.Images[7].src="static/cjml/images/logo.gif";this.Images[8].src="static/cjml/images/mapsheet.png";this.Images[9].src="static/cjml/images/mariosheet.png";this.Images[10].src="static/cjml/images/particlesheet.png";
|
||||
this.Images[11].src="static/cjml/images/racoonmariosheet.png";this.Images[12].src="static/cjml/images/smallmariosheet.png";this.Images[13].src="static/cjml/images/title.gif";this.Images[14].src="static/cjml/images/worldmap.png";Enjine.Resources.AddImages(this.Images);(new Audio).canPlayType("audio/mp3")?Enjine.Resources.AddSound("1up","sounds/1-up.mp3",1).AddSound("breakblock","sounds/breakblock.mp3").AddSound("bump","sounds/bump.mp3",4).AddSound("cannon","sounds/cannon.mp3").AddSound("coin","sounds/coin.mp3",5).AddSound("death","sounds/death.mp3",
|
||||
1).AddSound("exit","sounds/exit.mp3",1).AddSound("fireball","sounds/fireball.mp3",1).AddSound("jump","sounds/jump.mp3").AddSound("kick","sounds/kick.mp3").AddSound("pipe","sounds/pipe.mp3",1).AddSound("powerdown","sounds/powerdown.mp3",1).AddSound("powerup","sounds/powerup.mp3",1).AddSound("sprout","sounds/sprout.mp3",1).AddSound("stagestart","sounds/stagestart.mp3",1).AddSound("stomp","sounds/stomp.mp3",2):Enjine.Resources.AddSound("1up","sounds/1-up.wav",1).AddSound("breakblock","sounds/breakblock.wav").AddSound("bump",
|
||||
"sounds/bump.wav",2).AddSound("cannon","sounds/cannon.wav").AddSound("coin","sounds/coin.wav",5).AddSound("death","sounds/death.wav",1).AddSound("exit","sounds/exit.wav",1).AddSound("fireball","sounds/fireball.wav",1).AddSound("jump","sounds/jump.wav",1).AddSound("kick","sounds/kick.wav",1).AddSound("message","sounds/message.wav",1).AddSound("pipe","sounds/pipe.wav",1).AddSound("powerdown","sounds/powerdown.wav",1).AddSound("powerup","sounds/powerup.wav",1).AddSound("sprout","sounds/sprout.wav",1).AddSound("stagestart",
|
||||
"sounds/stagestart.wav",1).AddSound("stomp","sounds/stomp.wav",1);Mario.Tile.LoadBehaviors()};Mario.LoadingState.prototype.Exit=function(){delete this.Images};
|
||||
Mario.LoadingState.prototype.Update=function(a){if(!this.ImagesLoaded){this.ImagesLoaded=!0;for(var b=0,b=0;b<this.Images.length;b++)if(Enjine.Resources.Images[this.Images[b].name].complete!==!0){this.ImagesLoaded=!1;break}}this.ScreenColor+=this.ColorDirection*255*a;if(this.ScreenColor>255)this.ScreenColor=255,this.ColorDirection=-1;else if(this.ScreenColor<0)this.ScreenColor=0,this.ColorDirection=1};
|
||||
Mario.LoadingState.prototype.Draw=function(a){if(this.ImagesLoaded)a.fillStyle="rgb(0, 0, 0)";else{var b=parseInt(this.ScreenColor,10);a.fillStyle="rgb("+b+","+b+","+b+")"}a.fillRect(0,0,640,480)};Mario.LoadingState.prototype.CheckForChange=function(a){if(this.ImagesLoaded)Mario.GlobalMapState=new Mario.MapState,a.ChangeState(new Mario.TitleState)};Mario.LoseState=function(){this.font=this.gameOver=this.camera=this.drawManager=null;this.wasKeyDown=!1};Mario.LoseState.prototype=new Enjine.GameState;
|
||||
Mario.LoseState.prototype.Enter=function(){this.drawManager=new Enjine.DrawableManager;this.camera=new Enjine.Camera;this.gameOver=new Enjine.AnimatedSprite;this.gameOver.Image=Enjine.Resources.Images.gameOverGhost;this.gameOver.SetColumnCount(9);this.gameOver.SetRowCount(1);this.gameOver.AddNewSequence("turnLoop",0,0,0,8);this.gameOver.PlaySequence("turnLoop",!0);this.gameOver.FramesPerSecond=1/15;this.gameOver.X=112;this.gameOver.Y=68;this.font=Mario.SpriteCuts.CreateBlackFont();this.font.Strings[0]=
|
||||
{String:"Game over!",X:116,Y:160};this.drawManager.Add(this.font);this.drawManager.Add(this.gameOver)};Mario.LoseState.prototype.Exit=function(){this.drawManager.Clear();delete this.drawManager;delete this.camera;delete this.gameOver;delete this.font};Mario.LoseState.prototype.Update=function(a){this.drawManager.Update(a);if(Enjine.KeyboardInput.IsKeyDown(Enjine.Keys.S))this.wasKeyDown=!0};Mario.LoseState.prototype.Draw=function(a){this.drawManager.Draw(a,this.camera)};
|
||||
Mario.LoseState.prototype.CheckForChange=function(a){this.wasKeyDown&&!Enjine.KeyboardInput.IsKeyDown(Enjine.Keys.S)&&a.ChangeState(new Mario.TitleState)};Mario.WinState=function(){this.waitTime=2;this.kissing=this.font=this.camera=this.drawManager=null;this.wasKeyDown=!1};Mario.WinState.prototype=new Enjine.GameState;
|
||||
Mario.WinState.prototype.Enter=function(){this.drawManager=new Enjine.DrawableManager;this.camera=new Enjine.Camera;this.font=Mario.SpriteCuts.CreateBlackFont();this.font.Strings[0]={String:"Thank you for saving me, Mario!",X:36,Y:160};this.kissing=new Enjine.AnimatedSprite;this.kissing.Image=Enjine.Resources.Images.endScene;this.kissing.X=112;this.kissing.Y=52;this.kissing.SetColumnCount(2);this.kissing.SetRowCount(1);this.kissing.AddNewSequence("loop",0,0,0,1);this.kissing.PlaySequence("loop",!0);
|
||||
this.kissing.FramesPerSecond=0.5;this.waitTime=2;this.drawManager.Add(this.font);this.drawManager.Add(this.kissing)};Mario.WinState.prototype.Exit=function(){this.drawManager.Clear();delete this.drawManager;delete this.camera};Mario.WinState.prototype.Update=function(a){this.drawManager.Update(a);if(this.waitTime>0)this.waitTime-=a;else if(Enjine.KeyboardInput.IsKeyDown(Enjine.Keys.S))this.wasKeyDown=!0};Mario.WinState.prototype.Draw=function(a){this.drawManager.Draw(a,this.camera)};
|
||||
Mario.WinState.prototype.CheckForChange=function(a){this.waitTime<=0&&this.wasKeyDown&&!Enjine.KeyboardInput.IsKeyDown(Enjine.Keys.S)&&a.ChangeState(new Mario.TitleState)};Mario.MapTile={Grass:0,Water:1,Level:2,Road:3,Decoration:4};
|
||||
Mario.MapState=function(){this.camera=new Enjine.Camera;this.Level=[];this.Data=[];this.YFarthestCap=this.XFarthestCap=this.Farthest=this.LevelId=this.MoveTime=this.YMarioA=this.XMarioA=this.YMario=this.XMario=0;this.MapImage=document.createElement("canvas");this.MapImage.width=320;this.MapImage.height=240;this.MapContext=this.MapImage.getContext("2d");this.EnterLevel=this.CanEnterLevel=!1;this.LevelType=this.LevelDifficulty=0;this.WorldNumber=-1;this.NextWorld()};Mario.MapState.prototype=new Enjine.GameState;
|
||||
Mario.MapState.prototype.Enter=function(){this.WaterSprite=new Enjine.AnimatedSprite;this.WaterSprite.Image=Enjine.Resources.Images.worldMap;this.WaterSprite.SetColumnCount(16);this.WaterSprite.SetRowCount(16);this.WaterSprite.AddNewSequence("loop",14,0,14,3);this.WaterSprite.FramesPerSecond=1/3;this.WaterSprite.PlaySequence("loop",!0);this.WaterSprite.X=0;this.WaterSprite.Y=0;this.DecoSprite=new Enjine.AnimatedSprite;this.DecoSprite.Image=Enjine.Resources.Images.worldMap;this.DecoSprite.SetColumnCount(16);
|
||||
this.DecoSprite.SetRowCount(16);this.DecoSprite.AddNewSequence("world0",10,0,10,3);this.DecoSprite.AddNewSequence("world1",11,0,11,3);this.DecoSprite.AddNewSequence("world2",12,0,12,3);this.DecoSprite.AddNewSequence("world3",13,0,13,3);this.DecoSprite.FramesPerSecond=1/3;this.DecoSprite.PlaySequence("world0",!0);this.DecoSprite.X=0;this.DecoSprite.Y=0;this.HelpSprite=new Enjine.AnimatedSprite;this.HelpSprite.Image=Enjine.Resources.Images.worldMap;this.HelpSprite.SetColumnCount(16);this.HelpSprite.SetRowCount(16);
|
||||
this.HelpSprite.AddNewSequence("help",7,3,7,5);this.HelpSprite.FramesPerSecond=0.5;this.HelpSprite.PlaySequence("help",!0);this.HelpSprite.X=0;this.HelpSprite.Y=0;this.SmallMario=new Enjine.AnimatedSprite;this.SmallMario.Image=Enjine.Resources.Images.worldMap;this.SmallMario.SetColumnCount(16);this.SmallMario.SetRowCount(16);this.SmallMario.AddNewSequence("small",1,0,1,1);this.SmallMario.FramesPerSecond=1/3;this.SmallMario.PlaySequence("small",!0);this.SmallMario.X=0;this.SmallMario.Y=0;this.LargeMario=
|
||||
new Enjine.AnimatedSprite;this.LargeMario.Image=Enjine.Resources.Images.worldMap;this.LargeMario.SetColumnCount(16);this.LargeMario.SetRowCount(8);this.LargeMario.AddNewSequence("large",0,2,0,3);this.LargeMario.AddNewSequence("fire",0,4,0,5);this.LargeMario.FramesPerSecond=1/3;this.LargeMario.PlaySequence("large",!0);this.LargeMario.X=0;this.LargeMario.Y=0;this.FontShadow=Mario.SpriteCuts.CreateBlackFont();this.Font=Mario.SpriteCuts.CreateWhiteFont();this.DecoSprite.PlaySequence("world"+this.WorldNumber%
|
||||
4,!0);Mario.MarioCharacter.Fire?this.LargeMario.PlaySequence("fire",!0):this.LargeMario.PlaySequence("large",!0);this.EnterLevel=!1;this.LevelType=this.LevelDifficulty=0};Mario.MapState.prototype.Exit=function(){delete this.WaterSprite;delete this.DecoSprite;delete this.HelpSprite;delete this.SmallMario;delete this.LargeMario;delete this.FontShadow;delete this.Font};
|
||||
Mario.MapState.prototype.NextWorld=function(){var a=!1;this.WorldNumber++;if(this.WorldNumber!==8){for(this.YFarthestCap=this.XFarthestCap=this.Farthest=this.LevelId=this.MoveTime=0;!a;)a=this.GenerateLevel();this.RenderStatic()}};
|
||||
Mario.MapState.prototype.GenerateLevel=function(){var a=0,b=0,c=0,e=0,c=c=0,d=new Mario.ImprovedNoise(Math.random()*9223372036854775E3|0),f=new Mario.ImprovedNoise(Math.random()*9223372036854775E3|0),g=new Mario.ImprovedNoise(Math.random()*9223372036854775E3|0);this.Level=[];this.Data=[];for(var h=Math.random()*512,i=Math.random()*512,j=Math.random()*512,k=Math.random()*512,a=0;a<21;a++){this.Level[a]=[];this.Data[a]=[];for(b=0;b<16;b++)c=d.PerlinNoise(a*10+h,b*10+i),e=f.PerlinNoise(a*10+j,b*10+k),
|
||||
c-=e,c*=2,this.Level[a][b]=c>0?Mario.MapTile.Water:Mario.MapTile.Grass}f=d=9999;for(j=c=j=0;j<100&&c<12;j++)if(a=(Math.random()*(20/3|0)|0)*3+2,b=(Math.random()*5|0)*3+1,this.Level[a][b]===Mario.MapTile.Grass)a<d&&(d=a,f=b),this.Level[a][b]=Mario.MapTile.Level,this.Data[a][b]=-1,c++;this.Data[d][f]=-2;for(a=!0;a;)a=this.FindConnection(21,16);this.FindCaps(21,16);if(this.XFarthestCap===0)return!1;this.Data[this.XFarthestCap][this.YFarthestCap]=-2;this.Data[this.XMario/16|0][this.YMario/16|0]=-11;for(a=
|
||||
0;a<21;a++)for(b=0;b<16;b++)if(this.Level[a][b]===Mario.MapTile.Grass&&(a!==this.XFarthestCap||b!==this.YFarthestCap-1))if(c=g.PerlinNoise(a*10+h,b*10+i),c>0)this.Level[a][b]=Mario.MapTile.Decoration;return!0};Mario.MapState.prototype.FindConnection=function(a,b){for(var c=0,e=0,c=0;c<a;c++)for(e=0;e<b;e++)if(this.Level[c][e]===Mario.MapTile.Level&&this.Data[c][e]===-1)return this.Connect(c,e,a,b),!0;return!1};
|
||||
Mario.MapState.prototype.Connect=function(a,b,c,e){for(var d=1E4,f=0,g=0,h=0,i=0,j=0,k=0,h=j=0;h<c;h++)for(i=0;i<e;i++)this.Level[h][i]===Mario.MapTile.Level&&this.Data[h][i]===-2&&(j=Math.abs(a-h)|0,k=Math.abs(b-i)|0,j=j*j+k*k,j<d&&(f=h,g=i,d=j));this.DrawRoad(a,b,f,g);this.Level[a][b]=Mario.MapTile.Level;this.Data[a][b]=-2};
|
||||
Mario.MapState.prototype.DrawRoad=function(a,b,c,e){var d=!1;Math.random()>0.5&&(d=!0);if(d){for(;a>c;)this.Data[a][b]=0,this.Level[a--][b]=Mario.MapTile.Road;for(;a<c;)this.Data[a][b]=0,this.Level[a++][b]=Mario.MapTile.Road}for(;b>e;)this.Data[a][b]=0,this.Level[a][b--]=Mario.MapTile.Road;for(;b<e;)this.Data[a][b]=0,this.Level[a][b++]=Mario.MapTile.Road;if(!d){for(;a>c;)this.Data[a][b]=0,this.Level[a--][b]=Mario.MapTile.Road;for(;a<c;)this.Data[a][b]=0,this.Level[a++][b]=Mario.MapTile.Road}};
|
||||
Mario.MapState.prototype.FindCaps=function(a,b){for(var c=0,e=0,d=-1,f=-1,g=0,h=0,i=0,c=0;c<a;c++)for(e=0;e<b;e++)if(this.Level[c][e]===Mario.MapTile.Level){g=0;for(h=c-1;h<=c+1;h++)for(i=e-1;i<=e+1;i++)this.Level[h][i]===Mario.MapTile.Road&&g++;g===1?(d===-1&&(d=c,f=e),this.Data[c][e]=0):this.Data[c][e]=1}this.XMario=d*16;this.YMario=f*16;this.Travel(d,f,-1,0)};
|
||||
Mario.MapState.prototype.Travel=function(a,b,c,e){if(!(this.Level[a][b]!==Mario.MapTile.Road&&this.Level[a][b]!==Mario.MapTile.Level)){if(this.Level[a][b]===Mario.MapTile.Road)if(this.Data[a][b]===1)return;else this.Data[a][b]=1;if(this.Level[a][b]===Mario.MapTile.Level)if(this.Data[a][b]>0)this.Data[a][b]=this.LevelId!==0&&(Math.random()*4|0)===0?-3:++this.LevelId;else if(e>0&&(this.Data[a][b]=-1,e>this.Farthest))this.Farthest=e,this.XFarthestCap=a,this.YFarthestCap=b;c!==2&&this.Travel(a-1,b,0,
|
||||
e++);c!==3&&this.Travel(a,b-1,1,e++);c!==0&&this.Travel(a+1,b,2,e++);c!==1&&this.Travel(a,b+1,3,e++)}};
|
||||
Mario.MapState.prototype.RenderStatic=function(){for(var a=0,b=0,c=0,e=0,d=0,f=0,g=c=0,h=0,i=Enjine.Resources.Images.worldMap,a=g=0;a<20;a++)for(b=0;b<15;b++)if(this.MapContext.drawImage(i,(this.WorldNumber/4|0)*16,0,16,16,a*16,b*16,16,16),this.Level[a][b]===Mario.MapTile.Level)g=this.Data[a][b],g===0?this.MapContext.drawImage(i,0,112,16,16,a*16,b*16,16,16):g===-1?this.MapContext.drawImage(i,48,128,16,16,a*16,b*16,16,16):g===-3?this.MapContext.drawImage(i,0,128,16,16,a*16,b*16,16,16):g===-10?this.MapContext.drawImage(i,
|
||||
16,128,16,16,a*16,b*16,16,16):g===-11?this.MapContext.drawImage(i,16,112,16,16,a*16,b*16,16,16):g===-2?(this.MapContext.drawImage(i,32,112,16,16,a*16,(b-1)*16,16,16),this.MapContext.drawImage(i,32,128,16,16,a*16,b*16,16,16)):this.MapContext.drawImage(i,(g-1)*16,96,16,16,a*16,b*16,16,16);else if(this.Level[a][b]===Mario.MapTile.Road)c=this.IsRoad(a-1,b)?1:0,e=this.IsRoad(a,b-1)?1:0,d=this.IsRoad(a+1,b)?1:0,f=this.IsRoad(a,b+1)?1:0,c=c+e*2+d*4+f*8,this.MapContext.drawImage(i,c*16,32,16,16,a*16,b*16,
|
||||
16,16);else if(this.Level[a][b]===Mario.MapTile.Water)for(g=0;g<2;g++)for(h=0;h<2;h++)c=this.IsWater(a*2+(g-1),b*2+(h-1))?0:1,e=this.IsWater(a*2+g,b*2+(h-1))?0:1,d=this.IsWater(a*2+(g-1),b*2+h)?0:1,f=this.IsWater(a*2+g,b*2+h)?0:1,c=c+e*2+d*4+f*8-1,c>=0&&c<=14&&this.MapContext.drawImage(i,c*16,(4+(g+h&1))*16,16,16,a*16+g*8,b*16+h*8,16,16)};
|
||||
Mario.MapState.prototype.IsRoad=function(a,b){a<0&&(a=0);b<0&&(b=0);if(this.Level[a][b]===Mario.MapTile.Road)return!0;if(this.Level[a][b]===Mario.MapTile.Level)return!0;return!1};Mario.MapState.prototype.IsWater=function(a,b){var c=0,e=0;a<0&&(a=0);b<0&&(b=0);for(c=0;c<2;c++)for(e=0;e<2;e++)if(this.Level[(a+c)/2|0][(b+e)/2|0]!==Mario.MapTile.Water)return!1;return!0};
|
||||
Mario.MapState.prototype.Update=function(a){var b=0,c=0,e=0,d=0;if(this.WorldNumber!==8){this.XMario+=this.XMarioA;this.YMario+=this.YMarioA;b=this.XMario/16|0;c=this.YMario/16|0;this.Level[b][c]===Mario.MapTile.Road&&(this.Data[b][c]=0);if(this.MoveTime>0)this.MoveTime--;else{this.YMarioA=this.XMarioA=0;if(this.CanEnterLevel&&Enjine.KeyboardInput.IsKeyDown(Enjine.Keys.S)&&this.Level[b][c]===Mario.MapTile.Level&&this.Data[b][c]!==-11&&this.Level[b][c]===Mario.MapTile.Level&&this.Data[b][c]!==0&&this.Data[b][c]>
|
||||
-10){e=this.WorldNumber+1;Mario.MarioCharacter.LevelString=e+"-";d=Mario.LevelType.Overground;if(this.Data[b][c]>1&&(Math.random()*3|0)===0)d=Mario.LevelType.Underground;this.Data[b][c]<0?(this.Data[b][c]===-2?(Mario.MarioCharacter.LevelString+="X",e+=2):this.Data[b][c]===-1?Mario.MarioCharacter.LevelString+="?":(Mario.MarioCharacter.LevelString+="#",e+=1),d=Mario.LevelType.Castle):Mario.MarioCharacter.LevelString+=this.Data[b][c];this.EnterLevel=!0;this.LevelDifficulty=e;this.LevelType=d}this.CanEnterLevel=
|
||||
!Enjine.KeyboardInput.IsKeyDown(Enjine.Keys.S);Enjine.KeyboardInput.IsKeyDown(Enjine.Keys.Left)&&this.TryWalking(-1,0);Enjine.KeyboardInput.IsKeyDown(Enjine.Keys.Right)&&this.TryWalking(1,0);Enjine.KeyboardInput.IsKeyDown(Enjine.Keys.Up)&&this.TryWalking(0,-1);Enjine.KeyboardInput.IsKeyDown(Enjine.Keys.Down)&&this.TryWalking(0,1)}this.WaterSprite.Update(a);this.DecoSprite.Update(a);this.HelpSprite.Update(a);Mario.MarioCharacter.Large?(this.LargeMario.X=this.XMario+this.XMarioA*a|0,this.LargeMario.Y=
|
||||
this.YMario+(this.YMarioA*a|0)-22,this.LargeMario.Update(a)):(this.SmallMario.X=this.XMario+this.XMarioA*a|0,this.SmallMario.Y=this.YMario+(this.YMarioA*a|0)-6,this.SmallMario.Update(a))}};
|
||||
Mario.MapState.prototype.TryWalking=function(a,b){var c=this.XMario/16|0,e=this.YMario/16|0,d=c+a,f=e+b;if((this.Level[d][f]===Mario.MapTile.Road||this.Level[d][f]===Mario.MapTile.Level)&&!(this.Level[d][f]===Mario.MapTile.Road&&this.Data[d][f]!==0&&this.Data[c][e]!==0&&this.Data[c][e]>-10))this.XMarioA=a*8,this.YMarioA=b*8,this.MoveTime=this.CalcDistance(c,e,a,b)*2+1};
|
||||
Mario.MapState.prototype.CalcDistance=function(a,b,c,e){for(var d=0;;){a+=c;b+=e;if(this.Level[a][b]!==Mario.MapTile.Road)return d;if(this.Level[a-e][b+c]===Mario.MapTile.Road)return d;if(this.Level[a+e][b-c]===Mario.MapTile.Road)return d;d++}};
|
||||
Mario.MapState.prototype.Draw=function(a){var b=0,c=0;if(this.WorldNumber!==8){a.drawImage(this.MapImage,0,0);for(c=0;c<=15;c++)for(b=20;b>=0;b--)if(this.Level[b][c]===Mario.MapTile.Water){if(this.IsWater(b*2-1,c*2-1))this.WaterSprite.X=b*16-8,this.WaterSprite.Y=c*16-8,this.WaterSprite.Draw(a,this.camera)}else if(this.Level[b][c]===Mario.MapTile.Decoration)this.DecoSprite.X=b*16,this.DecoSprite.Y=c*16,this.DecoSprite.Draw(a,this.camera);else if(this.Level[b][c]===Mario.MapTile.Level&&this.Data[b][c]===
|
||||
-2)this.HelpSprite.X=b*16+16,this.HelpSprite.Y=c*16-16,this.HelpSprite.Draw(a,this.camera);Mario.MarioCharacter.Large?this.LargeMario.Draw(a,this.camera):this.SmallMario.Draw(a,this.camera);this.Font.Strings[0]={String:"MARIO "+Mario.MarioCharacter.Lives,X:4,Y:4};this.FontShadow.Strings[0]={String:"MARIO "+Mario.MarioCharacter.Lives,X:5,Y:5};this.Font.Strings[1]={String:"WORLD "+(this.WorldNumber+1),X:256,Y:4};this.FontShadow.Strings[1]={String:"WORLD "+(this.WorldNumber+1),X:257,Y:5};this.FontShadow.Draw(a,
|
||||
this.camera);this.Font.Draw(a,this.camera)}};Mario.MapState.prototype.LevelWon=function(){var a=this.XMario/16,b=this.YMario/16;this.Data[a][b]===-2?this.NextWorld():(this.Data[a][b]=this.Data[a][b]!==-3?0:-10,this.RenderStatic())};Mario.MapState.prototype.GetX=function(){return 160};Mario.MapState.prototype.GetY=function(){return 120};
|
||||
Mario.MapState.prototype.CheckForChange=function(a){this.WorldNumber===8&&a.ChangeState(new Mario.WinState);this.EnterLevel&&a.ChangeState(new Mario.LevelState(this.LevelDifficulty,this.LevelType))};
|
||||
Mario.LevelState=function(a,b){this.LevelDifficulty=a;this.LevelType=b;this.Layer=this.Level=null;this.BgLayer=[];this.Paused=!1;this.Font=this.FontShadow=this.FireballsToCheck=this.ShellsToCheck=this.Camera=this.SpritesToRemove=this.SpritesToAdd=this.Sprites=null;this.Delta=this.Tick=this.FireballsOnScreen=this.StartTime=this.TimeLeft=0;this.GotoLoseState=this.GotoMapState=!1};Mario.LevelState.prototype=new Enjine.GameState;
|
||||
Mario.LevelState.prototype.Enter=function(){var a=0,b=0,c=0,e=0,c=null;this.Level=(new Mario.LevelGenerator(320,15)).CreateLevel(this.LevelType,this.LevelDifficulty);this.Paused=!1;this.Layer=new Mario.LevelRenderer(this.Level,320,240);this.Sprites=new Enjine.DrawableManager;this.Camera=new Enjine.Camera;this.Tick=0;this.ShellsToCheck=[];this.FireballsToCheck=[];this.SpritesToAdd=[];this.SpritesToRemove=[];this.FontShadow=Mario.SpriteCuts.CreateBlackFont();this.Font=Mario.SpriteCuts.CreateWhiteFont();
|
||||
for(a=0;a<2;a++)b=4>>a,c=((this.Level.Width*16-320)/b|0)+320,e=((this.Level.Height*16-240)/b|0)+240,c=new Mario.BackgroundGenerator(c/32+1,e/32+1,a===0,this.LevelType),this.BgLayer[a]=new Mario.BackgroundRenderer(c.CreateLevel(),320,240,b);Mario.MarioCharacter.Initialize(this);this.Sprites.Add(Mario.MarioCharacter);this.StartTime=1;this.TimeLeft=200;this.GotoLoseState=this.GotoMapState=!1};
|
||||
Mario.LevelState.prototype.Exit=function(){delete this.Level;delete this.Layer;delete this.BgLayer;delete this.Sprites;delete this.Camera;delete this.ShellsToCheck;delete this.FireballsToCheck;delete this.FontShadow;delete this.Font};Mario.LevelState.prototype.CheckShellCollide=function(a){this.ShellsToCheck.push(a)};Mario.LevelState.prototype.CheckFireballCollide=function(a){this.FireballsToCheck.push(a)};
|
||||
Mario.LevelState.prototype.Update=function(a){var b=0,c=0,e=c=0,d=null,b=!1,d=e=c=0,f=null,f=0;this.Delta=a;this.TimeLeft-=a;(this.TimeLeft|0)===0&&Mario.MarioCharacter.Die();this.StartTime>0&&this.StartTime++;this.Camera.X=Mario.MarioCharacter.X-160;if(this.Camera.X<0)this.Camera.X=0;if(this.Camera.X>this.Level.Width*16-320)this.Camera.X=this.Level.Width*16-320;for(b=this.FireballsOnScreen=0;b<this.Sprites.Objects.length;b++)d=this.Sprites.Objects[b],d!==Mario.MarioCharacter&&(c=d.X-this.Camera.X,
|
||||
e=d.Y-this.Camera.Y,c<-64||c>384||e<-64||e>304?this.Sprites.RemoveAt(b):d instanceof Mario.Fireball&&this.FireballsOnScreen++);if(this.Paused)for(b=0;b<this.Sprites.Objects.length;b++)this.Sprites.Objects[b]===Mario.MarioCharacter?this.Sprites.Objects[b].Update(a):this.Sprites.Objects[b].UpdateNoMove(a);else{this.Layer.Update(a);this.Level.Update();b=!1;this.Tick++;for(c=(this.Camera.X/16|0)-1;c<=((this.Camera.X+this.Layer.Width)/16|0)+1;c++)for(e=(this.Camera.Y/16|0)-1;e<=((this.Camera.Y+this.Layer.Height)/
|
||||
16|0)+1;e++){d=0;c*16+8>Mario.MarioCharacter.X+16&&(d=-1);c*16+8<Mario.MarioCharacter.X-16&&(d=1);f=this.Level.GetSpriteTemplate(c,e);if(f!==null)f.LastVisibleTick!==this.Tick-1&&(f.Sprite===null||!this.Sprites.Contains(f.Sprite))&&f.Spawn(this,c,e,d),f.LastVisibleTick=this.Tick;if(d!==0&&(f=this.Level.GetBlock(c,e),(Mario.Tile.Behaviors[f&255]&Mario.Tile.Animated)>0&&(f%16/4|0)===3&&(f/16|0)===0&&(this.Tick-c*2)%100===0)){for(b=0;b<8;b++)this.AddSprite(new Mario.Sparkle(this,c*16+8,e*16+(Math.random()*
|
||||
16|0),Math.random()*d,0,0,1,5));this.AddSprite(new Mario.BulletBill(this,c*16+8+d*8,e*16+15,d));b=!0}}b&&Enjine.Resources.PlaySound("cannon");for(b=0;b<this.Sprites.Objects.length;b++)this.Sprites.Objects[b].Update(a);for(b=0;b<this.Sprites.Objects.length;b++)this.Sprites.Objects[b].CollideCheck();for(b=0;b<this.ShellsToCheck.length;b++)for(c=0;c<this.Sprites.Objects.length;c++)if(this.Sprites.Objects[c]!==this.ShellsToCheck[b]&&!this.ShellsToCheck[b].Dead&&this.Sprites.Objects[c].ShellCollideCheck(this.ShellsToCheck[b])&&
|
||||
Mario.MarioCharacter.Carried===this.ShellsToCheck[b]&&!this.ShellsToCheck[b].Dead)Mario.MarioCharacter.Carried=null,this.ShellsToCheck[b].Die();for(b=this.ShellsToCheck.length=0;b<this.FireballsToCheck.length;b++)for(c=0;c<this.Sprites.Objects.length;c++)this.Sprites.Objects[c]!==this.FireballsToCheck[b]&&!this.FireballsToCheck[b].Dead&&this.Sprites.Objects[c].FireballCollideCheck(this.FireballsToCheck[b])&&this.FireballsToCheck[b].Die();this.FireballsToCheck.length=0}this.Sprites.AddRange(this.SpritesToAdd);
|
||||
this.Sprites.RemoveList(this.SpritesToRemove);this.SpritesToAdd.length=0;this.SpritesToRemove.length=0;this.Camera.X=Mario.MarioCharacter.XOld+(Mario.MarioCharacter.X-Mario.MarioCharacter.XOld)*a-160;this.Camera.Y=Mario.MarioCharacter.YOld+(Mario.MarioCharacter.Y-Mario.MarioCharacter.YOld)*a-120};
|
||||
Mario.LevelState.prototype.Draw=function(a){var b=0,b=b=0;if(this.Camera.X<0)this.Camera.X=0;if(this.Camera.Y<0)this.Camera.Y=0;if(this.Camera.X>this.Level.Width*16-320)this.Camera.X=this.Level.Width*16-320;if(this.Camera.Y>this.Level.Height*16-240)this.Camera.Y=this.Level.Height*16-240;for(b=0;b<2;b++)this.BgLayer[b].Draw(a,this.Camera);a.save();a.translate(-this.Camera.X,-this.Camera.Y);for(b=0;b<this.Sprites.Objects.length;b++)this.Sprites.Objects[b].Layer===0&&this.Sprites.Objects[b].Draw(a,this.Camera);
|
||||
a.restore();this.Layer.Draw(a,this.Camera);this.Layer.DrawExit0(a,this.Camera,Mario.MarioCharacter.WinTime===0);a.save();a.translate(-this.Camera.X,-this.Camera.Y);for(b=0;b<this.Sprites.Objects.length;b++)this.Sprites.Objects[b].Layer===1&&this.Sprites.Objects[b].Draw(a,this.Camera);a.restore();this.Layer.DrawExit1(a,this.Camera);this.DrawStringShadow(a,"MARIO "+Mario.MarioCharacter.Lives,0,0);this.DrawStringShadow(a,"00000000",0,1);this.DrawStringShadow(a,"COIN",14,0);this.DrawStringShadow(a," "+
|
||||
Mario.MarioCharacter.Coins,14,1);this.DrawStringShadow(a,"WORLD",24,0);this.DrawStringShadow(a," "+Mario.MarioCharacter.LevelString,24,1);this.DrawStringShadow(a,"TIME",34,0);b=this.TimeLeft|0;b<0&&(b=0);this.DrawStringShadow(a," "+b,34,1);this.StartTime>0&&(b=this.StartTime+this.Delta-2,this.RenderBlackout(a,160,120,b*b*0.6|0));if(Mario.MarioCharacter.WinTime>0){b=Mario.MarioCharacter.WinTime+this.Delta;b=b*b*0.2;if(b>900)Mario.GlobalMapState.LevelWon(),this.GotoMapState=!0;this.RenderBlackout(a,
|
||||
Mario.MarioCharacter.XDeathPos-this.Camera.X|0,Mario.MarioCharacter.YDeathPos-this.Camera.Y|0,320-b|0)}if(Mario.MarioCharacter.DeathTime>0){b=Mario.MarioCharacter.DeathTime+this.Delta;b=b*b*0.1;if(b>900&&(Mario.MarioCharacter.Lives--,this.GotoMapState=!0,Mario.MarioCharacter.Lives<=0))this.GotoLoseState=!0;this.RenderBlackout(a,Mario.MarioCharacter.XDeathPos-this.Camera.X|0,Mario.MarioCharacter.YDeathPos-this.Camera.Y|0,320-b|0)}};
|
||||
Mario.LevelState.prototype.DrawStringShadow=function(a,b,c,e){this.Font.Strings[0]={String:b,X:c*8+4,Y:e*8+4};this.FontShadow.Strings[0]={String:b,X:c*8+5,Y:e*8+5};this.FontShadow.Draw(a,this.Camera);this.Font.Draw(a,this.Camera)};
|
||||
Mario.LevelState.prototype.RenderBlackout=function(a,b,c,e){if(!(e>320)){for(var d=[],f=[],g=0,g=0;g<16;g++)d[g]=b+Math.cos(g*Math.PI/15)*e|0,f[g]=c+Math.sin(g*Math.PI/15)*e|0;d[16]=0;f[16]=c;d[17]=0;f[17]=240;d[18]=320;f[18]=240;d[19]=320;f[19]=c;a.fillStyle="#000";a.beginPath();a.moveTo(d[19],f[19]);for(g=18;g>=0;g--)a.lineTo(d[g],f[g]);a.closePath();a.fill();for(g=0;g<16;g++)d[g]=b-Math.cos(g*Math.PI/15)*e|0,f[g]=c-Math.sin(g*Math.PI/15)*e|0;f[15]+=5;d[16]=320;f[16]=c;d[17]=320;f[17]=0;d[18]=0;
|
||||
f[18]=0;d[19]=0;f[19]=c;a.fillStyle="#000";a.beginPath();a.moveTo(d[0],f[0]);for(g=0;g<=d.length-1;g++)a.lineTo(d[g],f[g]);a.closePath();a.fill()}};Mario.LevelState.prototype.AddSprite=function(a){this.Sprites.Add(a)};Mario.LevelState.prototype.RemoveSprite=function(a){this.Sprites.Remove(a)};
|
||||
Mario.LevelState.prototype.Bump=function(a,b,c){var e=this.Level.GetBlock(a,b),d=0,f=0;(Mario.Tile.Behaviors[e&255]&Mario.Tile.Bumpable)>0&&(this.BumpInto(a,b-1),this.Level.SetBlock(a,b,4),this.Level.SetBlockData(a,b,4),(Mario.Tile.Behaviors[e&255]&Mario.Tile.Special)>0?(Enjine.Resources.PlaySound("sprout"),Mario.MarioCharacter.Large?this.AddSprite(new Mario.FireFlower(this,a*16+8,b*16+8)):this.AddSprite(new Mario.Mushroom(this,a*16+8,b*16+8))):(Mario.MarioCharacter.GetCoin(),Enjine.Resources.PlaySound("coin"),
|
||||
this.AddSprite(new Mario.CoinAnim(this,a,b))));if((Mario.Tile.Behaviors[e&255]&Mario.Tile.Breakable)>0&&(this.BumpInto(a,b-1),c)){Enjine.Resources.PlaySound("breakblock");this.Level.SetBlock(a,b,0);for(d=0;d<2;d++)for(f=0;f<2;f++)this.AddSprite(new Mario.Particle(this,a*16+d*8+4,b*16+f*8+4,(d*2-1)*4,(f*2-1)*4-8))}};
|
||||
Mario.LevelState.prototype.BumpInto=function(a,b){var c=this.Level.GetBlock(a,b),e=0;(Mario.Tile.Behaviors[c&255]&Mario.Tile.PickUpable)>0&&(Mario.MarioCharacter.GetCoin(),Enjine.Resources.PlaySound("coin"),this.Level.SetBlock(a,b,0),this.AddSprite(new Mario.CoinAnim(a,b+1)));for(e=0;e<this.Sprites.Objects.length;e++)this.Sprites.Objects[e].BumpCheck(a,b)};Mario.LevelState.prototype.CheckForChange=function(a){this.GotoLoseState?a.ChangeState(new Mario.LoseState):this.GotoMapState&&a.ChangeState(Mario.GlobalMapState)};
|
||||
@@ -0,0 +1,206 @@
|
||||
/* Generated by Font Squirrel (http://www.fontsquirrel.com) on May 12, 2011 05:26:41 PM America/New_York */
|
||||
|
||||
|
||||
|
||||
@font-face {
|
||||
font-family: 'SilkscreenNormal';
|
||||
src: url('http://arcade.rawrbitrary.com/mario/silkscreen/slkscr-webfont.eot');
|
||||
src: url('http://arcade.rawrbitrary.com/mario/silkscreen/slkscr-webfont.eot?#iefix') format('embedded-opentype'),
|
||||
url('http://arcade.rawrbitrary.com/mario/silkscreen/slkscr-webfont.woff') format('woff'),
|
||||
url('http://arcade.rawrbitrary.com/mario/silkscreen/slkscr-webfont.ttf') format('truetype'),
|
||||
url('http://arcade.rawrbitrary.com/mario/silkscreen/slkscr-webfont.svg#SilkscreenNormal') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'SilkscreenBold';
|
||||
src: url('http://arcade.rawrbitrary.com/mario/silkscreen/slkscrb-webfont.eot');
|
||||
src: url('http://arcade.rawrbitrary.com/mario/silkscreen/slkscrb-webfont.eot?#iefix') format('embedded-opentype'),
|
||||
url('http://arcade.rawrbitrary.com/mario/silkscreen/slkscrb-webfont.woff') format('woff'),
|
||||
url('http://arcade.rawrbitrary.com/mario/silkscreen/slkscrb-webfont.ttf') format('truetype'),
|
||||
url('http://arcade.rawrbitrary.com/mario/silkscreen/slkscrb-webfont.svg#SilkscreenBold') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'SilkscreenExpandedNormal';
|
||||
src: url('http://arcade.rawrbitrary.com/mario/silkscreen/slkscre-webfont.eot');
|
||||
src: url('http://arcade.rawrbitrary.com/mario/silkscreen/slkscre-webfont.eot?#iefix') format('embedded-opentype'),
|
||||
url('http://arcade.rawrbitrary.com/mario/silkscreen/slkscre-webfont.woff') format('woff'),
|
||||
url('http://arcade.rawrbitrary.com/mario/silkscreen/slkscre-webfont.ttf') format('truetype'),
|
||||
url('http://arcade.rawrbitrary.com/mario/silkscreen/slkscre-webfont.svg#SilkscreenExpandedNormal') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'SilkscreenExpandedBold';
|
||||
src: url('http://arcade.rawrbitrary.com/mario/silkscreen/slkscreb-webfont.eot');
|
||||
src: url('http://arcade.rawrbitrary.com/mario/silkscreen/slkscreb-webfont.eot?#iefix') format('embedded-opentype'),
|
||||
url('http://arcade.rawrbitrary.com/mario/silkscreen/slkscreb-webfont.woff') format('woff'),
|
||||
url('http://arcade.rawrbitrary.com/mario/silkscreen/slkscreb-webfont.ttf') format('truetype'),
|
||||
url('http://arcade.rawrbitrary.com/mario/silkscreen/slkscreb-webfont.svg#SilkscreenExpandedBold') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* - Crafted by Rob Kleffner -
|
||||
*/
|
||||
|
||||
*
|
||||
{
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td
|
||||
{
|
||||
border: 0 none;
|
||||
font-family: inherit;
|
||||
font-size: 100%;
|
||||
font-style: inherit;
|
||||
font-weight: inherit;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
input
|
||||
{
|
||||
outline: none;
|
||||
}
|
||||
|
||||
body
|
||||
{
|
||||
background: #fff;
|
||||
line-height: 14px;
|
||||
font-size: 12px;
|
||||
font-family: Arial, Verdana, Helvetica, sans-serif;
|
||||
margin: 0px;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
html, body
|
||||
{
|
||||
height: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
a
|
||||
{
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.left
|
||||
{
|
||||
float: left;
|
||||
}
|
||||
|
||||
.right
|
||||
{
|
||||
float: right;
|
||||
}
|
||||
|
||||
.clear
|
||||
{
|
||||
clear: both;
|
||||
height: 0;
|
||||
visibility: hidden;
|
||||
display: block;
|
||||
}body
|
||||
{
|
||||
font-family: 'SilkscreenNormal', Arial, sans-serif;
|
||||
padding-top: 10px;
|
||||
background-color: #fafafa;
|
||||
}
|
||||
|
||||
h1, h2
|
||||
{
|
||||
color: #B2DFDA;
|
||||
letter-spacing: 0;
|
||||
}
|
||||
|
||||
h1
|
||||
{
|
||||
font: 60px 'SilkscreenNormal', Arial, sans-serif;
|
||||
}
|
||||
|
||||
h2
|
||||
{
|
||||
font: 30px 'SilkscreenNormal', Arial, sans-serif;
|
||||
}
|
||||
|
||||
h4
|
||||
{
|
||||
font: 20px 'SilkscreenNormal', Arial, sans-serif;
|
||||
color: #F44;
|
||||
}
|
||||
|
||||
p
|
||||
{
|
||||
color: #F44;
|
||||
font-size: 16px;
|
||||
font-family: 'SilkscreenExpandedNormal', Arial, sans-serif;
|
||||
line-height: 22px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
a
|
||||
{
|
||||
|
||||
font-family: 'SilkscreenExpandedBold', Arial, sans-serif;
|
||||
}
|
||||
|
||||
a:hover
|
||||
{
|
||||
color: #F44;
|
||||
}
|
||||
|
||||
canvas
|
||||
{
|
||||
background-color: #fff;
|
||||
border: 1px solid #aaa;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.spacing
|
||||
{
|
||||
width: 100%;
|
||||
height: 5px;
|
||||
}
|
||||
|
||||
.main
|
||||
{
|
||||
width: 640px;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
.lbUser
|
||||
{
|
||||
background-color: #eee;
|
||||
border: 1px solid #666;
|
||||
margin-bottom: 5px;
|
||||
padding: 10px;
|
||||
height: 50px;
|
||||
}
|
||||
|
||||
.lbUser img
|
||||
{
|
||||
padding-right: 20px;
|
||||
}
|
||||
|
||||
.lbUser p
|
||||
{
|
||||
line-height: 50px;
|
||||
}
|
||||
|
||||
.activeUser
|
||||
{
|
||||
background-color: #ccc;
|
||||
border: 1px solid #666;
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
22 serialization::archive 19 0 0 0 0 2 1 2
|
||||
0 0 2 0 126 /volume1/资料/A--开发--A/JAVA 开发/JAVA项目/MyCrm项目开发/20250115/mycrm/WebContent/static/cjml/images/bgsheet.png 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 19 1970-01-01 00:00:00 19 2025-01-15 01:28:15 19 2021-04-08 04:13:40 0.000000000e+00 0 0 0 0 0 0 0 256 320 15103 0 0 0 0 0 0 0 0 0 0 0 3 png 1 0 0 0 0 6 1 1
|
||||
1 0 0 -99 0 0 0 0 0 10 1 1
|
||||
2 0 0 0 0 0 0 0.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00
|
||||
@@ -0,0 +1,4 @@
|
||||
22 serialization::archive 19 0 0 0 0 2 1 2
|
||||
0 0 2 0 127 /volume1/资料/A--开发--A/JAVA 开发/JAVA项目/MyCrm项目开发/20250115/mycrm/WebContent/static/cjml/images/endscene.gif 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 19 1970-01-01 00:00:00 19 2025-01-15 01:28:15 19 2021-04-08 04:13:40 0.000000000e+00 0 0 0 0 0 0 0 192 96 2989 0 0 0 0 0 0 0 0 0 0 0 3 gif 1 0 0 0 0 6 1 1
|
||||
1 0 0 -99 0 0 0 0 0 10 1 1
|
||||
2 0 0 0 0 0 0 0.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00
|
||||
@@ -0,0 +1,4 @@
|
||||
22 serialization::archive 19 0 0 0 0 2 1 2
|
||||
0 0 2 0 129 /volume1/资料/A--开发--A/JAVA 开发/JAVA项目/MyCrm项目开发/20250115/mycrm/WebContent/static/cjml/images/enemysheet.png 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 19 1970-01-01 00:00:00 19 2025-01-15 01:28:15 19 2021-04-08 04:13:40 0.000000000e+00 0 0 0 0 0 0 0 256 256 8072 0 0 0 0 0 0 0 0 0 0 0 3 png 1 0 0 0 0 6 1 1
|
||||
1 0 0 -99 0 0 0 0 0 10 1 1
|
||||
2 0 0 0 0 0 0 0.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00
|
||||
@@ -0,0 +1,4 @@
|
||||
22 serialization::archive 19 0 0 0 0 2 1 2
|
||||
0 0 2 0 133 /volume1/资料/A--开发--A/JAVA 开发/JAVA项目/MyCrm项目开发/20250115/mycrm/WebContent/static/cjml/images/firemariosheet.png 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 19 1970-01-01 00:00:00 19 2025-01-15 01:28:15 19 2021-04-08 04:13:40 0.000000000e+00 0 0 0 0 0 0 0 480 32 6048 0 0 0 0 0 0 0 0 0 0 0 3 png 1 0 0 0 0 6 1 1
|
||||
1 0 0 -99 0 0 0 0 0 10 1 1
|
||||
2 0 0 0 0 0 0 0.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00
|
||||
@@ -0,0 +1,4 @@
|
||||
22 serialization::archive 19 0 0 0 0 2 1 2
|
||||
0 0 2 0 123 /volume1/资料/A--开发--A/JAVA 开发/JAVA项目/MyCrm项目开发/20250115/mycrm/WebContent/static/cjml/images/font.gif 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 19 1970-01-01 00:00:00 19 2025-01-15 01:28:15 19 2021-04-08 04:13:40 0.000000000e+00 0 0 0 0 0 0 0 768 64 6857 0 0 0 0 0 0 0 0 0 0 0 3 gif 1 0 0 0 0 6 1 1
|
||||
1 0 0 -99 0 0 0 0 0 10 1 1
|
||||
2 0 0 0 0 0 0 0.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00
|
||||
@@ -0,0 +1,4 @@
|
||||
22 serialization::archive 19 0 0 0 0 2 1 2
|
||||
0 0 2 0 131 /volume1/资料/A--开发--A/JAVA 开发/JAVA项目/MyCrm项目开发/20250115/mycrm/WebContent/static/cjml/images/gameovergost.gif 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 19 1970-01-01 00:00:00 19 2025-01-15 01:28:15 19 2021-04-08 04:13:40 0.000000000e+00 0 0 0 0 0 0 0 864 64 5306 0 0 0 0 0 0 0 0 0 0 0 3 gif 1 0 0 0 0 6 1 1
|
||||
1 0 0 -99 0 0 0 0 0 10 1 1
|
||||
2 0 0 0 0 0 0 0.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00
|
||||
@@ -0,0 +1,4 @@
|
||||
22 serialization::archive 19 0 0 0 0 2 1 2
|
||||
0 0 2 0 128 /volume1/资料/A--开发--A/JAVA 开发/JAVA项目/MyCrm项目开发/20250115/mycrm/WebContent/static/cjml/images/itemsheet.png 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 19 1970-01-01 00:00:00 19 2025-01-15 01:28:15 19 2021-04-08 04:13:40 0.000000000e+00 0 0 0 0 0 0 0 256 256 4043 0 0 0 0 0 0 0 0 0 0 0 3 png 1 0 0 0 0 6 1 1
|
||||
1 0 0 -99 0 0 0 0 0 10 1 1
|
||||
2 0 0 0 0 0 0 0.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00
|
||||
@@ -0,0 +1,4 @@
|
||||
22 serialization::archive 19 0 0 0 0 2 1 2
|
||||
0 0 2 0 123 /volume1/资料/A--开发--A/JAVA 开发/JAVA项目/MyCrm项目开发/20250115/mycrm/WebContent/static/cjml/images/logo.gif 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 19 1970-01-01 00:00:00 19 2025-01-15 01:28:15 19 2021-04-08 04:13:40 0.000000000e+00 0 0 0 0 0 0 0 320 80 2740 0 0 0 0 0 0 0 0 0 0 0 3 gif 1 0 0 0 0 6 1 1
|
||||
1 0 0 -99 0 0 0 0 0 10 1 1
|
||||
2 0 0 0 0 0 0 0.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00
|
||||
@@ -0,0 +1,4 @@
|
||||
22 serialization::archive 19 0 0 0 0 2 1 2
|
||||
0 0 2 0 127 /volume1/资料/A--开发--A/JAVA 开发/JAVA项目/MyCrm项目开发/20250115/mycrm/WebContent/static/cjml/images/mapsheet.png 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 19 1970-01-01 00:00:00 19 2025-01-15 01:28:15 19 2021-04-08 04:13:40 0.000000000e+00 0 0 0 0 0 0 0 256 256 13436 0 0 0 0 0 0 0 0 0 0 0 3 png 1 0 0 0 0 6 1 1
|
||||
1 0 0 -99 0 0 0 0 0 10 1 1
|
||||
2 0 0 0 0 0 0 0.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00
|
||||
@@ -0,0 +1,4 @@
|
||||
22 serialization::archive 19 0 0 0 0 2 1 2
|
||||
0 0 2 0 129 /volume1/资料/A--开发--A/JAVA 开发/JAVA项目/MyCrm项目开发/20250115/mycrm/WebContent/static/cjml/images/mariosheet.png 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 19 1970-01-01 00:00:00 19 2025-01-15 01:28:15 19 2021-04-08 04:13:40 0.000000000e+00 0 0 0 0 0 0 0 480 32 5746 0 0 0 0 0 0 0 0 0 0 0 3 png 1 0 0 0 0 6 1 1
|
||||
1 0 0 -99 0 0 0 0 0 10 1 1
|
||||
2 0 0 0 0 0 0 0.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00
|
||||
@@ -0,0 +1,4 @@
|
||||
22 serialization::archive 19 0 0 0 0 2 1 2
|
||||
0 0 2 0 132 /volume1/资料/A--开发--A/JAVA 开发/JAVA项目/MyCrm项目开发/20250115/mycrm/WebContent/static/cjml/images/particlesheet.png 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 19 1970-01-01 00:00:00 19 2025-01-15 01:28:15 19 2021-04-08 04:13:40 0.000000000e+00 0 0 0 0 0 0 0 64 64 3318 0 0 0 0 0 0 0 0 0 0 0 3 png 1 0 0 0 0 6 1 1
|
||||
1 0 0 -99 0 0 0 0 0 10 1 1
|
||||
2 0 0 0 0 0 0 0.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00
|
||||
@@ -0,0 +1,4 @@
|
||||
22 serialization::archive 19 0 0 0 0 2 1 2
|
||||
0 0 2 0 135 /volume1/资料/A--开发--A/JAVA 开发/JAVA项目/MyCrm项目开发/20250115/mycrm/WebContent/static/cjml/images/racoonmariosheet.png 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 19 1970-01-01 00:00:00 19 2025-01-15 01:28:15 19 2021-04-08 04:13:40 0.000000000e+00 0 0 0 0 0 0 0 512 32 6608 0 0 0 0 0 0 0 0 0 0 0 3 png 1 0 0 0 0 6 1 1
|
||||
1 0 0 -99 0 0 0 0 0 10 1 1
|
||||
2 0 0 0 0 0 0 0.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00
|
||||