瀏覽代碼

后台功能重写。

xian 5 年之前
父節點
當前提交
5b648a9815
共有 23 個文件被更改,包括 16142 次插入0 次删除
  1. 492 0
      watero-wechat-web/src/main/webapp/common/lib/bootstrap/appmsg.css
  2. 198 0
      watero-wechat-web/src/main/webapp/common/lib/bootstrap/appmsg.js
  3. 808 0
      watero-wechat-web/src/main/webapp/common/lib/bootstrap/bootstrap-responsive.css
  4. 9 0
      watero-wechat-web/src/main/webapp/common/lib/bootstrap/bootstrap-responsive.min.css
  5. 4959 0
      watero-wechat-web/src/main/webapp/common/lib/bootstrap/bootstrap.css
  6. 2038 0
      watero-wechat-web/src/main/webapp/common/lib/bootstrap/bootstrap.js
  7. 7 0
      watero-wechat-web/src/main/webapp/common/lib/bootstrap/bootstrap.min-3.3.css
  8. 9 0
      watero-wechat-web/src/main/webapp/common/lib/bootstrap/bootstrap.min.css
  9. 303 0
      watero-wechat-web/src/main/webapp/common/lib/bootstrap/font-awesome.css
  10. 767 0
      watero-wechat-web/src/main/webapp/common/lib/bootstrap/theme.css
  11. 218 0
      watero-wechat-web/src/main/webapp/common/lib/bootstrap/wxmenu.css
  12. 1 0
      watero-wechat-web/src/main/webapp/common/lib/calendar/calendar-pro.css
  13. 178 0
      watero-wechat-web/src/main/webapp/common/lib/calendar/calendar-pro.js
  14. 二進制
      watero-wechat-web/src/main/webapp/common/lib/calendar/img/left-arr.png
  15. 二進制
      watero-wechat-web/src/main/webapp/common/lib/calendar/img/right-arr.png
  16. 423 0
      watero-wechat-web/src/main/webapp/common/lib/chosen/css/chosen.css
  17. 二進制
      watero-wechat-web/src/main/webapp/common/lib/chosen/css/css/chosen-sprite.png
  18. 二進制
      watero-wechat-web/src/main/webapp/common/lib/chosen/css/css/chosen-sprite@2x.png
  19. 1212 0
      watero-wechat-web/src/main/webapp/common/lib/chosen/js/chosen.jquery.js
  20. 91 0
      watero-wechat-web/src/main/webapp/common/lib/common/add_common.js
  21. 152 0
      watero-wechat-web/src/main/webapp/common/lib/datatables/1.10.0/jquery.dataTables.min.js
  22. 4029 0
      watero-wechat-web/src/main/webapp/common/lib/distpicker/js/distpicker.data.js
  23. 248 0
      watero-wechat-web/src/main/webapp/common/lib/distpicker/js/distpicker.js

+ 492 - 0
watero-wechat-web/src/main/webapp/common/lib/bootstrap/appmsg.css

@@ -0,0 +1,492 @@
+body {
+	word-wrap: break-word;
+	word-break: break-word;
+}
+
+.msg-item-wrapper {
+	position: relative;
+	margin-bottom: 26px;
+	border: 1px solid #b8b8b8;
+	background-color: #f4f4f4;
+	box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1);
+	-webkit-box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1);
+	-moz-box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1);
+	border-radius: 5px;
+	-webkit-border-radius: 5px;
+	-moz-border-radius: 5px;
+}
+
+.msg-item {
+	padding: 2px 0;
+	background-color: #fff;
+	border-bottom: 1px solid #ccc;
+	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
+	-webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
+	-moz-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
+	border-radius: 5px 5px 0 0;
+	-webkit-border-radius: 5px 5px 0 0;
+	-moz-border-radius: 5px 5px 0 0;
+}
+
+.msg-preview .msg-item {
+	border-radius: 5px;
+	box-shadow: none;
+	moz-border-radius: 5px;
+	moz-box-shadow: none;
+	webkit-border-radius: 5px;
+	webkit-box-shadow: none;
+}
+
+.msg-t {
+	margin: 6px 0 0;
+	padding-left: 14px;
+	line-height: 28px;
+	max-height: 56px;
+	overflow: hidden;
+	font-size: 16px;
+	font-weight: 400;
+	letter-spacing: 1px;
+	font-weight: bold;
+}
+
+.msg-meta {
+	margin: 0 14px 6px;
+	font-size: 13px;
+}
+
+.cover {
+	margin: 0 14px 12px;
+	position: relative;
+	font-size: 0;
+	height: 160px;
+	overflow: hidden;
+}
+
+.default-tip {
+	display: block;
+	text-align: center;
+	background-color: #ececec;
+	text-shadow: 0 1px 0 #fff;
+	-webkit-text-shadow: 0 1px 0 #fff;
+	-moz-text-shadow: 0 1px 0 #fff;
+}
+
+.cover .default-tip {
+	font-size: 22px;
+	color: #aaa;
+	line-height: 160px;
+}
+
+.cover img {
+	width: 100%;
+}
+
+.msg-text {
+	margin: 0 14px;
+	font-size: 14px;
+	line-height: 1.6;
+	padding-bottom: 8px;
+	text-align: left;
+}
+
+.msg-preview .msg-opr {
+	display: none;
+}
+
+.msg-preview .msg-opr {
+	display: none;
+}
+
+.msg-opr-list {
+	padding: 0px 0;
+	letter-spacing: -5px;
+	border-radius: 0 0 5px 5px;
+	-webkit-border-radius: 0 0 5px 5px;
+	-moz-border-radius: 0 0 5px 5px;
+}
+
+.opr-item {
+	width: 50%;
+	font-size: 14px;
+	letter-spacing: normal;
+}
+
+.edit-btn {
+	border-right: 1px solid #a3a3a3;
+}
+
+.opr-btn {
+	padding: 2px 0;
+}
+
+.opr-btn:hover .edit-icon {
+	background-position: -28px -139px;
+}
+
+.opr-btn:hover .del-icon {
+	background-position: -28px -195px;
+}
+
+.block {
+	display: block;
+}
+
+.b-dib {
+	display: inline-block;
+	zoom: 1;
+	*display: inline;
+}
+
+.opr-icon {
+	width: 18px;
+	height: 18px;
+	background: transparent url('/image/admin/body/icon18.png') no-repeat;
+	display: block;
+	cursor: pointer;
+}
+
+.edit-icon {
+	background-position: 0 -139px;
+}
+
+.del-icon {
+	background-position: 0 -195px;
+}
+
+.tc {
+	text-align: center;
+}
+
+.th {
+	line-height: 150px;
+	overflow: hidden;
+}
+
+.vm {
+	vertical-align: middle;
+}
+
+.msg-hover-mask {
+	display: none;
+	position: absolute;
+	top: 0;
+	width: 100%;
+	height: 100%;
+	background: rgba(0, 0, 0, 0.6) !important;
+	filter: progid:dximagetransform.microsoft.gradient(GradientType=0,
+		startColorstr='#60000000', endColorstr='#60000000' );
+}
+
+.msg-mask {
+	display: none;
+	position: absolute;
+	top: 0;
+	width: 100%;
+	height: 100%;
+	background: rgba(0, 0, 0, 0.6) !important;
+	filter: progid:dximagetransform.microsoft.gradient(GradientType=0,
+		startColorstr='#60000000', endColorstr='#60000000' );
+}
+
+.msg-selected-tip {
+	width: 100%;
+	height: 100%;
+	position: absolute;
+	background: transparent url('../images/wx/selected-icon.png') no-repeat
+		50% 50%;
+}
+
+.dib {
+	display: inline-block;
+}
+
+.msg-editer-wrapper {
+	position: relative;
+}
+
+.msg-editer {
+	background-color: #f8f8f8;
+	border: 1px solid #b8b8b8;
+	border-radius: 5px;
+	box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1);
+	moz-border-radius: 5px;
+	moz-box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1);
+	padding: 14px 0 20px 20px;
+	webkit-border-radius: 5px;
+	webkit-box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1);
+}
+
+.msg-arrow {
+	border-style: dashed solid dashed dashed;
+	font-size: 0;
+	height: 0;
+	width: 0;
+}
+
+.a-out {
+	border-color: transparent #b8b8b8 transparent transparent;
+	border-width: 12px 14px 12px 0;
+	left: -13px;
+	top: 43px;
+}
+
+.a-in {
+	border-color: transparent #f8f8f8 transparent transparent;
+	border-width: 11px 13px 11px 0;
+	left: -12px;
+	top: 44px;
+}
+
+.abs {
+	position: absolute;
+}
+
+.rel {
+	position: relative;
+}
+
+.msg-input,.cover-area,.msg-txta {
+	background-color: #fff;
+	border: 1px solid #d3d3d3;
+	color: #666;
+	max-width: 524px;
+	padding: 2px 8px;
+	width: 524px;
+	-webkit-border-radius: 4px;
+	-moz-border-radius: 4px;
+	border-radius: 4px;
+}
+
+.cover-area {
+	max-width: 540px;
+	padding: 0;
+	width: 540px;
+	position: relative;
+}
+
+.cover-hd {
+	padding: 2px 8px 3px;
+	position: relative;
+}
+
+.upload-tip {
+	color: #666;
+	font-size: 12px;
+	line-height: 28px;
+	text-align: right;
+	position: absolute;
+	top: 3px;
+	right: 8px;
+}
+
+.cover-bd {
+	border-top: 1px solid #ccc;
+	font-size: 0;
+	overflow: hidden;
+	padding: 8px;
+}
+
+.cover-bd img {
+	width: 100px;
+}
+
+.cover-del {
+	font-size: 14px;
+	margin-left: 5px;
+}
+
+.url-link {
+	margin-bottom: 6px;
+}
+
+.container {
+	margin: 0 auto;
+	width: 760px;
+}
+
+.containerBox {
+	margin-top: 20px;
+	box-shadow: 0 3px 3px #DDD;
+	-moz-box-shadow: 0 3px 3px #ddd;
+	-webkit-box-shadow: 0 3px 3px #DDD;
+	border-radius: 3px;
+	-moz-border-radius: 3px;
+	-webkit-border-radius: 3px;
+	background-color: white;
+	border: 1px solid lightGrey;
+}
+
+.containerBox .boxHeader {
+	height: 30px;
+	padding-left: 20px;
+	border-bottom: 1px solid lightGrey;
+	background-color: whiteSmoke;
+}
+
+.containerBox .boxHeader h4 {
+	margin-top: 0;
+	padding-top: 5px;
+}
+
+.containerBox .sideBar {
+	width: 180px;
+	float: left;
+	padding: 10px 0;
+}
+
+.containerBox .content {
+	width: 737px;
+	float: right;
+	margin-left: -2px;
+	border-left: 1px solid lightGrey;
+	padding-left: 20px;
+}
+
+.page-bd {
+	padding-top: 20px;
+}
+
+.menu {
+	display: block;
+	bottom: 0;
+	z-index: 7;
+	overflow: auto;
+}
+
+.clr {
+	clear: both;
+}
+
+.tj {
+	text-align: justify;
+}
+
+.vt {
+	vertical-align: top;
+}
+
+.msg-col {
+	width: 350px;
+	font-size: 14px;
+}
+
+.msg-hover .msg-hover-mask {
+	display: block;
+}
+
+.msg-hover-mask {
+	display: none;
+	position: absolute;
+	top: 0;
+	width: 100%;
+	height: 100%;
+	background: rgba(0, 0, 0, 0.6) !important;
+	filter: progid:dximagetransform.microsoft.gradient(GradientType=0,
+		startColorstr='#60000000', endColorstr='#60000000' );
+}
+
+.msg-selected .msg-mask {
+	display: block;
+}
+
+.msg-item-wrapper {
+	position: relative;
+	margin-bottom: 26px;
+	border: 1px solid #B8B8B8;
+	background-color: #F4F4F4;
+	box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1);
+	-webkit-box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1);
+	-moz-box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1);
+	border-radius: 5px;
+	-webkit-border-radius: 5px;
+	-moz-border-radius: 5px;
+}
+
+.add-access {
+	margin: 0 2px 26px;
+	line-height: 150px;
+	border: 3px dotted #B8B8B8;
+	border-radius: 5px;
+	-webkit-border-radius: 5px;
+	-moz-border-radius: 5px;
+	background-color: white;
+}
+
+.add-tip {
+	width: 42px;
+	height: 42px;
+	background: white url('/image/admin/body/add_imgandtext.png') no-repeat 50% 0;
+	cursor: pointer;
+}
+
+.page-sub-hd {
+	font-size: 16px;
+	font-weight: 700;
+	line-height: 34px;
+}
+
+.msg-opr-list {
+	margin-bottom: 0;
+}
+
+.group::after {
+	content: "\200B";
+	display: block;
+	height: 0;
+	clear: both;
+}
+
+.page-nav {
+	margin-top: -40px;
+	zoom: 1;
+}
+
+.sub-msg-item {
+	padding: 12px 14px;
+	overflow: hidden;
+	zoom: 1;
+	border-top: 1px solid #c6c6c6;
+}
+
+.thumb {
+	float: right;
+	font-size: 0;
+}
+
+.thumb .default-tip {
+	font-size: 16px;
+	color: #c0c0c0;
+	width: 70px;
+	line-height: 70px;
+	border: 1px solid #b2b8bd;
+}
+
+.thumb img {
+	width: 70px;
+	height: 70px;
+	border: 1px solid #b2b8bd;
+}
+
+.sub-msg-item .msg-t {
+	margin-left: 0;
+	margin-right: 85px;
+	margin-top: 0;
+	padding-left: 4px;
+	padding-top: 12px;
+	line-height: 24px;
+	max-height: 48px;
+	font-size: 14px;
+	overflow: hidden;
+}
+
+.add-btn {
+	height: 90px;
+	margin: 0 18px;
+	color: #b5b5b5;
+	background: transparent url('/image/admin/body/appmsg-icon.png') no-repeat
+		50% -242px;
+}
+
+.multi-access {
+	background-position: 50% -342px;
+}

+ 198 - 0
watero-wechat-web/src/main/webapp/common/lib/bootstrap/appmsg.js

@@ -0,0 +1,198 @@
+$( function() {
+	//文件上传
+	$("#file_upload").omFileUpload({
+		action :"image.upload",
+		fileExt :"*.jpg;*.png;*.gif;*.jpeg;*.bmp",
+		fileDesc :"Image Files",
+		fileDataName :"myFile",
+		sizeLimit :200 * 1024,
+		onError : function(ID, fileObj, errorObj, event) {
+			if (errorObj.type == "File Size") {
+				alert("上传图片的大小不能超过200KB");
+			}
+		},
+		autoUpload :true,
+		swf :window.allBasePath + "image/admin/swf/om-fileupload.swf",
+		method :"GET",
+		onComplete : function(ID, fileObj, response, data, event) {
+			var jsonData = eval("(" + response + ")");
+			if (jsonData.error == "filetype") {
+				alert("文件上传格式只能支持:" + jsonData.allowtype);
+				return false;
+			}
+			// alert(jsonData.fileUrl);
+			$(".cover .i-img").attr("src", window.allBasePath + jsonData.fileUrl).show();
+			$("#imgArea").show().find(" #img").attr("src", window.allBasePath + jsonData.fileUrl);
+			$("#coverurl").val(jsonData.fileName);
+			// alert(jsonData.fileName);
+			$(".default-tip").hide();
+		}
+	});
+	
+	$(".msg-editer #title").bind("keyup", function() {
+		$(".i-title").text($(this).val());
+	});
+
+	$(".msg-editer #summary").bind("keyup", function() {
+		$(".msg-text").html($.htmlEncode($(this).val()));
+	});
+
+	$("#desc-block-link").click( function() {
+		$("#desc-block").show();
+		$(this).hide();
+	});
+
+	$("#url-block-link").click( function() {
+		$("#url-block").show();
+		$(this).hide();
+	});
+
+	$("#chain-block-link").click( function() {
+		$("#chain-block").show();
+		$(this).hide();
+	});
+
+	$("#delImg").click( function() {
+		$(".default-tip").show();
+		$("#imgArea").hide();
+		$("#coverurl").val("");
+		$(".cover .i-img").hide();
+	});
+
+	$("#cancel-btn").click( function(event) {
+		event.stopPropagation();
+		location.href = "imagetextinfo_doList.action";
+		return;
+	});
+
+	var validator = $("#appmsg-form").validate({
+		rules : {
+			title : {
+				required :true,
+				maxlength :64
+			},
+			summary : {
+				maxlength :120
+			},
+			source_url : {
+				url :true
+			},
+			chain : {
+				url :true
+			}
+		},
+
+		messages : {
+			title : {
+				required :"请输入标题",
+				maxlength :"标题不能超过64个字"
+			},
+			summary : {
+				maxlength :"标题不能超过120个字"
+			},
+			source_url : {
+				url :"必须输入正确的url格式"
+			},
+			chain : {
+				url :"必须输入正确的url格式"
+			}
+		},
+
+		showErrors : function(errorMap, errorList) {
+			if (errorList && errorList.length > 0) {
+				$.each(errorList, function(index, obj) {
+					var item = $(obj.element);
+					item.closest(".control-group").addClass("error");
+					item.attr("title", obj.message);
+				});
+			} else {
+				var item = $(this.currentElements);
+				item.closest(".control-group").removeClass("error");
+				item.removeAttr("title");
+			}
+		},
+
+		submitHandler : function() {
+			if ($("#coverurl").val() == "") {
+				alert("必须上传一张图片");
+				return false;
+			}
+
+			var editorContent = msg_editor.getContent();
+			var chain = $("#chain").val();
+			var len = editorContent.length;
+			if (chain == "" && len == 0) {
+				alert("正文内容或者外链至少要填写一个。");
+				msg_editor.focus();
+				return false;
+			}
+
+			if (len > charLimit) {
+				alert("正文的内容不能超过" + charLimit + "个字");
+				msg_editor.focus();
+				return false;
+			}
+
+			var $form = $("#appmsg-form");
+			var $btn = $("#save-btn");
+
+			if ($btn.hasClass("disabled")) {
+				return;
+			}
+
+			var submitData = {
+				title :$("input[name='title']", $form).val(),
+				summary :$("textarea[name='summary']", $form).val(),
+				coverurl :$("input[name='coverurl']", $form).val(),
+				source_url :$("input[name='source_url']", $form).val(),
+				chain :$("#chain", $form).val(),
+				link :$("input[name='link']", $form).val(),
+				rid :$("input[name='rid']", $form).val(),
+				action :$("input[name='action']", $form).val(),
+				maincontent :editorContent
+			};
+
+			$btn.addClass("disabled");
+
+			$.post(window.allBasePath + "admin/material/addOrUpdate", submitData, function(data) {
+				$btn.removeClass("disabled");
+				if (data !=null && data == true) {
+					alert("保存成功");
+					location.href = window.allBasePath + "admin/material/list";
+				} else {
+					alert("保存失败");
+					/*if ("1" == data.errorCode) {
+						alert("图文条数已经达到上限!");
+					} else {
+						alert("保存失败");
+					}*/
+				}
+			}, "json");
+			return false;
+		}
+	});
+
+	window.msg_editor = new UE.ui.Editor({
+		initialFrameWidth :498
+	});
+	window.msg_editor.render("editor");
+
+	function computeChar() {
+		var len = msg_editor.getContent().length;
+		if (len > charLimit) {
+			$(".editor-bottom-bar").html(
+					"<span style='color:red;'>你输入的字符个数(" + len
+							+ ")已经超出最大允许值!</span>");
+		} else {
+			$(".editor-bottom-bar").html(
+					"当前已输入<span class='char_count'>" + len
+							+ "</span>个字符, 您还可以输入<span class='char_remain'>"
+							+ (charLimit - len) + "</span>个字符。");
+		}
+	}
+
+	window.msg_editor.addListener("keyup", function(type, evt) {
+		computeChar();
+	});
+
+});

+ 808 - 0
watero-wechat-web/src/main/webapp/common/lib/bootstrap/bootstrap-responsive.css

@@ -0,0 +1,808 @@
+/*!
+ * Bootstrap Responsive v2.0.3
+ *
+ * Copyright 2012 Twitter, Inc
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Designed and built with all the love in the world @twitter by @mdo and @fat.
+ */
+
+.clearfix {
+  *zoom: 1;
+}
+
+.clearfix:before,
+.clearfix:after {
+  display: table;
+  content: "";
+}
+
+.clearfix:after {
+  clear: both;
+}
+
+.hide-text {
+  font: 0/0 a;
+  color: transparent;
+  text-shadow: none;
+  background-color: transparent;
+  border: 0;
+}
+
+.input-block-level {
+  display: block;
+  width: 100%;
+  min-height: 28px;
+  -webkit-box-sizing: border-box;
+     -moz-box-sizing: border-box;
+      -ms-box-sizing: border-box;
+          box-sizing: border-box;
+}
+
+.hidden {
+  display: none;
+  visibility: hidden;
+}
+
+.visible-phone {
+  display: none !important;
+}
+
+.visible-tablet {
+  display: none !important;
+}
+
+.hidden-desktop {
+  display: none !important;
+}
+
+@media (max-width: 767px) {
+  .visible-phone {
+    display: inherit !important;
+  }
+  .hidden-phone {
+    display: none !important;
+  }
+  .hidden-desktop {
+    display: inherit !important;
+  }
+  .visible-desktop {
+    display: none !important;
+  }
+}
+
+@media (min-width: 768px) and (max-width: 979px) {
+  .visible-tablet {
+    display: inherit !important;
+  }
+  .hidden-tablet {
+    display: none !important;
+  }
+  .hidden-desktop {
+    display: inherit !important;
+  }
+  .visible-desktop {
+    display: none !important ;
+  }
+}
+
+@media (max-width: 480px) {
+  .nav-collapse {
+    -webkit-transform: translate3d(0, 0, 0);
+  }
+  .page-header h1 small {
+    display: block;
+    line-height: 18px;
+  }
+  input[type="checkbox"],
+  input[type="radio"] {
+    border: 1px solid #ccc;
+  }
+  .form-horizontal .control-group > label {
+    float: none;
+    width: auto;
+    padding-top: 0;
+    text-align: left;
+  }
+  .form-horizontal .controls {
+    margin-left: 0;
+  }
+  .form-horizontal .control-list {
+    padding-top: 0;
+  }
+  .form-horizontal .form-actions {
+    padding-right: 10px;
+    padding-left: 10px;
+  }
+  .modal {
+    position: absolute;
+    top: 10px;
+    right: 10px;
+    left: 10px;
+    width: auto;
+    margin: 0;
+  }
+  .modal.fade.in {
+    top: auto;
+  }
+  .modal-header .close {
+    padding: 10px;
+    margin: -10px;
+  }
+  .carousel-caption {
+    position: static;
+  }
+}
+
+@media (max-width: 767px) {
+  body {
+    padding-right: 20px;
+    padding-left: 20px;
+  }
+  .navbar-fixed-top,
+  .navbar-fixed-bottom {
+    margin-right: -20px;
+    margin-left: -20px;
+  }
+  .container-fluid {
+    padding: 0;
+  }
+  .dl-horizontal dt {
+    float: none;
+    width: auto;
+    clear: none;
+    text-align: left;
+  }
+  .dl-horizontal dd {
+    margin-left: 0;
+  }
+  .container {
+    width: auto;
+  }
+  .row-fluid {
+    width: 100%;
+  }
+  .row,
+  .thumbnails {
+    margin-left: 0;
+  }
+  [class*="span"],
+  .row-fluid [class*="span"] {
+    display: block;
+    float: none;
+    width: auto;
+    margin-left: 0;
+  }
+  .input-large,
+  .input-xlarge,
+  .input-xxlarge,
+  input[class*="span"],
+  select[class*="span"],
+  textarea[class*="span"],
+  .uneditable-input {
+    display: block;
+    width: 100%;
+    min-height: 28px;
+    -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+        -ms-box-sizing: border-box;
+            box-sizing: border-box;
+  }
+  .input-prepend input,
+  .input-append input,
+  .input-prepend input[class*="span"],
+  .input-append input[class*="span"] {
+    display: inline-block;
+    width: auto;
+  }
+}
+
+@media (min-width: 768px) and (max-width: 979px) {
+  .row {
+    margin-left: -20px;
+    *zoom: 1;
+  }
+  .row:before,
+  .row:after {
+    display: table;
+    content: "";
+  }
+  .row:after {
+    clear: both;
+  }
+  [class*="span"] {
+    float: left;
+    margin-left: 20px;
+  }
+  .container,
+  .navbar-fixed-top .container,
+  .navbar-fixed-bottom .container {
+    width: 724px;
+  }
+  .span12 {
+    width: 724px;
+  }
+  .span11 {
+    width: 662px;
+  }
+  .span10 {
+    width: 600px;
+  }
+  .span9 {
+    width: 538px;
+  }
+  .span8 {
+    width: 476px;
+  }
+  .span7 {
+    width: 414px;
+  }
+  .span6 {
+    width: 352px;
+  }
+  .span5 {
+    width: 290px;
+  }
+  .span4 {
+    width: 228px;
+  }
+  .span3 {
+    width: 166px;
+  }
+  .span2 {
+    width: 104px;
+  }
+  .span1 {
+    width: 42px;
+  }
+  .offset12 {
+    margin-left: 764px;
+  }
+  .offset11 {
+    margin-left: 702px;
+  }
+  .offset10 {
+    margin-left: 640px;
+  }
+  .offset9 {
+    margin-left: 578px;
+  }
+  .offset8 {
+    margin-left: 516px;
+  }
+  .offset7 {
+    margin-left: 454px;
+  }
+  .offset6 {
+    margin-left: 392px;
+  }
+  .offset5 {
+    margin-left: 330px;
+  }
+  .offset4 {
+    margin-left: 268px;
+  }
+  .offset3 {
+    margin-left: 206px;
+  }
+  .offset2 {
+    margin-left: 144px;
+  }
+  .offset1 {
+    margin-left: 82px;
+  }
+  .row-fluid {
+    width: 100%;
+    *zoom: 1;
+  }
+  .row-fluid:before,
+  .row-fluid:after {
+    display: table;
+    content: "";
+  }
+  .row-fluid:after {
+    clear: both;
+  }
+  .row-fluid [class*="span"] {
+    display: block;
+    float: left;
+    width: 100%;
+    min-height: 28px;
+    margin-left: 2.762430939%;
+    *margin-left: 2.709239449638298%;
+    -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+        -ms-box-sizing: border-box;
+            box-sizing: border-box;
+  }
+  .row-fluid [class*="span"]:first-child {
+    margin-left: 0;
+  }
+  .row-fluid .span12 {
+    width: 99.999999993%;
+    *width: 99.9468085036383%;
+  }
+  .row-fluid .span11 {
+    width: 91.436464082%;
+    *width: 91.38327259263829%;
+  }
+  .row-fluid .span10 {
+    width: 82.87292817100001%;
+    *width: 82.8197366816383%;
+  }
+  .row-fluid .span9 {
+    width: 74.30939226%;
+    *width: 74.25620077063829%;
+  }
+  .row-fluid .span8 {
+    width: 65.74585634900001%;
+    *width: 65.6926648596383%;
+  }
+  .row-fluid .span7 {
+    width: 57.182320438000005%;
+    *width: 57.129128948638304%;
+  }
+  .row-fluid .span6 {
+    width: 48.618784527%;
+    *width: 48.5655930376383%;
+  }
+  .row-fluid .span5 {
+    width: 40.055248616%;
+    *width: 40.0020571266383%;
+  }
+  .row-fluid .span4 {
+    width: 31.491712705%;
+    *width: 31.4385212156383%;
+  }
+  .row-fluid .span3 {
+    width: 22.928176794%;
+    *width: 22.874985304638297%;
+  }
+  .row-fluid .span2 {
+    width: 14.364640883%;
+    *width: 14.311449393638298%;
+  }
+  .row-fluid .span1 {
+    width: 5.801104972%;
+    *width: 5.747913482638298%;
+  }
+  input,
+  textarea,
+  .uneditable-input {
+    margin-left: 0;
+  }
+  input.span12,
+  textarea.span12,
+  .uneditable-input.span12 {
+    width: 714px;
+  }
+  input.span11,
+  textarea.span11,
+  .uneditable-input.span11 {
+    width: 652px;
+  }
+  input.span10,
+  textarea.span10,
+  .uneditable-input.span10 {
+    width: 590px;
+  }
+  input.span9,
+  textarea.span9,
+  .uneditable-input.span9 {
+    width: 528px;
+  }
+  input.span8,
+  textarea.span8,
+  .uneditable-input.span8 {
+    width: 466px;
+  }
+  input.span7,
+  textarea.span7,
+  .uneditable-input.span7 {
+    width: 404px;
+  }
+  input.span6,
+  textarea.span6,
+  .uneditable-input.span6 {
+    width: 342px;
+  }
+  input.span5,
+  textarea.span5,
+  .uneditable-input.span5 {
+    width: 280px;
+  }
+  input.span4,
+  textarea.span4,
+  .uneditable-input.span4 {
+    width: 218px;
+  }
+  input.span3,
+  textarea.span3,
+  .uneditable-input.span3 {
+    width: 156px;
+  }
+  input.span2,
+  textarea.span2,
+  .uneditable-input.span2 {
+    width: 94px;
+  }
+  input.span1,
+  textarea.span1,
+  .uneditable-input.span1 {
+    width: 32px;
+  }
+}
+
+@media (min-width: 1200px) {
+  .row {
+    margin-left: -30px;
+    *zoom: 1;
+  }
+  .row:before,
+  .row:after {
+    display: table;
+    content: "";
+  }
+  .row:after {
+    clear: both;
+  }
+  [class*="span"] {
+    float: left;
+    margin-left: 30px;
+  }
+  .container,
+  .navbar-fixed-top .container,
+  .navbar-fixed-bottom .container {
+    width: 1170px;
+  }
+  .span12 {
+    width: 1170px;
+  }
+  .span11 {
+    width: 1070px;
+  }
+  .span10 {
+    width: 970px;
+  }
+  .span9 {
+    width: 870px;
+  }
+  .span8 {
+    width: 770px;
+  }
+  .span7 {
+    width: 670px;
+  }
+  .span6 {
+    width: 570px;
+  }
+  .span5 {
+    width: 470px;
+  }
+  .span4 {
+    width: 370px;
+  }
+  .span3 {
+    width: 270px;
+  }
+  .span2 {
+    width: 170px;
+  }
+  .span1 {
+    width: 70px;
+  }
+  .offset12 {
+    margin-left: 1230px;
+  }
+  .offset11 {
+    margin-left: 1130px;
+  }
+  .offset10 {
+    margin-left: 1030px;
+  }
+  .offset9 {
+    margin-left: 930px;
+  }
+  .offset8 {
+    margin-left: 830px;
+  }
+  .offset7 {
+    margin-left: 730px;
+  }
+  .offset6 {
+    margin-left: 630px;
+  }
+  .offset5 {
+    margin-left: 530px;
+  }
+  .offset4 {
+    margin-left: 430px;
+  }
+  .offset3 {
+    margin-left: 330px;
+  }
+  .offset2 {
+    margin-left: 230px;
+  }
+  .offset1 {
+    margin-left: 130px;
+  }
+  .row-fluid {
+    width: 100%;
+    *zoom: 1;
+  }
+  .row-fluid:before,
+  .row-fluid:after {
+    display: table;
+    content: "";
+  }
+  .row-fluid:after {
+    clear: both;
+  }
+  .row-fluid [class*="span"] {
+    display: block;
+    float: left;
+    width: 100%;
+    min-height: 28px;
+    margin-left: 2.564102564%;
+    *margin-left: 2.510911074638298%;
+    -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+        -ms-box-sizing: border-box;
+            box-sizing: border-box;
+  }
+  .row-fluid [class*="span"]:first-child {
+    margin-left: 0;
+  }
+  .row-fluid .span12 {
+    width: 100%;
+    *width: 99.94680851063829%;
+  }
+  .row-fluid .span11 {
+    width: 91.45299145300001%;
+    *width: 91.3997999636383%;
+  }
+  .row-fluid .span10 {
+    width: 82.905982906%;
+    *width: 82.8527914166383%;
+  }
+  .row-fluid .span9 {
+    width: 74.358974359%;
+    *width: 74.30578286963829%;
+  }
+  .row-fluid .span8 {
+    width: 65.81196581200001%;
+    *width: 65.7587743226383%;
+  }
+  .row-fluid .span7 {
+    width: 57.264957265%;
+    *width: 57.2117657756383%;
+  }
+  .row-fluid .span6 {
+    width: 48.717948718%;
+    *width: 48.6647572286383%;
+  }
+  .row-fluid .span5 {
+    width: 40.170940171000005%;
+    *width: 40.117748681638304%;
+  }
+  .row-fluid .span4 {
+    width: 31.623931624%;
+    *width: 31.5707401346383%;
+  }
+  .row-fluid .span3 {
+    width: 23.076923077%;
+    *width: 23.0237315876383%;
+  }
+  .row-fluid .span2 {
+    width: 14.529914530000001%;
+    *width: 14.4767230406383%;
+  }
+  .row-fluid .span1 {
+    width: 5.982905983%;
+    *width: 5.929714493638298%;
+  }
+  input,
+  textarea,
+  .uneditable-input {
+    margin-left: 0;
+  }
+  input.span12,
+  textarea.span12,
+  .uneditable-input.span12 {
+    width: 1160px;
+  }
+  input.span11,
+  textarea.span11,
+  .uneditable-input.span11 {
+    width: 1060px;
+  }
+  input.span10,
+  textarea.span10,
+  .uneditable-input.span10 {
+    width: 960px;
+  }
+  input.span9,
+  textarea.span9,
+  .uneditable-input.span9 {
+    width: 860px;
+  }
+  input.span8,
+  textarea.span8,
+  .uneditable-input.span8 {
+    width: 760px;
+  }
+  input.span7,
+  textarea.span7,
+  .uneditable-input.span7 {
+    width: 660px;
+  }
+  input.span6,
+  textarea.span6,
+  .uneditable-input.span6 {
+    width: 560px;
+  }
+  input.span5,
+  textarea.span5,
+  .uneditable-input.span5 {
+    width: 460px;
+  }
+  input.span4,
+  textarea.span4,
+  .uneditable-input.span4 {
+    width: 360px;
+  }
+  input.span3,
+  textarea.span3,
+  .uneditable-input.span3 {
+    width: 260px;
+  }
+  input.span2,
+  textarea.span2,
+  .uneditable-input.span2 {
+    width: 160px;
+  }
+  input.span1,
+  textarea.span1,
+  .uneditable-input.span1 {
+    width: 60px;
+  }
+  .thumbnails {
+    margin-left: -30px;
+  }
+  .thumbnails > li {
+    margin-left: 30px;
+  }
+  .row-fluid .thumbnails {
+    margin-left: 0;
+  }
+}
+
+@media (max-width: 979px) {
+  body {
+    padding-top: 0;
+  }
+  .navbar-fixed-top {
+    position: static;
+    margin-bottom: 18px;
+  }
+  .navbar-fixed-top .navbar-inner {
+    padding: 5px;
+  }
+  .navbar .container {
+    width: auto;
+    padding: 0;
+  }
+  .navbar .brand {
+    padding-right: 10px;
+    padding-left: 10px;
+    margin: 0 0 0 -5px;
+  }
+  .nav-collapse {
+    clear: both;
+  }
+  .nav-collapse .nav {
+    float: none;
+    margin: 0 0 9px;
+  }
+  .nav-collapse .nav > li {
+    float: none;
+  }
+  .nav-collapse .nav > li > a {
+    margin-bottom: 2px;
+  }
+  .nav-collapse .nav > .divider-vertical {
+    display: none;
+  }
+  .nav-collapse .nav .nav-header {
+    color: #999999;
+    text-shadow: none;
+  }
+  .nav-collapse .nav > li > a,
+  .nav-collapse .dropdown-menu a {
+    padding: 6px 15px;
+    font-weight: bold;
+    color: #999999;
+    -webkit-border-radius: 3px;
+       -moz-border-radius: 3px;
+            border-radius: 3px;
+  }
+  .nav-collapse .btn {
+    padding: 4px 10px 4px;
+    font-weight: normal;
+    -webkit-border-radius: 4px;
+       -moz-border-radius: 4px;
+            border-radius: 4px;
+  }
+  .nav-collapse .dropdown-menu li + li a {
+    margin-bottom: 2px;
+  }
+  .nav-collapse .nav > li > a:hover,
+  .nav-collapse .dropdown-menu a:hover {
+    background-color: #222222;
+  }
+  .nav-collapse.in .btn-group {
+    padding: 0;
+    margin-top: 5px;
+  }
+  .nav-collapse .dropdown-menu {
+    position: static;
+    top: auto;
+    left: auto;
+    display: block;
+    float: none;
+    max-width: none;
+    padding: 0;
+    margin: 0 15px;
+    background-color: transparent;
+    border: none;
+    -webkit-border-radius: 0;
+       -moz-border-radius: 0;
+            border-radius: 0;
+    -webkit-box-shadow: none;
+       -moz-box-shadow: none;
+            box-shadow: none;
+  }
+  .nav-collapse .dropdown-menu:before,
+  .nav-collapse .dropdown-menu:after {
+    display: none;
+  }
+  .nav-collapse .dropdown-menu .divider {
+    display: none;
+  }
+  .nav-collapse .navbar-form,
+  .nav-collapse .navbar-search {
+    float: none;
+    padding: 9px 15px;
+    margin: 9px 0;
+    border-top: 1px solid #222222;
+    border-bottom: 1px solid #222222;
+    -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
+       -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
+            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
+  }
+  .navbar .nav-collapse .nav.pull-right {
+    float: none;
+    margin-left: 0;
+  }
+  .nav-collapse,
+  .nav-collapse.collapse {
+    height: 0;
+    overflow: hidden;
+  }
+  .navbar .btn-navbar {
+    display: block;
+  }
+  .navbar-static .navbar-inner {
+    padding-right: 10px;
+    padding-left: 10px;
+  }
+}
+
+@media (min-width: 980px) {
+  .nav-collapse.collapse {
+    height: auto !important;
+    overflow: visible !important;
+  }
+}

File diff suppressed because it is too large
+ 9 - 0
watero-wechat-web/src/main/webapp/common/lib/bootstrap/bootstrap-responsive.min.css


File diff suppressed because it is too large
+ 4959 - 0
watero-wechat-web/src/main/webapp/common/lib/bootstrap/bootstrap.css


File diff suppressed because it is too large
+ 2038 - 0
watero-wechat-web/src/main/webapp/common/lib/bootstrap/bootstrap.js


File diff suppressed because it is too large
+ 7 - 0
watero-wechat-web/src/main/webapp/common/lib/bootstrap/bootstrap.min-3.3.css


File diff suppressed because it is too large
+ 9 - 0
watero-wechat-web/src/main/webapp/common/lib/bootstrap/bootstrap.min.css


+ 303 - 0
watero-wechat-web/src/main/webapp/common/lib/bootstrap/font-awesome.css

@@ -0,0 +1,303 @@
+/*  Font Awesome
+    the iconic font designed for use with Twitter Bootstrap
+    -------------------------------------------------------
+    The full suite of pictographic icons, examples, and documentation
+    can be found at: http://fortawesome.github.com/Font-Awesome/
+
+    License
+    -------------------------------------------------------
+    The Font Awesome webfont, CSS, and LESS files are licensed under CC BY 3.0:
+    http://creativecommons.org/licenses/by/3.0/ A mention of
+    'Font Awesome - http://fortawesome.github.com/Font-Awesome' in human-readable
+    source code is considered acceptable attribution (most common on the web).
+    If human readable source code is not available to the end user, a mention in
+    an 'About' or 'Credits' screen is considered acceptable (most common in desktop
+    or mobile software).
+
+    Contact
+    -------------------------------------------------------
+    Email: dave@davegandy.com
+    Twitter: http://twitter.com/fortaweso_me
+    Work: http://lemonwi.se co-founder
+
+    */
+@font-face {
+  font-family: "FontAwesome";
+  src: url('../font/fontawesome-webfont.eot');
+  src: url('../font/fontawesome-webfont.eot?#iefix') format('eot'), url('../font/fontawesome-webfont.woff') format('woff'), url('../font/fontawesome-webfont.ttf') format('truetype'), url('../font/fontawesome-webfont.svg#FontAwesome') format('svg');
+  font-weight: normal;
+  font-style: normal;
+}
+
+/*  Font Awesome styles
+    ------------------------------------------------------- */
+[class^="icon-"]:before, [class*=" icon-"]:before {
+  font-family: FontAwesome;
+  font-weight: normal;
+  font-style: normal;
+  display: inline-block;
+  text-decoration: inherit;
+}
+a [class^="icon-"], a [class*=" icon-"] {
+  display: inline-block;
+  text-decoration: inherit;
+}
+/* makes the font 33% larger relative to the icon container */
+.icon-large:before {
+  vertical-align: top;
+  font-size: 1.3333333333333333em;
+}
+.btn [class^="icon-"], .btn [class*=" icon-"] {
+  /* keeps button heights with and without icons the same */
+
+  line-height: .9em;
+}
+li [class^="icon-"], li [class*=" icon-"] {
+  display: inline-block;
+  width: 1.25em;
+  text-align: center;
+}
+li .icon-large[class^="icon-"], li .icon-large[class*=" icon-"] {
+  /* 1.5 increased font size for icon-large * 1.25 width */
+
+  width: 1.875em;
+}
+li[class^="icon-"], li[class*=" icon-"] {
+  margin-left: 0;
+  list-style-type: none;
+}
+li[class^="icon-"]:before, li[class*=" icon-"]:before {
+  text-indent: -2em;
+  text-align: center;
+}
+li[class^="icon-"].icon-large:before, li[class*=" icon-"].icon-large:before {
+  text-indent: -1.3333333333333333em;
+}
+/*  Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
+    readers do not read off random characters that represent icons */
+.icon-glass:before                { content: "\f000"; }
+.icon-music:before                { content: "\f001"; }
+.icon-search:before               { content: "\f002"; }
+.icon-envelope:before             { content: "\f003"; }
+.icon-heart:before                { content: "\f004"; }
+.icon-star:before                 { content: "\f005"; }
+.icon-star-empty:before           { content: "\f006"; }
+.icon-user:before                 { content: "\f007"; }
+.icon-film:before                 { content: "\f008"; }
+.icon-th-large:before             { content: "\f009"; }
+.icon-th:before                   { content: "\f00a"; }
+.icon-th-list:before              { content: "\f00b"; }
+.icon-ok:before                   { content: "\f00c"; }
+.icon-remove:before               { content: "\f00d"; }
+.icon-zoom-in:before              { content: "\f00e"; }
+
+.icon-zoom-out:before             { content: "\f010"; }
+.icon-off:before                  { content: "\f011"; }
+.icon-signal:before               { content: "\f012"; }
+.icon-cog:before                  { content: "\f013"; }
+.icon-trash:before                { content: "\f014"; }
+.icon-home:before                 { content: "\f015"; }
+.icon-file:before                 { content: "\f016"; }
+.icon-time:before                 { content: "\f017"; }
+.icon-road:before                 { content: "\f018"; }
+.icon-download-alt:before         { content: "\f019"; }
+.icon-download:before             { content: "\f01a"; }
+.icon-upload:before               { content: "\f01b"; }
+.icon-inbox:before                { content: "\f01c"; }
+.icon-play-circle:before          { content: "\f01d"; }
+.icon-repeat:before               { content: "\f01e"; }
+
+/* \f020 doesn't work in Safari. all shifted one down */
+.icon-refresh:before              { content: "\f021"; }
+.icon-list-alt:before             { content: "\f022"; }
+.icon-lock:before                 { content: "\f023"; }
+.icon-flag:before                 { content: "\f024"; }
+.icon-headphones:before           { content: "\f025"; }
+.icon-volume-off:before           { content: "\f026"; }
+.icon-volume-down:before          { content: "\f027"; }
+.icon-volume-up:before            { content: "\f028"; }
+.icon-qrcode:before               { content: "\f029"; }
+.icon-barcode:before              { content: "\f02a"; }
+.icon-tag:before                  { content: "\f02b"; }
+.icon-tags:before                 { content: "\f02c"; }
+.icon-book:before                 { content: "\f02d"; }
+.icon-bookmark:before             { content: "\f02e"; }
+.icon-print:before                { content: "\f02f"; }
+
+.icon-camera:before               { content: "\f030"; }
+.icon-font:before                 { content: "\f031"; }
+.icon-bold:before                 { content: "\f032"; }
+.icon-italic:before               { content: "\f033"; }
+.icon-text-height:before          { content: "\f034"; }
+.icon-text-width:before           { content: "\f035"; }
+.icon-align-left:before           { content: "\f036"; }
+.icon-align-center:before         { content: "\f037"; }
+.icon-align-right:before          { content: "\f038"; }
+.icon-align-justify:before        { content: "\f039"; }
+.icon-list:before                 { content: "\f03a"; }
+.icon-indent-left:before          { content: "\f03b"; }
+.icon-indent-right:before         { content: "\f03c"; }
+.icon-facetime-video:before       { content: "\f03d"; }
+.icon-picture:before              { content: "\f03e"; }
+
+.icon-pencil:before               { content: "\f040"; }
+.icon-map-marker:before           { content: "\f041"; }
+.icon-adjust:before               { content: "\f042"; }
+.icon-tint:before                 { content: "\f043"; }
+.icon-edit:before                 { content: "\f044"; }
+.icon-share:before                { content: "\f045"; }
+.icon-check:before                { content: "\f046"; }
+.icon-move:before                 { content: "\f047"; }
+.icon-step-backward:before        { content: "\f048"; }
+.icon-fast-backward:before        { content: "\f049"; }
+.icon-backward:before             { content: "\f04a"; }
+.icon-play:before                 { content: "\f04b"; }
+.icon-pause:before                { content: "\f04c"; }
+.icon-stop:before                 { content: "\f04d"; }
+.icon-forward:before              { content: "\f04e"; }
+
+.icon-fast-forward:before         { content: "\f050"; }
+.icon-step-forward:before         { content: "\f051"; }
+.icon-eject:before                { content: "\f052"; }
+.icon-chevron-left:before         { content: "\f053"; }
+.icon-chevron-right:before        { content: "\f054"; }
+.icon-plus-sign:before            { content: "\f055"; }
+.icon-minus-sign:before           { content: "\f056"; }
+.icon-remove-sign:before          { content: "\f057"; }
+.icon-ok-sign:before              { content: "\f058"; }
+.icon-question-sign:before        { content: "\f059"; }
+.icon-info-sign:before            { content: "\f05a"; }
+.icon-screenshot:before           { content: "\f05b"; }
+.icon-remove-circle:before        { content: "\f05c"; }
+.icon-ok-circle:before            { content: "\f05d"; }
+.icon-ban-circle:before           { content: "\f05e"; }
+
+.icon-arrow-left:before           { content: "\f060"; }
+.icon-arrow-right:before          { content: "\f061"; }
+.icon-arrow-up:before             { content: "\f062"; }
+.icon-arrow-down:before           { content: "\f063"; }
+.icon-share-alt:before            { content: "\f064"; }
+.icon-resize-full:before          { content: "\f065"; }
+.icon-resize-small:before         { content: "\f066"; }
+.icon-plus:before                 { content: "\f067"; }
+.icon-minus:before                { content: "\f068"; }
+.icon-asterisk:before             { content: "\f069"; }
+.icon-exclamation-sign:before     { content: "\f06a"; }
+.icon-gift:before                 { content: "\f06b"; }
+.icon-leaf:before                 { content: "\f06c"; }
+.icon-fire:before                 { content: "\f06d"; }
+.icon-eye-open:before             { content: "\f06e"; }
+
+.icon-eye-close:before            { content: "\f070"; }
+.icon-warning-sign:before         { content: "\f071"; }
+.icon-plane:before                { content: "\f072"; }
+.icon-calendar:before             { content: "\f073"; }
+.icon-random:before               { content: "\f074"; }
+.icon-comment:before              { content: "\f075"; }
+.icon-magnet:before               { content: "\f076"; }
+.icon-chevron-up:before           { content: "\f077"; }
+.icon-chevron-down:before         { content: "\f078"; }
+.icon-retweet:before              { content: "\f079"; }
+.icon-shopping-cart:before        { content: "\f07a"; }
+.icon-folder-close:before         { content: "\f07b"; }
+.icon-folder-open:before          { content: "\f07c"; }
+.icon-resize-vertical:before      { content: "\f07d"; }
+.icon-resize-horizontal:before    { content: "\f07e"; }
+
+.icon-bar-chart:before            { content: "\f080"; }
+.icon-twitter-sign:before         { content: "\f081"; }
+.icon-facebook-sign:before        { content: "\f082"; }
+.icon-camera-retro:before         { content: "\f083"; }
+.icon-key:before                  { content: "\f084"; }
+.icon-cogs:before                 { content: "\f085"; }
+.icon-comments:before             { content: "\f086"; }
+.icon-thumbs-up:before            { content: "\f087"; }
+.icon-thumbs-down:before          { content: "\f088"; }
+.icon-star-half:before            { content: "\f089"; }
+.icon-heart-empty:before          { content: "\f08a"; }
+.icon-signout:before              { content: "\f08b"; }
+.icon-linkedin-sign:before        { content: "\f08c"; }
+.icon-pushpin:before              { content: "\f08d"; }
+.icon-external-link:before        { content: "\f08e"; }
+
+.icon-signin:before               { content: "\f090"; }
+.icon-trophy:before               { content: "\f091"; }
+.icon-github-sign:before          { content: "\f092"; }
+.icon-upload-alt:before           { content: "\f093"; }
+.icon-lemon:before                { content: "\f094"; }
+.icon-phone:before                { content: "\f095"; }
+.icon-check-empty:before          { content: "\f096"; }
+.icon-bookmark-empty:before       { content: "\f097"; }
+.icon-phone-sign:before           { content: "\f098"; }
+.icon-twitter:before              { content: "\f099"; }
+.icon-facebook:before             { content: "\f09a"; }
+.icon-github:before               { content: "\f09b"; }
+.icon-unlock:before               { content: "\f09c"; }
+.icon-credit-card:before          { content: "\f09d"; }
+.icon-rss:before                  { content: "\f09e"; }
+
+.icon-hdd:before                  { content: "\f0a0"; }
+.icon-bullhorn:before             { content: "\f0a1"; }
+.icon-bell:before                 { content: "\f0a2"; }
+.icon-certificate:before          { content: "\f0a3"; }
+.icon-hand-right:before           { content: "\f0a4"; }
+.icon-hand-left:before            { content: "\f0a5"; }
+.icon-hand-up:before              { content: "\f0a6"; }
+.icon-hand-down:before            { content: "\f0a7"; }
+.icon-circle-arrow-left:before    { content: "\f0a8"; }
+.icon-circle-arrow-right:before   { content: "\f0a9"; }
+.icon-circle-arrow-up:before      { content: "\f0aa"; }
+.icon-circle-arrow-down:before    { content: "\f0ab"; }
+.icon-globe:before                { content: "\f0ac"; }
+.icon-wrench:before               { content: "\f0ad"; }
+.icon-tasks:before                { content: "\f0ae"; }
+
+.icon-filter:before               { content: "\f0b0"; }
+.icon-briefcase:before            { content: "\f0b1"; }
+.icon-fullscreen:before           { content: "\f0b2"; }
+
+.icon-group:before                { content: "\f0c0"; }
+.icon-link:before                 { content: "\f0c1"; }
+.icon-cloud:before                { content: "\f0c2"; }
+.icon-beaker:before               { content: "\f0c3"; }
+.icon-cut:before                  { content: "\f0c4"; }
+.icon-copy:before                 { content: "\f0c5"; }
+.icon-paper-clip:before           { content: "\f0c6"; }
+.icon-save:before                 { content: "\f0c7"; }
+.icon-sign-blank:before           { content: "\f0c8"; }
+.icon-reorder:before              { content: "\f0c9"; }
+.icon-list-ul:before              { content: "\f0ca"; }
+.icon-list-ol:before              { content: "\f0cb"; }
+.icon-strikethrough:before        { content: "\f0cc"; }
+.icon-underline:before            { content: "\f0cd"; }
+.icon-table:before                { content: "\f0ce"; }
+
+.icon-magic:before                { content: "\f0d0"; }
+.icon-truck:before                { content: "\f0d1"; }
+.icon-pinterest:before            { content: "\f0d2"; }
+.icon-pinterest-sign:before       { content: "\f0d3"; }
+.icon-google-plus-sign:before     { content: "\f0d4"; }
+.icon-google-plus:before          { content: "\f0d5"; }
+.icon-money:before                { content: "\f0d6"; }
+.icon-caret-down:before           { content: "\f0d7"; }
+.icon-caret-up:before             { content: "\f0d8"; }
+.icon-caret-left:before           { content: "\f0d9"; }
+.icon-caret-right:before          { content: "\f0da"; }
+.icon-columns:before              { content: "\f0db"; }
+.icon-sort:before                 { content: "\f0dc"; }
+.icon-sort-down:before            { content: "\f0dd"; }
+.icon-sort-up:before              { content: "\f0de"; }
+
+.icon-envelope-alt:before         { content: "\f0e0"; }
+.icon-linkedin:before             { content: "\f0e1"; }
+.icon-undo:before                 { content: "\f0e2"; }
+.icon-legal:before                { content: "\f0e3"; }
+.icon-dashboard:before            { content: "\f0e4"; }
+.icon-comment-alt:before          { content: "\f0e5"; }
+.icon-comments-alt:before         { content: "\f0e6"; }
+.icon-bolt:before                 { content: "\f0e7"; }
+.icon-sitemap:before              { content: "\f0e8"; }
+.icon-umbrella:before             { content: "\f0e9"; }
+.icon-paste:before                { content: "\f0ea"; }
+
+.icon-user-md:before              { content: "\f200"; }

+ 767 - 0
watero-wechat-web/src/main/webapp/common/lib/bootstrap/theme.css

@@ -0,0 +1,767 @@
+/*---------------------------------------------------
+    LESS Elements 0.6
+  ---------------------------------------------------
+    A set of useful LESS mixins by Dmitry Fadeyev
+    Special thanks for mixin suggestions to:
+      Kris Van Herzeele,
+      Benoit Adam,
+      Portenart Emile-Victor,
+      Ryan Faerman
+
+    More info at: http://lesselements.com
+-----------------------------------------------------*/
+/*Standard Elements*/
+body {
+  background: #eee;
+ # background-image: url(http://subtlepatterns.com/patterns/furley_bg.png);
+  background-position: initial initial;
+  background-repeat: initial initial;
+  margin: 0px;
+  padding: 0px;
+}
+a:hover {
+  text-decoration: none;
+}
+h1 {
+  margin-top: 0px;
+  color: #eee;
+}
+h2 {
+  font-size: 1.75em;
+}
+h3 {
+  font-size: 1.25em;
+}
+hr {
+  border-top: 1px solid #ddd;
+  border-bottom: 1px solid #fff;
+}
+/*Navbar*/
+.navbar {
+  position: relative;
+  z-index: 20;
+  margin: 0px;
+  padding: 0px;
+  -webkit-box-shadow: 0px 0px 3px #cccccc;
+  -moz-box-shadow: 0px 0px 3px #cccccc;
+  box-shadow: 0px 0px 3px #cccccc;
+}
+.navbar .brand {
+  text-shadow: none;
+}
+.navbar .navbar-inner {
+  background: #4d5b76;
+  background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #4d5b76), color-stop(1, #6c7a95));
+  background: -ms-linear-gradient(bottom, #4d5b76, #6c7a95);
+  background: -moz-linear-gradient(center bottom, #4d5b76 0%, #6c7a95 100%);
+  background: -o-linear-gradient(bottom, #4d5b76, #6c7a95);
+  filter: progid:dximagetransform.microsoft.gradient(startColorStr='#4d5b76', EndColorStr='#6c7a95');
+  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#6c7a95',EndColorStr='#4d5b76')";
+  padding: 0em 1em;
+  margin: 0px;
+  -webkit-border-radius: 0px;
+  -moz-border-radius: 0px;
+  border-radius: 0px;
+  -moz-background-clip: padding;
+  -webkit-background-clip: padding-box;
+  background-clip: padding-box;
+  border: 0px;
+  border-bottom: none;
+}
+.navbar .nav {
+  margin: 0em;
+  margin-right: -1em;
+}
+.navbar .nav > li > a {
+  color: #fff;
+  text-shadow: none;
+}
+.navbar .nav > li:hover {
+  background-color: #444;
+}
+.navbar .nav > li > a:hover {
+  color: #fff;
+}
+.navbar .dropdown-menu a:hover {
+  background: none;
+  color: #000;
+}
+.navbar .nav li.dropdown.open > .dropdown-toggle {
+  background-color: #444;
+  color: #fff;
+}
+.content {
+  min-width: 400px;
+  position: relative;
+  min-height: 600px;
+  background: #fff;
+  margin-left: 0px;
+  border-left: 1px solid #cccccc;
+  border-left: 3px solid #999999;
+}
+.header {
+  background: #ffffff;
+  background: #ffffff;
+  background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #e6e6e6), color-stop(1, #ffffff));
+  background: -ms-linear-gradient(bottom, #e6e6e6, #ffffff);
+  background: -moz-linear-gradient(center bottom, #e6e6e6 0%, #ffffff 100%);
+  background: -o-linear-gradient(bottom, #e6e6e6, #ffffff);
+  filter: progid:dximagetransform.microsoft.gradient(startColorStr='#4d5b76', EndColorStr='#6c7a95');
+  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffffff',EndColorStr='#e6e6e6')";
+  border-bottom: 1px solid #cccccc;
+  border-top: 1px solid #ffffff;
+  border-left: 1px solid #ffffff;
+  padding: 0em 1.25em;
+}
+.header h1 {
+  margin: 1em 0em;
+  padding: 0em;
+  line-height: 1em;
+  font-size: 1.5em;
+  color: #eee;
+  color: #333;
+}
+.breadcrumb {
+  -webkit-box-shadow: none;
+  -moz-box-shadow: none;
+  box-shadow: none;
+  -webkit-border-radius: 0px;
+  -moz-border-radius: 0px;
+  border-radius: 0px;
+  -moz-background-clip: padding;
+  -webkit-background-clip: padding-box;
+  background-clip: padding-box;
+  background: #eee;
+  border-bottom: 1px solid #aaa;
+  border-top: 1px solid #fafafa;
+  border-left: 1px solid #fff;
+  margin-bottom: .5em;
+}
+.page-content {
+  padding: 1em;
+}
+footer {
+  padding: 1em;
+  margin-top: 4em;
+  color: #666;
+  font-size: .85em;
+  line-height: 1.3em;
+}
+footer hr {
+  margin: 2em -2em;
+}
+/*Quick Toolbar*/
+.btn-toolbar.quick-toolbar {
+  float: right;
+}
+.btn-toolbar.quick-toolbar .btn {
+  width: 60px;
+  height: 60px;
+  display: inline-block;
+}
+.stats p.stat {
+  margin: 1em 0em 0em 1em;
+}
+.stats .stat {
+  margin-left: 1em;
+  line-height: 2.5em;
+  float: right;
+}
+.stats .stat .number {
+  font-weight: bold;
+  margin-right: .5em;
+  padding: .5em;
+  border: 1px solid #ccc;
+  background: #eeeeee;
+  background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #e3e3e3), color-stop(1, #ffffff));
+  background: -ms-linear-gradient(bottom, #e3e3e3, #ffffff);
+  background: -moz-linear-gradient(center bottom, #e3e3e3 0%, #ffffff 100%);
+  background: -o-linear-gradient(bottom, #e3e3e3, #ffffff);
+  filter: progid:dximagetransform.microsoft.gradient(startColorStr='#4d5b76', EndColorStr='#6c7a95');
+  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffffff',EndColorStr='#e3e3e3')";
+  -webkit-box-shadow: 1px 1px 0px #ffffff;
+  -moz-box-shadow: 1px 1px 0px #ffffff;
+  box-shadow: 1px 1px 0px #ffffff;
+  text-shadow: 1px 1px 1px #fff;
+}
+/*Blocks*/
+.block {
+  margin: 1em 0em;
+}
+.dialog .block {
+  -webkit-box-shadow: 1px 1px 0px #ffffff;
+  -moz-box-shadow: 1px 1px 0px #ffffff;
+  box-shadow: 1px 1px 0px #ffffff;
+}
+.block-heading {
+  border-bottom: 1px solid #a6a6a6;
+  border-left: none;
+  color: #505050;
+  display: block;
+  margin-bottom: 0px;
+  text-shadow: none;
+  text-transform: none;
+  font-weight: bold;
+  font-size: .85em;
+  line-height: 3em;
+}
+.block-heading .block-icon {
+  border-right: 1px solid #AAA;
+  border-left: none;
+}
+.block-heading .block-icon a {
+  padding: 0em;
+}
+.block-heading .block-icon [class*="icon-"] {
+  padding: 0em 1em;
+  line-height: 1em;
+}
+.block-heading .block-icon.pull-right {
+  border-left: 1px solid #AAA;
+  border-right: none;
+}
+.block-heading .label {
+  float: right;
+  margin-top: .5em;
+  margin-right: .75em;
+  line-height: 1.5em;
+  -webkit-box-shadow: 1px 1px 0px #ffffff;
+  -moz-box-shadow: 1px 1px 0px #ffffff;
+  box-shadow: 1px 1px 0px #ffffff;
+}
+p.block-heading,
+a.block-heading,
+.block-heading a {
+  color: #505050;
+  background: #dddddd;
+  background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #dddddd), color-stop(1, #fafafa));
+  background: -ms-linear-gradient(bottom, #dddddd, #fafafa);
+  background: -moz-linear-gradient(center bottom, #dddddd 0%, #fafafa 100%);
+  background: -o-linear-gradient(bottom, #dddddd, #fafafa);
+  filter: progid:dximagetransform.microsoft.gradient(startColorStr='#4d5b76', EndColorStr='#6c7a95');
+  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#fafafa',EndColorStr='#dddddd')";
+  display: block;
+  padding-left: 1em;
+  border-top: 1px solid #fff;
+  outline: none;
+}
+a.block-heading:hover,
+.block-heading a:hover {
+  background: #dddddd;
+  background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #dddddd), color-stop(1, #fdfdfd));
+  background: -ms-linear-gradient(bottom, #dddddd, #fdfdfd);
+  background: -moz-linear-gradient(center bottom, #dddddd 0%, #fdfdfd 100%);
+  background: -o-linear-gradient(bottom, #dddddd, #fdfdfd);
+  filter: progid:dximagetransform.microsoft.gradient(startColorStr='#4d5b76', EndColorStr='#6c7a95');
+  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#fdfdfd',EndColorStr='#dddddd')";
+  color: #505050;
+}
+.block-body {
+  margin: 1em;
+  min-height: .25em;
+}
+.block-body h1,
+.block-body h2,
+.block-body h3,
+.block-body h4,
+.block-body h5,
+.block-body h6,
+.block-body table {
+  margin-top: 12px;
+}
+.block-body.collapse {
+  margin-top: 0em;
+  margin-bottom: 0em;
+}
+/*Navigation*/
+.sidebar-nav {
+  width: 200px;
+  position: absolute;
+  float: left;
+  border-top: none;
+  border-left: none;
+  margin: 0em;
+}
+.sidebar-nav .nav-header {
+  border-top: 1px solid #ffffff;
+  border-bottom: 1px solid #c8c8cb;
+  border-left: none;
+  color: #333;
+  display: block;
+  background: #efeff0;
+  background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #efeff0), color-stop(1, #ffffff));
+  background: -ms-linear-gradient(bottom, #efeff0, #ffffff);
+  background: -moz-linear-gradient(center bottom, #efeff0 0%, #ffffff 100%);
+  background: -o-linear-gradient(bottom, #efeff0, #ffffff);
+  filter: progid:dximagetransform.microsoft.gradient(startColorStr='#4d5b76', EndColorStr='#6c7a95');
+  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffffff',EndColorStr='#efeff0')";
+  font-weight: normal;
+  font-size: 1em;
+  line-height: 2.5em;
+  padding: 0em .25em;
+  margin-bottom: 0px;
+  text-shadow: none;
+  text-transform: none;
+  /*Change the arrow direction if the item is collapsed*/
+
+}
+.sidebar-nav .nav-header .label {
+  float: right;
+  margin-top: .5em;
+  margin-right: .25em;
+  line-height: 1.5em;
+}
+.sidebar-nav .nav-header:hover {
+  background: #efeff0;
+  background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #efeff0), color-stop(1, #ffffff));
+  background: -ms-linear-gradient(bottom, #efeff0, #ffffff);
+  background: -moz-linear-gradient(center bottom, #efeff0 0%, #ffffff 100%);
+  background: -o-linear-gradient(bottom, #efeff0, #ffffff);
+  filter: progid:dximagetransform.microsoft.gradient(startColorStr='#4d5b76', EndColorStr='#6c7a95');
+  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffffff',EndColorStr='#efeff0')";
+}
+.sidebar-nav .nav-header.collapsed .icon-chevron-up::before {
+  content: "\f078";
+}
+.sidebar-nav .nav-header .icon-chevron-up {
+  float: right;
+}
+.sidebar-nav .nav-header .label {
+  float: right;
+  margin-top: .7em;
+  line-height: 1.5em;
+}
+.sidebar-nav .nav-header i[class^="icon-"] {
+  margin-right: .75em;
+}
+.sidebar-nav .nav-list {
+  margin: 0px;
+  border: 0px;
+  background: #f6f6f6;
+}
+.sidebar-nav .nav-list  > li > a:hover {
+  background: #e0e0e8;
+}
+.sidebar-nav .nav-list  > .active > a,
+.sidebar-nav .nav-list  > .active > a:hover {
+  background: #d2d2dd;
+  color: #555;
+  text-shadow: none;
+}
+.sidebar-nav .nav-list  > .active > a:hover {
+  background: #c3c3d2;
+}
+.sidebar-nav .nav-list  > li > a {
+  color: #444;
+  padding: .5em 1em;
+}
+.sidebar-nav .nav-list.collapse.in {
+  border-bottom: 1px solid #ccc;
+}
+/*Buttons*/
+.btn {
+  -webkit-border-radius: 0px;
+  -moz-border-radius: 0px;
+  border-radius: 5px;
+}
+.btn-primary {
+  background-color: #414959;
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#6c7994), to(#414959));
+  background-image: -webkit-linear-gradient(top, #6c7994, #414959);
+  background-image: -o-linear-gradient(top, #6c7994, #414959);
+  background-image: linear-gradient(to bottom, #6c7994, #414959);
+  background-image: -moz-linear-gradient(top, #6c7994, #414959);
+  filter: progid:dximagetransform.microsoft.gradient(startColorStr='#6c7994', EndColorStr='#414959');
+  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#6c7994',EndColorStr='#414959')";
+  border: 1px solid #363d4a;
+}
+
+.btn-mine {
+	width: 60px;
+	height: 30px;
+	border-radius: 5px;
+    background-color: #24bd;
+    background-image: linear-gradient(to bottom, #24bd, #24bd);
+    background-repeat: repeat-x;
+    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1);
+    color: #ffffff;
+    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+}
+
+.btn-primary:hover {
+  background-color: #414959;
+  *background-color: #414959;
+}
+.btn-danger {
+  background-color: #553333;
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#955959), to(#553333));
+  background-image: -webkit-linear-gradient(top, #955959, #553333);
+  background-image: -o-linear-gradient(top, #955959, #553333);
+  background-image: linear-gradient(to bottom, #955959, #553333);
+  background-image: -moz-linear-gradient(top, #955959, #553333);
+  filter: progid:dximagetransform.microsoft.gradient(startColorStr='#6c7994', EndColorStr='#414959');
+  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#955959',EndColorStr='#553333')";
+  border: 1px solid #452929;
+}
+.btn-danger:hover {
+  background-color: #553333;
+  *background-color: #553333;
+}
+.btn-success {
+  background-color: #556665;
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#869b99), to(#556665));
+  background-image: -webkit-linear-gradient(top, #869b99, #556665);
+  background-image: -o-linear-gradient(top, #869b99, #556665);
+  background-image: linear-gradient(to bottom, #869b99, #556665);
+  background-image: -moz-linear-gradient(top, #869b99, #556665);
+  filter: progid:dximagetransform.microsoft.gradient(startColorStr='#6c7994', EndColorStr='#414959');
+  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#869b99',EndColorStr='#556665')";
+  border: 1px solid #495857;
+}
+.btn-success:hover {
+  background-color: #556665;
+  *background-color: #556665;
+}
+.btn-warning {
+  background-color: #aaaa55;
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#cccc99), to(#aaaa55));
+  background-image: -webkit-linear-gradient(top, #cccc99, #aaaa55);
+  background-image: -o-linear-gradient(top, #cccc99, #aaaa55);
+  background-image: linear-gradient(to bottom, #cccc99, #aaaa55);
+  background-image: -moz-linear-gradient(top, #cccc99, #aaaa55);
+  filter: progid:dximagetransform.microsoft.gradient(startColorStr='#6c7994', EndColorStr='#414959');
+  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#cccc99',EndColorStr='#aaaa55')";
+  border: 1px solid #99994d;
+}
+.btn-warning:hover {
+  background-color: #aaaa55;
+  *background-color: #aaaa55;
+}
+.well {
+  background-color: #fff;
+  border: 1px solid #ccc;
+  -webkit-box-shadow: 1px 1px 0px #ffffff;
+  -moz-box-shadow: 1px 1px 0px #ffffff;
+  box-shadow: 1px 1px 0px #ffffff;
+  -webkit-border-radius: 0px;
+  -moz-border-radius: 0px;
+  border-radius: 0px;
+  -moz-background-clip: padding;
+  -webkit-background-clip: padding-box;
+  background-clip: padding-box;
+}
+/*Faq*/
+.faq-content ul,
+.faq-content ol {
+  padding-left: 1em;
+}
+.faq-content ul .top,
+.faq-content ol .top {
+  float: right;
+  line-height: 1.25em;
+  padding: .75em 0em;
+}
+/*Gallery*/
+.gallery {
+  text-align: center;
+}
+.gallery  > img {
+  margin: .5em .5em .5em .5em;
+}
+.img-polaroid {
+  -webkit-box-shadow: none;
+  -moz-box-shadow: none;
+  box-shadow: none;
+  border: 1px solid #ddd;
+}
+.dialog,
+.row .dialog,
+.row-fluid .dialog,
+.row-fluid [class*="span"].dialog:first-child {
+  margin: 0px auto;
+  margin-top: 5em;
+  float: none;
+  width: 400px;
+}
+.dialog input[type="checkbox"],
+.row .dialog input[type="checkbox"],
+.row-fluid .dialog input[type="checkbox"],
+.row-fluid [class*="span"].dialog:first-child input[type="checkbox"] {
+  margin: 0px;
+}
+.dialog .alert,
+.row .dialog .alert,
+.row-fluid .dialog .alert,
+.row-fluid [class*="span"].dialog:first-child .alert {
+  margin-bottom: 1em;
+}
+.dialog form,
+.row .dialog form,
+.row-fluid .dialog form,
+.row-fluid [class*="span"].dialog:first-child form {
+  margin-bottom: 0px;
+}
+.dialog .remember-me,
+.row .dialog .remember-me,
+.row-fluid .dialog .remember-me,
+.row-fluid [class*="span"].dialog:first-child .remember-me {
+  padding: .5em 0em 0em 0em;
+}
+input[type="text"],
+input[type="password"] {
+  -webkit-border-radius: 0px;
+  -moz-border-radius: 0px;
+  border-radius: 0px;
+  -moz-background-clip: padding;
+  -webkit-background-clip: padding-box;
+  background-clip: padding-box;
+}
+/*Alerts*/
+.alert {
+  -webkit-border-radius: 0px;
+  -moz-border-radius: 0px;
+  border-radius: 0px;
+  -moz-background-clip: padding;
+  -webkit-background-clip: padding-box;
+  background-clip: padding-box;
+  padding: .5em 1em;
+  margin-top: 1em;
+  border: 1px solid #f2e187;
+  background: #f7ecb5;
+  background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #f7ecb5), color-stop(1, #fcf8e3));
+  background: -ms-linear-gradient(bottom, #f7ecb5, #fcf8e3);
+  background: -moz-linear-gradient(center bottom, #f7ecb5 0%, #fcf8e3 100%);
+  background: -o-linear-gradient(bottom, #f7ecb5, #fcf8e3);
+  filter: progid:dximagetransform.microsoft.gradient(startColorStr='#4d5b76', EndColorStr='#6c7a95');
+  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#fcf8e3',EndColorStr='#f7ecb5')";
+}
+.alert .close {
+  right: -0.25em;
+}
+.alert.alert-error {
+  border: 1px solid #712d2d;
+  background: #963b3b;
+  background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #963b3b), color-stop(1, #b84c4c));
+  background: -ms-linear-gradient(bottom, #963b3b, #b84c4c);
+  background: -moz-linear-gradient(center bottom, #963b3b 0%, #b84c4c 100%);
+  background: -o-linear-gradient(bottom, #963b3b, #b84c4c);
+  filter: progid:dximagetransform.microsoft.gradient(startColorStr='#4d5b76', EndColorStr='#6c7a95');
+  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#b84c4c',EndColorStr='#963b3b')";
+  color: white;
+  text-shadow: none;
+}
+.alert.alert-info {
+  border: 1px solid #85c5e5;
+  background: #afd9ee;
+  background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #afd9ee), color-stop(1, #d9edf7));
+  background: -ms-linear-gradient(bottom, #afd9ee, #d9edf7);
+  background: -moz-linear-gradient(center bottom, #afd9ee 0%, #d9edf7 100%);
+  background: -o-linear-gradient(bottom, #afd9ee, #d9edf7);
+  filter: progid:dximagetransform.microsoft.gradient(startColorStr='#4d5b76', EndColorStr='#6c7a95');
+  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#d9edf7',EndColorStr='#afd9ee')";
+}
+.alert.alert-success {
+  border: 1px solid #a3d48e;
+  background: #c1e2b3;
+  background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #c1e2b3), color-stop(1, #dff0d8));
+  background: -ms-linear-gradient(bottom, #c1e2b3, #dff0d8);
+  background: -moz-linear-gradient(center bottom, #c1e2b3 0%, #dff0d8 100%);
+  background: -o-linear-gradient(bottom, #c1e2b3, #dff0d8);
+  filter: progid:dximagetransform.microsoft.gradient(startColorStr='#4d5b76', EndColorStr='#6c7a95');
+  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#dff0d8',EndColorStr='#c1e2b3')";
+}
+/*Error Pages*/
+.http-error {
+  margin-top: 5em;
+  text-align: center;
+  color: #444;
+}
+.http-error h1 {
+  font-size: 5em;
+  line-height: 1em;
+  text-shadow: 1px 1px 0px #fff;
+  color: #444;
+}
+.http-error p {
+  margin: 0px;
+}
+.http-error .info {
+  font-size: 2em;
+  line-height: 1.5em;
+  margin-bottom: 1em;
+}
+.http-error i {
+  font-size: 3em;
+  line-height: .75em;
+  text-shadow: 1px 1px 0px #fff;
+}
+/*Tabs*/
+.nav-tabs  > li {
+  margin-left: .5em;
+}
+.nav-tabs  > li  > a {
+  -webkit-border-top-right-radius: 0px;
+  -webkit-border-bottom-right-radius: 0;
+  -webkit-border-bottom-left-radius: 0;
+  -webkit-border-top-left-radius: 0;
+  -moz-border-radius-topright: 0px;
+  -moz-border-radius-bottomright: 0;
+  -moz-border-radius-bottomleft: 0;
+  -moz-border-radius-topleft: 0;
+  border-top-right-radius: 0px;
+  border-bottom-right-radius: 0;
+  border-bottom-left-radius: 0;
+  border-top-left-radius: 0;
+  -moz-background-clip: padding;
+  -webkit-background-clip: padding-box;
+  background-clip: padding-box;
+}
+/*Model*/
+.modal {
+  -webkit-border-top-right-radius: 0px;
+  -webkit-border-bottom-right-radius: 0px;
+  -webkit-border-bottom-left-radius: 0px;
+  -webkit-border-top-left-radius: 0px;
+  -moz-border-radius-topright: 0px;
+  -moz-border-radius-bottomright: 0px;
+  -moz-border-radius-bottomleft: 0px;
+  -moz-border-radius-topleft: 0px;
+  border-top-right-radius: 0px;
+  border-bottom-right-radius: 0px;
+  border-bottom-left-radius: 0px;
+  border-top-left-radius: 0px;
+  -moz-background-clip: padding;
+  -webkit-background-clip: padding-box;
+  background-clip: padding-box;
+}
+.modal.small {
+  width: 400px;
+  margin: -170px 0 0 -200px;
+}
+.modal .modal-icon {
+  vertical-align: middle;
+  font-size: 4em;
+  float: left;
+  margin-right: .25em;
+}
+.modal:focus {
+  outline: none;
+}
+.modal .modal-header h3 {
+  font-size: .95em;
+}
+.modal .modal-footer {
+  padding: .5em;
+}
+.modal .modal-body {
+  padding: 2em;
+}
+.modal p {
+  margin: 0em;
+  line-height: 1.5em;
+}
+/*Search*/
+.search-well form {
+  margin: 1em 0em 1.5em 0em;
+}
+.search-well label {
+  margin-bottom: 0px;
+  vertical-align: middle;
+}
+/*Table of Contents*/
+.toc {
+  margin-bottom: 2em;
+}
+.toc h3 {
+  font-size: 1em;
+  margin-top: 0em;
+  padding-top: 0em;
+  line-height: 1.4em;
+}
+.toc h4 {
+  color: #555;
+  font-size: 1em;
+  margin-top: 0em;
+  padding-top: 0em;
+  line-height: 1.4em;
+  margin-bottom: 0em;
+  padding-bottom: 0em;
+}
+/*Dashboard Stats*/
+.stat-widget-container {
+  text-align: center;
+}
+.stat-widget-container .stat-widget {
+  width: 25%;
+  float: left;
+}
+.stat-widget-container .stat-widget .stat-button {
+  margin-top: 1em;
+  margin: 2em 1em;
+  position: relative;
+}
+.stat-widget-container .stat-widget .stat-button .title {
+  font-size: 2em;
+  font-weight: bold;
+  color: #999;
+}
+.stat-widget-container .stat-widget .stat-button .detail {
+  font-size: 1.5em;
+  color: #555;
+}
+table.table.list tr:first-child td {
+  border-top: 0px;
+}
+/* Tweaks for mobile */
+@media (max-width: 641px) {
+  .content {
+    margin: 0em;
+  }
+  .sidebar-nav {
+    float: none;
+    width: auto;
+    position: relative;
+  }
+  h1 {
+    text-align: center;
+  }
+  .stats {
+    text-align: center;
+    margin-top: 1em;
+  }
+  .stats .stat {
+    float: none;
+    display: inline;
+  }
+  .stat-widget-container .stat-widget {
+    font-size: .5em;
+  }
+}
+@media (max-width: 900px) {
+  body.http-error {
+    font-size: .75em;
+  }
+  body.http-error .error-message {
+    padding: 0em 1em;
+  }
+}
+@media (max-width: 851px) {
+  .stat-widget-container .stat-widget {
+    font-size: .75em;
+  }
+}
+@media (max-width: 767px) {
+  footer hr {
+    margin-left: 0em;
+    margin-right: 0em;
+  }
+}
+@media (max-width: 604px) {
+  body.http-error {
+    font-size: .5em;
+  }
+}
+.maroon {color: #D20000; padding-left: 2px; font-family: "宋体"; }
+ .brand {font-family: georgia, serif; } .brand .first {color: #ccc; font-style: italic; } .brand .second {color: #fff; font-weight: bold; }
+ .bgcover{width: 200px;  height: 698px; display: none;  position: absolute;  margin-top: 1px;  left: 0%; background-color: black;  z-index:1001;  -moz-opacity: 0.4;  opacity:.40;  filter: alpha(opacity=40);}
+

+ 218 - 0
watero-wechat-web/src/main/webapp/common/lib/bootstrap/wxmenu.css

@@ -0,0 +1,218 @@
+.dialogBox {
+	display: none;
+	width: 100%;
+	height: 100%;
+	position: fixed;
+	left: 0;
+	top: 0;
+	z-index: 1001;
+}
+
+.dialogBox .background {
+	background-color: #000;
+	filter: alpha(opacity =   50);
+	-moz-opacity: .5;
+	-khtml-opacity: .5;
+	opacity: .5;
+	width: 100%;
+	height: 100%;
+	left: 0;
+	position: absolute;
+	top: 0;
+}
+
+.dialogBox h4 {
+	margin: 0;
+}
+
+.pre_wrapper {
+	position: relative;
+	left: 38%;
+	width: 330px;
+	height: 620px;
+	background: transparent url("../../images/admin/wx/bg_pre.png") no-repeat 0 0;
+}
+
+.pre_hd {
+	text-align: center;
+	font-size: 0;
+	line-height: 1.5;
+}
+
+.pre_nav_name {
+	display: inline-block;
+	*display: inline;
+	*zoom: 1;
+	width: 140px;
+	padding-top: 73px;
+	overflow: hidden;
+	white-space: nowrap;
+	text-overflow: ellipsis;
+	word-wrap: normal;
+	line-height: 32px;
+	font-size: 12px;
+	font-weight: 400;
+	color: #fff;
+}
+
+.pre_nav_list {
+	white-space: nowrap;
+	letter-spacing: -5px;
+}
+
+.pre_bd {
+	height: 402px;
+	margin-left: 42px;
+	margin-right: 28px;
+	overflow-y: auto;
+	position: relative;
+}
+
+.pre_ft {
+	min-height: 70px;
+}
+
+.pre_nav_wrapper {
+	margin-left: 68px;
+	margin-right: 17px;
+}
+
+.screen1 #preview_screen1 {
+	display: block;
+	margin: 0;
+}
+
+.pre_nav {
+	display: inline-block;
+	*display: inline;
+	*zoom: 1;
+	position: relative;
+	width: 32%;
+	line-height: 40px;
+	vertical-align: top;
+	text-align: center;
+	letter-spacing: normal;
+	background: transparent url("../../images/admin/wx/icon_add_on_split_v.png")
+		no-repeat 100% 50%;
+}
+
+.pre_nav_btn {
+	display: block;
+	margin-right: 12px;
+	overflow: hidden;
+	white-space: nowrap;
+	text-overflow: ellipsis;
+	word-wrap: normal;
+	font-size: 12px;
+	color: #fff;
+	text-decoration: none;
+	text-shadow: 0 1px 1px #000;
+}
+
+.pre_nav_btn:hover {
+	color: #a4a4a4;
+	text-shadow: 0 1px 1px #000;
+}
+
+.pre_sub_nav_list {
+	position: absolute;
+	bottom: 160px;
+	left: 27%;
+	margin-left: 14%;
+	border-radius: 6px;
+	-moz-border-radius: 6px;
+	-webkit-border-radius: 6px;
+	border: 1px solid #434343;
+	box-shadow: 0 1px 3px #808080, inset 0 1px 0 #656565;
+	background-color: #4f4f4f;
+}
+
+.pre_sub_nav_arrow {
+	position: absolute;
+	left: 50%;
+	bottom: 0;
+	margin-left: -7px;
+	width: 14px;
+	height: 10px;
+	margin-bottom: -10px;
+	background: transparent
+		url("../../images/admin/wx/icon_add_on_sub_nav_arrow.png") no-repeat 0 0;
+}
+
+.pre_sub_nav {
+	margin: 1px 1px 1px 1px;
+	padding-bottom: 1px;
+	padding-left: 25px;
+	padding-right: 1px;
+}
+
+.pre_sub_nav_btn {
+	display: block;
+	width: 80px;
+	color: #fff;
+	line-height: 28px;
+	font-size: 12px;
+	text-decoration: none;
+	border-radius: 6px;
+	-moz-border-radius: 6px;
+	-webkit-border-radius: 6px;
+	overflow: hidden;
+	text-overflow: ellipsis;
+	word-wrap: normal;
+}
+
+.pre_sub_nav_btn:hover {
+	background-color: #2b2b2b;
+}
+
+/*a:hover,a:active {
+	text-decoration: underline;
+	color: white;
+}*/
+
+.pre_windows_opr {
+	position: absolute;
+	top: 0;
+	right: -1px;
+	cursor: pointer;
+}
+
+.opr_icon.closed {
+	background-position: 0 0;
+}
+
+.opr_icon {
+	display: inline-block;
+	*display: inline;
+	*zoom: 1;
+	width: 65px;
+	height: 65px;
+	background: transparent url("../../images/admin/wx/icon_opr.png") no-repeat;
+}
+
+.opr_icon.closed:hover {
+	background-position: -65px 0;
+}
+
+.opr_icon {
+	display: inline-block;
+	width: 65px;
+	height: 65px;
+	background: transparent url("../../images/admin/wx/icon_opr.png") no-repeat;
+}
+
+ul,li {
+	list-style: none;
+}
+
+ul,ol {
+	padding: 0;
+	margin: 0 0 10px 25px;
+}
+
+.divimg {
+	margin-left: 100px;
+	border: 1px solid;
+	width: 400px;
+	border-radius: 6px;
+}

File diff suppressed because it is too large
+ 1 - 0
watero-wechat-web/src/main/webapp/common/lib/calendar/calendar-pro.css


File diff suppressed because it is too large
+ 178 - 0
watero-wechat-web/src/main/webapp/common/lib/calendar/calendar-pro.js


二進制
watero-wechat-web/src/main/webapp/common/lib/calendar/img/left-arr.png


二進制
watero-wechat-web/src/main/webapp/common/lib/calendar/img/right-arr.png


+ 423 - 0
watero-wechat-web/src/main/webapp/common/lib/chosen/css/chosen.css

@@ -0,0 +1,423 @@
+/*!
+Chosen, a Select Box Enhancer for jQuery and Prototype
+by Patrick Filler for Harvest, http://getharvest.com
+
+Version 1.1.0
+Full source at https://github.com/harvesthq/chosen
+Copyright (c) 2011 Harvest http://getharvest.com
+
+MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md
+This file is generated by `grunt build`, do not edit it by hand.
+*/
+
+/* @group Base */
+.chosen-container {
+    position: relative;
+    display: inline-block;
+    vertical-align: middle;
+    font-size: 13px;
+    zoom: 1;
+    *display: inline;
+    -webkit-user-select: none;
+    -moz-user-select: none;
+    user-select: none;
+}
+.chosen-container .chosen-drop {
+    position: absolute;
+    top: 100%;
+    left: -9999px;
+    z-index: 1010;
+    -webkit-box-sizing: border-box;
+    -moz-box-sizing: border-box;
+    box-sizing: border-box;
+    width: 100%;
+    border: 1px solid #aaa;
+    border-top: 0;
+    background: #fff;
+    box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);
+}
+.chosen-container.chosen-with-drop .chosen-drop {
+    left: 0;
+}
+.chosen-container a {
+    cursor: pointer;
+}
+
+/* @end */
+/* @group Single Chosen */
+.chosen-container-single .chosen-single {
+    position: relative;
+    display: block;
+    overflow: hidden;
+    padding: 0 0 0 8px;
+    height: 23px;
+    border: 1px solid #aaa;
+    border-radius: 5px;
+    background-color: #fff;
+    background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #ffffff), color-stop(50%, #f6f6f6), color-stop(52%, #eeeeee), color-stop(100%, #f4f4f4));
+    background: -webkit-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
+    background: -moz-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
+    background: -o-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
+    background: linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
+    background-clip: padding-box;
+    box-shadow: 0 0 3px white inset, 0 1px 1px rgba(0, 0, 0, 0.1);
+    color: #444;
+    text-decoration: none;
+    white-space: nowrap;
+    line-height: 24px;
+}
+.chosen-container-single .chosen-default {
+    color: #999;
+}
+.chosen-container-single .chosen-single span {
+    display: block;
+    overflow: hidden;
+    margin-right: 26px;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+}
+.chosen-container-single .chosen-single-with-deselect span {
+    margin-right: 38px;
+}
+.chosen-container-single .chosen-single abbr {
+    position: absolute;
+    top: 6px;
+    right: 26px;
+    display: block;
+    width: 12px;
+    height: 12px;
+    background: url('css/chosen-sprite.png') -42px 1px no-repeat;
+    font-size: 1px;
+}
+.chosen-container-single .chosen-single abbr:hover {
+    background-position: -42px -10px;
+}
+.chosen-container-single.chosen-disabled .chosen-single abbr:hover {
+    background-position: -42px -10px;
+}
+.chosen-container-single .chosen-single div {
+    position: absolute;
+    top: 0;
+    right: 0;
+    display: block;
+    width: 18px;
+    height: 100%;
+}
+.chosen-container-single .chosen-single div b {
+    display: block;
+    width: 100%;
+    height: 100%;
+    background: url('css/chosen-sprite.png') no-repeat 0px 7px;
+}
+.chosen-container-single .chosen-search {
+    position: relative;
+    z-index: 1010;
+    margin: 0;
+    padding: 3px 4px;
+    white-space: nowrap;
+}
+.chosen-container-single .chosen-search input[type="text"] {
+    -webkit-box-sizing: border-box;
+    -moz-box-sizing: border-box;
+    box-sizing: border-box;
+    margin: 1px 0;
+    padding: 4px 20px 4px 5px;
+    width: 100%;
+    height: auto;
+    outline: 0;
+    border: 1px solid #aaa;
+    background: white url('css/chosen-sprite.png') no-repeat 100% -20px;
+    background: url('css/chosen-sprite.png') no-repeat 100% -20px;
+    font-size: 1em;
+    font-family: sans-serif;
+    line-height: normal;
+    border-radius: 0;
+}
+.chosen-container-single .chosen-drop {
+    margin-top: -1px;
+    border-radius: 0 0 4px 4px;
+    background-clip: padding-box;
+}
+.chosen-container-single.chosen-container-single-nosearch .chosen-search {
+    position: absolute;
+    left: -9999px;
+}
+
+/* @end */
+/* @group Results */
+.chosen-container .chosen-results {
+    position: relative;
+    overflow-x: hidden;
+    overflow-y: auto;
+    margin: 0 4px 4px 0;
+    padding: 0 0 0 4px;
+    max-height: 240px;
+    -webkit-overflow-scrolling: touch;
+}
+.chosen-container .chosen-results li {
+    display: none;
+    margin: 0;
+    padding: 5px 6px;
+    list-style: none;
+    line-height: 15px;
+    -webkit-touch-callout: none;
+}
+.chosen-container .chosen-results li.active-result {
+    display: list-item;
+    cursor: pointer;
+}
+.chosen-container .chosen-results li.disabled-result {
+    display: list-item;
+    color: #ccc;
+    cursor: default;
+}
+.chosen-container .chosen-results li.highlighted {
+    background-color: #3875d7;
+    background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #3875d7), color-stop(90%, #2a62bc));
+    background-image: -webkit-linear-gradient(#3875d7 20%, #2a62bc 90%);
+    background-image: -moz-linear-gradient(#3875d7 20%, #2a62bc 90%);
+    background-image: -o-linear-gradient(#3875d7 20%, #2a62bc 90%);
+    background-image: linear-gradient(#3875d7 20%, #2a62bc 90%);
+    color: #fff;
+}
+.chosen-container .chosen-results li.no-results {
+    display: list-item;
+    background: #f4f4f4;
+}
+.chosen-container .chosen-results li.group-result {
+    display: list-item;
+    font-weight: bold;
+    cursor: default;
+}
+.chosen-container .chosen-results li.group-option {
+    padding-left: 15px;
+}
+.chosen-container .chosen-results li em {
+    font-style: normal;
+    text-decoration: underline;
+}
+
+/* @end */
+/* @group Multi Chosen */
+.chosen-container-multi .chosen-choices {
+    -moz-box-sizing: border-box;
+    background-color: #FFFFFF;
+    border: 1px solid #CBD5DD;
+    border-radius: 2px;
+    cursor: text;
+    height: auto !important;
+    margin: 0;
+    min-height: 30px;
+    overflow: hidden;
+    padding: 2px;
+    position: relative;
+    width: 100%;
+}
+.chosen-container-multi .chosen-choices li {
+    float: left;
+    list-style: none;
+}
+.chosen-container-multi .chosen-choices li.search-field {
+    margin: 0;
+    padding: 0;
+    white-space: nowrap;
+}
+.chosen-container-multi .chosen-choices li.search-field input[type="text"] {
+    margin: 1px 0;
+    padding: 5px;
+    height: 25px;
+    outline: 0;
+    border: 0 !important;
+    background: transparent !important;
+    box-shadow: none;
+    color: #666;
+    font-size: 100%;
+    font-family: sans-serif;
+    line-height: normal;
+    border-radius: 0;
+}
+.chosen-container-multi .chosen-choices li.search-field .default {
+    color: #999;
+}
+.chosen-container-multi .chosen-choices li.search-choice {
+    position: relative;
+    margin: 3px 0 3px 5px;
+    padding: 3px 20px 3px 5px;
+    border: 1px solid #aaa;
+    border-radius: 3px;
+    background-color: #e4e4e4;
+    background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee));
+    background-image: -webkit-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
+    background-image: -moz-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
+    background-image: -o-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
+    background-image: linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
+    background-clip: padding-box;
+    box-shadow: 0 0 2px white inset, 0 1px 0 rgba(0, 0, 0, 0.05);
+    color: #333;
+    line-height: 13px;
+    cursor: default;
+}
+.chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
+    position: absolute;
+    top: 4px;
+    right: 3px;
+    display: block;
+    width: 12px;
+    height: 12px;
+    background: url('css/chosen-sprite.png') -42px 1px no-repeat;
+    font-size: 1px;
+}
+.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover {
+    background-position: -42px -10px;
+}
+.chosen-container-multi .chosen-choices li.search-choice-disabled {
+    padding-right: 5px;
+    border: 1px solid #ccc;
+    background-color: #e4e4e4;
+    background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee));
+    background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
+    background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
+    background-image: -o-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
+    background-image: linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
+    color: #666;
+}
+.chosen-container-multi .chosen-choices li.search-choice-focus {
+    background: #d4d4d4;
+}
+.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close {
+    background-position: -42px -10px;
+}
+.chosen-container-multi .chosen-results {
+    margin: 0;
+    padding: 0;
+}
+.chosen-container-multi .chosen-drop .result-selected {
+    display: list-item;
+    color: #ccc;
+    cursor: default;
+}
+
+/* @end */
+/* @group Active  */
+.chosen-container-active .chosen-single {
+    border: 1px solid #5897fb;
+    box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
+}
+.chosen-container-active.chosen-with-drop .chosen-single {
+    border: 1px solid #aaa;
+    -moz-border-radius-bottomright: 0;
+    border-bottom-right-radius: 0;
+    -moz-border-radius-bottomleft: 0;
+    border-bottom-left-radius: 0;
+}
+.chosen-container-active.chosen-with-drop .chosen-single div {
+    border-left: none;
+    background: transparent;
+}
+.chosen-container-active.chosen-with-drop .chosen-single div b {
+    background-position: -18px 7px;
+}
+.chosen-container-active .chosen-choices {
+    border: 1px solid #5897fb;
+    box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
+}
+.chosen-container-active .chosen-choices li.search-field input[type="text"] {
+    color: #111 !important;
+}
+
+/* @end */
+/* @group Disabled Support */
+.chosen-disabled {
+    opacity: 0.5 !important;
+    cursor: default;
+}
+.chosen-disabled .chosen-single {
+    cursor: default;
+}
+.chosen-disabled .chosen-choices .search-choice .search-choice-close {
+    cursor: default;
+}
+
+/* @end */
+/* @group Right to Left */
+.chosen-rtl {
+    text-align: right;
+}
+.chosen-rtl .chosen-single {
+    overflow: visible;
+    padding: 0 8px 0 0;
+}
+.chosen-rtl .chosen-single span {
+    margin-right: 0;
+    margin-left: 26px;
+    direction: rtl;
+}
+.chosen-rtl .chosen-single-with-deselect span {
+    margin-left: 38px;
+}
+.chosen-rtl .chosen-single div {
+    right: auto;
+    left: 3px;
+}
+.chosen-rtl .chosen-single abbr {
+    right: auto;
+    left: 26px;
+}
+.chosen-rtl .chosen-choices li {
+    float: right;
+}
+.chosen-rtl .chosen-choices li.search-field input[type="text"] {
+    direction: rtl;
+}
+.chosen-rtl .chosen-choices li.search-choice {
+    margin: 3px 5px 3px 0;
+    padding: 3px 5px 3px 19px;
+}
+.chosen-rtl .chosen-choices li.search-choice .search-choice-close {
+    right: auto;
+    left: 4px;
+}
+.chosen-rtl.chosen-container-single-nosearch .chosen-search,
+.chosen-rtl .chosen-drop {
+    left: 9999px;
+}
+.chosen-rtl.chosen-container-single .chosen-results {
+    margin: 0 0 4px 4px;
+    padding: 0 4px 0 0;
+}
+.chosen-rtl .chosen-results li.group-option {
+    padding-right: 15px;
+    padding-left: 0;
+}
+.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div {
+    border-right: none;
+}
+.chosen-rtl .chosen-search input[type="text"] {
+    padding: 4px 5px 4px 20px;
+    background: white url('css/chosen-sprite.png') no-repeat -30px -20px;
+    background: url('css/chosen-sprite.png') no-repeat -30px -20px;
+    direction: rtl;
+}
+.chosen-rtl.chosen-container-single .chosen-single div b {
+    background-position: 6px 2px;
+}
+.chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b {
+    background-position: -12px 2px;
+}
+
+/* @end */
+/* @group Retina compatibility */
+@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-resolution: 144dpi) {
+    .chosen-rtl .chosen-search input[type="text"],
+    .chosen-container-single .chosen-single abbr,
+    .chosen-container-single .chosen-single div b,
+    .chosen-container-single .chosen-search input[type="text"],
+    .chosen-container-multi .chosen-choices .search-choice .search-choice-close,
+    .chosen-container .chosen-results-scroll-down span,
+    .chosen-container .chosen-results-scroll-up span {
+        background-image: url('css/chosen-sprite@2x.png') !important;
+        background-size: 52px 37px !important;
+        background-repeat: no-repeat !important;
+    }
+}
+/* @end */

二進制
watero-wechat-web/src/main/webapp/common/lib/chosen/css/css/chosen-sprite.png


二進制
watero-wechat-web/src/main/webapp/common/lib/chosen/css/css/chosen-sprite@2x.png


File diff suppressed because it is too large
+ 1212 - 0
watero-wechat-web/src/main/webapp/common/lib/chosen/js/chosen.jquery.js


+ 91 - 0
watero-wechat-web/src/main/webapp/common/lib/common/add_common.js

@@ -0,0 +1,91 @@
+/* 开启校验 */
+$(function(){
+    $('.skin-minimal input').iCheck({
+        checkboxClass: 'icheckbox-blue',
+        radioClass: 'iradio-blue',
+        increaseArea: '20%'
+    });
+
+    $("#form-admin-add").Validform({
+        tiptype:function(msg, o, cssctl){
+            console.log(o);
+            if (o.type === 3) {
+                layer.msg(msg,{icon:2,time:1500});
+            }
+        },
+        ignoreHidden: false,
+        callback:function(form){
+            var send = true;
+            if (typeof user_callback !== "undefined") {
+                send = user_callback();
+            }
+            if (typeof send === "undefined") {
+                add();
+            }
+            if (send) {
+                add();
+            }
+            return false;
+        }
+    });
+});
+
+/* 当前方法 */
+function add() {
+    //此处请求后台程序,下方是成功后的前台处理……
+    ajax("POST", $("#form-admin-add").attr("action"), formatJSON(), function(res) {
+        if (typeof success_callback !== "undefined") {
+            success_callback(res);
+        } else {
+            if (res.resultCode === 200 && res.returnCode === 200) {
+                layer.msg('操作成功!',{icon: 6,time:1000}, function (){
+                    var index = parent.layer.getFrameIndex(window.name);
+                    if (typeof index !== "undefined") {
+                        parent.refresh();
+                        parent.layer.close(index);
+                    } else {
+                        var href = window.redirect_url;
+                        if (typeof href !== "undefined") {
+                            location.href = root_path + href;
+                        }
+                    }
+                });
+            } else {
+                var error = null;
+                try {
+                    error = res.returnMsg.error;
+                } catch (error) {
+
+                }
+                if (error != null && typeof error !== "undefined") {
+                    layer.msg("【操作失败】" + error,{icon: 1,time:3000});
+                } else {
+                    layer.msg('请求失败,请重试!',{icon: 1,time:1000});
+                }
+            }
+        }
+    }, function() {
+        if (typeof faild_callback !== "undefined") {
+            faild_callback();
+        }
+    });
+}
+
+/*将表单format 为  JSON*/
+function formatJSON() {
+    var o={};
+    $($("#form-admin-add").serializeArray()).each(function(){
+        if (this.value !== "" && this.value != null) {
+            // 如果value为空,则不要填充啦
+            if (o[this.name] !== undefined) {
+                if (!o[this.name].push) {
+                    o[this.name] = [o[this.name]];
+                }
+                o[this.name].push(this.value || '');
+            } else {
+                o[this.name] = this.value || '';
+            }
+        }
+    });
+    return o;
+}

File diff suppressed because it is too large
+ 152 - 0
watero-wechat-web/src/main/webapp/common/lib/datatables/1.10.0/jquery.dataTables.min.js


File diff suppressed because it is too large
+ 4029 - 0
watero-wechat-web/src/main/webapp/common/lib/distpicker/js/distpicker.data.js


+ 248 - 0
watero-wechat-web/src/main/webapp/common/lib/distpicker/js/distpicker.js

@@ -0,0 +1,248 @@
+/*!
+ * Distpicker v1.0.4
+ * https://github.com/fengyuanchen/distpicker
+ *
+ * Copyright (c) 2014-2016 Fengyuan Chen
+ * Released under the MIT license
+ *
+ * Date: 2016-06-01T15:05:52.606Z
+ */
+
+(function (factory) {
+  if (typeof define === 'function' && define.amd) {
+    // AMD. Register as anonymous module.
+    define(['jquery', 'ChineseDistricts'], factory);
+  } else if (typeof exports === 'object') {
+    // Node / CommonJS
+    factory(require('jquery'), require('ChineseDistricts'));
+  } else {
+    // Browser globals.
+    factory(jQuery, ChineseDistricts);
+  }
+})(function ($, ChineseDistricts) {
+
+  'use strict';
+
+  if (typeof ChineseDistricts === 'undefined') {
+    throw new Error('The file "distpicker.data.js" must be included first!');
+  }
+
+  var NAMESPACE = 'distpicker';
+  var EVENT_CHANGE = 'change.' + NAMESPACE;
+  var PROVINCE = 'province';
+  var CIRY = 'city';
+  var DISTRICT = 'district';
+
+  function Distpicker(element, options) {
+    this.$element = $(element);
+    this.options = $.extend({}, Distpicker.DEFAULTS, $.isPlainObject(options) && options);
+    this.placeholders = $.extend({}, Distpicker.DEFAULTS);
+    this.active = false;
+    this.init();
+  }
+
+  Distpicker.prototype = {
+    constructor: Distpicker,
+
+    init: function () {
+      var options = this.options;
+      var $select = this.$element.find('select');
+      var length = $select.length;
+      var data = {};
+
+      $select.each(function () {
+        $.extend(data, $(this).data());
+      });
+
+      $.each([PROVINCE, CIRY, DISTRICT], $.proxy(function (i, type) {
+        if (data[type]) {
+          options[type] = data[type];
+          this['$' + type] = $select.filter('[data-' + type + ']');
+        } else {
+          this['$' + type] = length > i ? $select.eq(i) : null;
+        }
+      }, this));
+
+      this.bind();
+
+      // Reset all the selects (after event binding)
+      this.reset();
+
+      this.active = true;
+    },
+
+    bind: function () {
+      if (this.$province) {
+        this.$province.on(EVENT_CHANGE, (this._changeProvince = $.proxy(function () {
+          this.output(CIRY);
+          this.output(DISTRICT);
+        }, this)));
+      }
+
+      if (this.$city) {
+        this.$city.on(EVENT_CHANGE, (this._changeCity = $.proxy(function () {
+          this.output(DISTRICT);
+        }, this)));
+      }
+    },
+
+    unbind: function () {
+      if (this.$province) {
+        this.$province.off(EVENT_CHANGE, this._changeProvince);
+      }
+
+      if (this.$city) {
+        this.$city.off(EVENT_CHANGE, this._changeCity);
+      }
+    },
+
+    output: function (type) {
+      var options = this.options;
+      var placeholders = this.placeholders;
+      var $select = this['$' + type];
+      var districts = {};
+      var data = [];
+      var code;
+      var matched;
+      var value;
+
+      if (!$select || !$select.length) {
+        return;
+      }
+
+      value = options[type];
+
+      code = (
+        type === PROVINCE ? 86 :
+        type === CIRY ? this.$province && this.$province.find(':selected').data('code') :
+        type === DISTRICT ? this.$city && this.$city.find(':selected').data('code') : code
+      );
+
+      districts = $.isNumeric(code) ? ChineseDistricts[code] : null;
+
+      if ($.isPlainObject(districts)) {
+        $.each(districts, function (code, address) {
+          var selected = address === value;
+
+          if (selected) {
+            matched = true;
+          }
+
+          data.push({
+            code: code,
+            address: address,
+            selected: selected
+          });
+        });
+      }
+
+      if (!matched) {
+        if (data.length && (options.autoSelect || options.autoselect)) {
+          data[0].selected = true;
+        }
+
+        // Save the unmatched value as a placeholder at the first output
+        if (!this.active && value) {
+          placeholders[type] = value;
+        }
+      }
+
+      // Add placeholder option
+      if (options.placeholder) {
+        data.unshift({
+          code: '',
+          address: placeholders[type],
+          selected: false
+        });
+      }
+
+      $select.html(this.getList(data));
+    },
+
+    getList: function (data) {
+      var list = [];
+
+      $.each(data, function (i, n) {
+        list.push(
+          '<option' +
+          ' value="' + (n.address && n.code ? n.address : '') + '"' +
+          ' data-code="' + (n.code || '') + '"' +
+          (n.selected ? ' selected' : '') +
+          '>' +
+            (n.address || '') +
+          '</option>'
+        );
+      });
+
+      return list.join('');
+    },
+
+    reset: function (deep) {
+      if (!deep) {
+        this.output(PROVINCE);
+        this.output(CIRY);
+        this.output(DISTRICT);
+      } else if (this.$province) {
+        this.$province.find(':first').prop('selected', true).trigger(EVENT_CHANGE);
+      }
+    },
+
+    destroy: function () {
+      this.unbind();
+      this.$element.removeData(NAMESPACE);
+    }
+  };
+
+  Distpicker.DEFAULTS = {
+    autoSelect: true,
+    placeholder: true,
+    province: '—— 省 ——',
+    city: '—— 市 ——',
+    district: '—— 区 ——'
+  };
+
+  Distpicker.setDefaults = function (options) {
+    $.extend(Distpicker.DEFAULTS, options);
+  };
+
+  // Save the other distpicker
+  Distpicker.other = $.fn.distpicker;
+
+  // Register as jQuery plugin
+  $.fn.distpicker = function (option) {
+    var args = [].slice.call(arguments, 1);
+
+    return this.each(function () {
+      var $this = $(this);
+      var data = $this.data(NAMESPACE);
+      var options;
+      var fn;
+
+      if (!data) {
+        if (/destroy/.test(option)) {
+          return;
+        }
+
+        options = $.extend({}, $this.data(), $.isPlainObject(option) && option);
+        $this.data(NAMESPACE, (data = new Distpicker(this, options)));
+      }
+
+      if (typeof option === 'string' && $.isFunction(fn = data[option])) {
+        fn.apply(data, args);
+      }
+    });
+  };
+
+  $.fn.distpicker.Constructor = Distpicker;
+  $.fn.distpicker.setDefaults = Distpicker.setDefaults;
+
+  // No conflict
+  $.fn.distpicker.noConflict = function () {
+    $.fn.distpicker = Distpicker.other;
+    return this;
+  };
+
+  $(function () {
+    $('[data-toggle="distpicker"]').distpicker();
+  });
+});