支持时间查询(操作日志,登录日志,调度日志)
|
@ -2,6 +2,8 @@ package com.ruoyi.framework.web.domain;
|
|||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.Map;
|
||||
|
||||
import com.ruoyi.common.utils.DateUtils;
|
||||
|
||||
/**
|
||||
|
@ -12,19 +14,28 @@ import com.ruoyi.common.utils.DateUtils;
|
|||
public class BaseEntity implements Serializable
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** 搜索值 */
|
||||
private String searchValue;
|
||||
|
||||
/** 创建者 */
|
||||
private String createBy;
|
||||
|
||||
/** 创建时间 */
|
||||
private Date createTime;
|
||||
|
||||
/** 更新者 */
|
||||
private String updateBy;
|
||||
|
||||
/** 更新时间 */
|
||||
private Date updateTime;
|
||||
|
||||
/** 备注 */
|
||||
private String remark;
|
||||
|
||||
/** 请求参数 */
|
||||
private Map<String, Object> reqParams;
|
||||
|
||||
public String getSearchValue()
|
||||
{
|
||||
return searchValue;
|
||||
|
@ -95,4 +106,14 @@ public class BaseEntity implements Serializable
|
|||
this.remark = remark;
|
||||
}
|
||||
|
||||
public Map<String, Object> getReqParams()
|
||||
{
|
||||
return reqParams;
|
||||
}
|
||||
|
||||
public void setReqParams(Map<String, Object> reqParams)
|
||||
{
|
||||
this.reqParams = reqParams;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -32,6 +32,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<if test="methodName != null and methodName != ''">
|
||||
AND method_name like concat('%', #{methodName}, '%')
|
||||
</if>
|
||||
<if test="reqParams != null and reqParams.beginTime != ''"><!-- 开始时间检索 -->
|
||||
and date_format(create_time,'%y%m%d') >= date_format(#{reqParams.beginTime},'%y%m%d')
|
||||
</if>
|
||||
<if test="reqParams != null and reqParams.endTime != ''"><!-- 结束时间检索 -->
|
||||
and date_format(create_time,'%y%m%d') <= date_format(#{reqParams.endTime},'%y%m%d')
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
|
|
@ -33,6 +33,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<if test="loginName != null and loginName != ''">
|
||||
AND login_name like concat('%', #{loginName}, '%')
|
||||
</if>
|
||||
<if test="reqParams != null and reqParams.beginTime != ''"><!-- 开始时间检索 -->
|
||||
and date_format(login_time,'%y%m%d') >= date_format(#{reqParams.beginTime},'%y%m%d')
|
||||
</if>
|
||||
<if test="reqParams != null and reqParams.endTime != ''"><!-- 结束时间检索 -->
|
||||
and date_format(login_time,'%y%m%d') <= date_format(#{reqParams.endTime},'%y%m%d')
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
|
|
@ -38,6 +38,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<if test="operName != null and operName != ''">
|
||||
AND oper_name like concat('%', #{operName}, '%')
|
||||
</if>
|
||||
<if test="reqParams != null and reqParams.beginTime != ''"><!-- 开始时间检索 -->
|
||||
and date_format(oper_time,'%y%m%d') >= date_format(#{reqParams.beginTime},'%y%m%d')
|
||||
</if>
|
||||
<if test="reqParams != null and reqParams.endTime != ''"><!-- 结束时间检索 -->
|
||||
and date_format(oper_time,'%y%m%d') <= date_format(#{reqParams.endTime},'%y%m%d')
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
/*! layer弹层组件拓展类 */
|
||||
;!function(){layer.use("skin/layer.ext.css",function(){layer.layui_layer_extendlayerextjs=!0});var a=layer.cache||{},b=function(b){return a.skin?" "+a.skin+" "+a.skin+"-"+b:""};layer.prompt=function(a,c){a=a||{},"function"==typeof a&&(c=a);var d,e=2==a.formType?'<textarea class="layui-layer-input">'+(a.value||"")+"</textarea>":function(){return'<input type="'+(1==a.formType?"password":"text")+'" class="layui-layer-input" value="'+(a.value||"")+'">'}();return layer.open($.extend({btn:["确定","取消"],content:e,skin:"layui-layer-prompt"+b("prompt"),success:function(a){d=a.find(".layui-layer-input"),d.focus()},yes:function(b){var e=d.val();""===e?d.focus():e.length>(a.maxlength||500)?layer.tips("最多输入"+(a.maxlength||500)+"个字数",d,{tips:1}):c&&c(e,b,d)}},a))},layer.tab=function(a){a=a||{};var c=a.tab||{};return layer.open($.extend({type:1,skin:"layui-layer-tab"+b("tab"),title:function(){var a=c.length,b=1,d="";if(a>0)for(d='<span class="layui-layer-tabnow">'+c[0].title+"</span>";a>b;b++)d+="<span>"+c[b].title+"</span>";return d}(),content:'<ul class="layui-layer-tabmain">'+function(){var a=c.length,b=1,d="";if(a>0)for(d='<li class="layui-layer-tabli xubox_tab_layer">'+(c[0].content||"no content")+"</li>";a>b;b++)d+='<li class="layui-layer-tabli">'+(c[b].content||"no content")+"</li>";return d}()+"</ul>",success:function(a){var b=a.find(".layui-layer-title").children(),c=a.find(".layui-layer-tabmain").children();b.on("mousedown",function(a){a.stopPropagation?a.stopPropagation():a.cancelBubble=!0;var b=$(this),d=b.index();b.addClass("layui-layer-tabnow").siblings().removeClass("layui-layer-tabnow"),c.eq(d).show().siblings().hide()})}},a))},layer.photos=function(a,c,d){function e(a,b,c){var d=new Image;d.onload=function(){d.onload=null,b(d)},d.onerror=function(a){d.onerror=null,c(a)},d.src=a}var f={};if(a=a||{},a.photos){var g=a.photos.constructor===Object,h=g?a.photos:{},i=h.data||[],j=h.start||0;if(f.imgIndex=j+1,g){if(0===i.length)return void layer.msg("没有图片")}else{var k=$(a.photos),l=k.find(a.img||"img");if(0===l.length)return;if(c||k.find(h.img||"img").each(function(b){var c=$(this);i.push({alt:c.attr("alt"),pid:c.attr("layer-pid"),src:c.attr("layer-src")||c.attr("src"),thumb:c.attr("src")}),c.on("click",function(){layer.photos($.extend(a,{photos:{start:b,data:i,tab:a.tab},full:a.full}),!0)})}),!c)return}f.imgprev=function(a){f.imgIndex--,f.imgIndex<1&&(f.imgIndex=i.length),f.tabimg(a)},f.imgnext=function(a,b){f.imgIndex++,f.imgIndex>i.length&&(f.imgIndex=1,b)||f.tabimg(a)},f.keyup=function(a){if(!f.end){var b=a.keyCode;a.preventDefault(),37===b?f.imgprev(!0):39===b?f.imgnext(!0):27===b&&layer.close(f.index)}},f.tabimg=function(b){i.length<=1||(h.start=f.imgIndex-1,layer.close(f.index),layer.photos(a,!0,b))},f.event=function(){f.bigimg.hover(function(){f.imgsee.show()},function(){f.imgsee.hide()}),f.bigimg.find(".layui-layer-imgprev").on("click",function(a){a.preventDefault(),f.imgprev()}),f.bigimg.find(".layui-layer-imgnext").on("click",function(a){a.preventDefault(),f.imgnext()}),$(document).on("keyup",f.keyup)},f.loadi=layer.load(1,{shade:"shade"in a?!1:.9,scrollbar:!1}),e(i[j].src,function(c){layer.close(f.loadi),f.index=layer.open($.extend({type:1,area:function(){var b=[c.width,c.height],d=[$(window).width()-100,$(window).height()-100];return!a.full&&b[0]>d[0]&&(b[0]=d[0],b[1]=b[0]*d[1]/b[0]),[b[0]+"px",b[1]+"px"]}(),title:!1,shade:.9,shadeClose:!0,closeBtn:!1,move:".layui-layer-phimg img",moveType:1,scrollbar:!1,moveOut:!0,shift:5*Math.random()|0,skin:"layui-layer-photos"+b("photos"),content:'<div class="layui-layer-phimg"><img src="'+i[j].src+'" alt="'+(i[j].alt||"")+'" layer-pid="'+i[j].pid+'"><div class="layui-layer-imgsee">'+(i.length>1?'<span class="layui-layer-imguide"><a href="javascript:;" class="layui-layer-iconext layui-layer-imgprev"></a><a href="javascript:;" class="layui-layer-iconext layui-layer-imgnext"></a></span>':"")+'<div class="layui-layer-imgbar" style="display:'+(d?"block":"")+'"><span class="layui-layer-imgtit"><a href="javascript:;">'+(i[j].alt||"")+"</a><em>"+f.imgIndex+"/"+i.length+"</em></span></div></div></div>",success:function(b,c){f.bigimg=b.find(".layui-layer-phimg"),f.imgsee=b.find(".layui-layer-imguide,.layui-layer-imgbar"),f.event(b),a.tab&&a.tab(i[j],b)},end:function(){f.end=!0,$(document).off("keyup",f.keyup)}},a))},function(){layer.close(f.loadi),layer.msg("当前图片地址异常<br>是否继续查看下一张?",{time:3e4,btn:["下一张","不看了"],yes:function(){i.length>1&&f.imgnext(!0,!0)}})})}}}();
|
|
@ -0,0 +1,75 @@
|
|||
/**
|
||||
|
||||
@Name: laydate 核心样式
|
||||
@Author:贤心
|
||||
@Site:http://sentsin.com/layui/laydate
|
||||
|
||||
**/
|
||||
|
||||
html{_background-image:url(about:blank); _background-attachment:fixed;}
|
||||
.layer-date{display: inline-block!important;vertical-align:text-top;max-width:240px;}
|
||||
.laydate_body .laydate_box, .laydate_body .laydate_box *{margin:0; padding:0;}
|
||||
.laydate-icon,
|
||||
.laydate-icon-default,
|
||||
.laydate-icon-danlan,
|
||||
.laydate-icon-dahong,
|
||||
.laydate-icon-molv{height:34px; padding-right:20px;min-width:34px;vertical-align: text-top;border:1px solid #C6C6C6; background-repeat:no-repeat; background-position:right center; background-color:#fff; outline:0;}
|
||||
.laydate-icon-default{ background-image:url(../skins/default/icon.png)}
|
||||
.laydate-icon-danlan{border:1px solid #B1D2EC; background-image:url(../skins/danlan/icon.png)}
|
||||
.laydate-icon-dahong{background-image:url(../skins/dahong/icon.png)}
|
||||
.laydate-icon-molv{background-image:url(../skins/molv/icon.png)}
|
||||
.laydate_body .laydate_box{width:240px; font:12px '\5B8B\4F53'; z-index:99999999; *margin:-2px 0 0 -2px; *overflow:hidden; _margin:0; _position:absolute!important; background-color:#fff;}
|
||||
.laydate_body .laydate_box li{list-style:none;}
|
||||
.laydate_body .laydate_box .laydate_void{cursor:text!important;}
|
||||
.laydate_body .laydate_box a, .laydate_body .laydate_box a:hover{text-decoration:none; blr:expression(this.onFocus=this.blur()); cursor:pointer;}
|
||||
.laydate_body .laydate_box a:hover{text-decoration:none;}
|
||||
.laydate_body .laydate_box cite, .laydate_body .laydate_box label{position:absolute; width:0; height:0; border-width:5px; border-style:dashed; border-color:transparent; overflow:hidden; cursor:pointer;}
|
||||
.laydate_body .laydate_box .laydate_yms, .laydate_body .laydate_box .laydate_time{display:none;}
|
||||
.laydate_body .laydate_box .laydate_show{display:block;}
|
||||
.laydate_body .laydate_box input{outline:0; font-size:14px; background-color:#fff;}
|
||||
.laydate_body .laydate_top{position:relative; height:26px; padding:5px; *width:100%; z-index:99;}
|
||||
.laydate_body .laydate_ym{position:relative; float:left; height:24px; cursor:pointer;}
|
||||
.laydate_body .laydate_ym input{float:left; height:24px; line-height:24px; text-align:center; border:none; cursor:pointer;}
|
||||
.laydate_body .laydate_ym .laydate_yms{position:absolute; left: -1px; top: 24px; height:181px;}
|
||||
.laydate_body .laydate_y{width:121px;}
|
||||
.laydate_body .laydate_y input{width:64px; margin-right:15px;}
|
||||
.laydate_body .laydate_y .laydate_yms{width:121px; text-align:center;}
|
||||
.laydate_body .laydate_y .laydate_yms a{position:relative; display:block; height:20px;}
|
||||
.laydate_body .laydate_y .laydate_yms ul{height:139px; padding:0; *overflow:hidden;}
|
||||
.laydate_body .laydate_y .laydate_yms ul li{float:left; width:60px; height:20px; line-height: 20px; text-overflow: ellipsis; overflow: hidden; white-space: nowrap;}
|
||||
.laydate_box *{box-sizing:content-box!important;}
|
||||
.laydate_body .laydate_m{width:99px;float: right;margin-right:-2px;}
|
||||
.laydate_body .laydate_m .laydate_yms{width:99px; padding:0;}
|
||||
.laydate_body .laydate_m input{width:42px; margin-right:15px;}
|
||||
.laydate_body .laydate_m .laydate_yms span{display:block; float:left; width:42px; margin: 5px 0 0 5px; line-height:24px; text-align:center; _display:inline;}
|
||||
.laydate_body .laydate_choose{display:block; float:left; position:relative; width:20px; height:24px;}
|
||||
.laydate_body .laydate_choose cite, .laydate_body .laydate_tab cite{left:50%; top:50%;}
|
||||
.laydate_body .laydate_chtop cite{margin:-7px 0 0 -5px; border-bottom-style:solid;}
|
||||
.laydate_body .laydate_chdown cite, .laydate_body .laydate_ym label{top:50%; margin:-2px 0 0 -5px; border-top-style:solid;}
|
||||
.laydate_body .laydate_chprev cite{margin:-5px 0 0 -7px;}
|
||||
.laydate_body .laydate_chnext cite{margin:-5px 0 0 -2px;}
|
||||
.laydate_body .laydate_ym label{right:28px;}
|
||||
.laydate_body .laydate_table{ width:230px; margin:0 5px; border-collapse:collapse; border-spacing:0px; }
|
||||
.laydate_body .laydate_table td{width:31px; height:19px; line-height:19px; text-align: center; cursor:pointer; font-size: 12px;}
|
||||
.laydate_body .laydate_table thead{height:22px; line-height:22px;}
|
||||
.laydate_body .laydate_table thead th{font-weight:400; font-size:12px; text-align:center;}
|
||||
.laydate_body .laydate_bottom{position:relative; height:22px; line-height:20px; padding:5px; font-size:12px;}
|
||||
.laydate_body .laydate_bottom #laydate_hms{position: relative; z-index: 1; float:left; }
|
||||
.laydate_body .laydate_time{ position:absolute; left:5px; bottom: 26px; width:129px; height:125px; *overflow:hidden;}
|
||||
.laydate_body .laydate_time .laydate_hmsno{ padding:5px 0 0 5px;}
|
||||
.laydate_body .laydate_time .laydate_hmsno span{display:block; float:left; width:24px; height:19px; line-height:19px; text-align:center; cursor:pointer; *margin-bottom:-5px;}
|
||||
.laydate_body .laydate_time1{width:228px; height:154px;}
|
||||
.laydate_body .laydate_time1 .laydate_hmsno{padding: 6px 0 0 8px;}
|
||||
.laydate_body .laydate_time1 .laydate_hmsno span{width:21px; height:20px; line-height:20px;}
|
||||
.laydate_body .laydate_msg{left:49px; bottom:67px; width:141px; height:auto; overflow: hidden;}
|
||||
.laydate_body .laydate_msg p{padding:5px 10px;}
|
||||
.laydate_body .laydate_bottom li{float:left; height:20px; line-height:20px; border-right:none; font-weight:900;}
|
||||
.laydate_body .laydate_bottom .laydate_sj{width:33px; text-align:center; font-weight:400;}
|
||||
.laydate_body .laydate_bottom input{float:left; width:21px; height:20px; line-height:20px; border:none; text-align:center; cursor:pointer; font-size:12px; font-weight:400;}
|
||||
.laydate_body .laydate_bottom .laydte_hsmtex{height:20px; line-height:20px; text-align:center;}
|
||||
.laydate_body .laydate_bottom .laydte_hsmtex span{position:absolute; width:20px; top:0; right:0px; cursor:pointer;}
|
||||
.laydate_body .laydate_bottom .laydte_hsmtex span:hover{font-size:14px;}
|
||||
.laydate_body .laydate_bottom .laydate_btn{position:absolute; right:5px; top:5px;}
|
||||
.laydate_body .laydate_bottom .laydate_btn a{float:left; height:20px; padding:0 6px; _padding:0 5px;}
|
||||
.laydate_body .laydate_bottom .laydate_v{position:absolute; left:10px; top:6px; font-family:Courier; z-index:0;}
|
||||
|
After Width: | Height: | Size: 309 B |
|
@ -0,0 +1,59 @@
|
|||
/**
|
||||
|
||||
@Name: laydate皮肤:墨绿
|
||||
@Author:贤心
|
||||
@Site:http://sentsin.com/layui/laydate
|
||||
|
||||
**/
|
||||
|
||||
.laydate-icon{border:1px solid #ccc; background-image:url(icon.png)}
|
||||
|
||||
.laydate_body .laydate_bottom #laydate_hms,
|
||||
.laydate_body .laydate_time{border:1px solid #ccc;}
|
||||
|
||||
.laydate_body .laydate_box,
|
||||
.laydate_body .laydate_ym .laydate_yms,
|
||||
.laydate_body .laydate_time{box-shadow: 2px 2px 5px rgba(0,0,0,.1);}
|
||||
|
||||
.laydate_body .laydate_box{border-top:none; border-bottom:none; background-color:#fff; color:#00625A;}
|
||||
.laydate_body .laydate_box input{background:none!important; color:#fff;}
|
||||
.laydate_body .laydate_box .laydate_void{color:#00E8D7!important;}
|
||||
.laydate_body .laydate_box a, .laydate_body .laydate_box a:hover{color:#00625A;}
|
||||
.laydate_body .laydate_box a:hover{color:#666;}
|
||||
.laydate_body .laydate_click{background-color:#009F95!important; color:#fff!important;}
|
||||
.laydate_body .laydate_top{border-top:1px solid #009F95; background-color:#009F95}
|
||||
.laydate_body .laydate_ym{border:1px solid #009F95; background-color:#009F95;}
|
||||
.laydate_body .laydate_ym .laydate_yms{border:1px solid #009F95; background-color:#009F95; color:#fff;}
|
||||
.laydate_body .laydate_y .laydate_yms a{border-bottom:1px solid #009F95;}
|
||||
.laydate_body .laydate_y .laydate_yms .laydate_chdown{border-top:1px solid #009F95; border-bottom:none;}
|
||||
.laydate_body .laydate_choose{border-left:1px solid #009F95;}
|
||||
.laydate_body .laydate_chprev{border-left:none; border-right:1px solid #009F95;}
|
||||
.laydate_body .laydate_choose:hover,
|
||||
.laydate_body .laydate_y .laydate_yms a:hover{background-color:#00C1B3;}
|
||||
.laydate_body .laydate_chtop cite{border-bottom-color:#fff;}
|
||||
.laydate_body .laydate_chdown cite, .laydate_body .laydate_ym label{border-top-color:#fff;}
|
||||
.laydate_body .laydate_chprev cite{border-right-style:solid; border-right-color:#fff;}
|
||||
.laydate_body .laydate_chnext cite{border-left-style:solid; border-left-color:#fff;}
|
||||
.laydate_body .laydate_table{width: 240px!important; margin: 0!important; border:1px solid #ccc; border-top:none; border-bottom:none;}
|
||||
.laydate_body .laydate_table td{border:none; height:21px!important; line-height:21px!important; background-color:#fff; color:#00625A;}
|
||||
.laydate_body .laydate_table .laydate_nothis{color:#999;}
|
||||
.laydate_body .laydate_table thead{border-bottom:1px solid #ccc; height:21px!important; line-height:21px!important;}
|
||||
.laydate_body .laydate_table thead th{}
|
||||
.laydate_body .laydate_bottom{border:1px solid #ccc; border-top:none;}
|
||||
.laydate_body .laydate_bottom #laydate_hms{background-color:#fff;}
|
||||
.laydate_body .laydate_time{background-color:#fff;}
|
||||
.laydate_body .laydate_time1{width: 226px!important; height: 152px!important;}
|
||||
.laydate_body .laydate_bottom .laydate_sj{width:31px!important; border-right:1px solid #ccc; background-color:#fff;}
|
||||
.laydate_body .laydate_bottom input{background-color:#fff; color:#00625A;}
|
||||
.laydate_body .laydate_bottom .laydte_hsmtex{border-bottom:1px solid #ccc;}
|
||||
.laydate_body .laydate_bottom .laydate_btn{border-right:1px solid #ccc;}
|
||||
.laydate_body .laydate_bottom .laydate_v{color:#999}
|
||||
.laydate_body .laydate_bottom .laydate_btn a{border: 1px solid #ccc; border-right:none; background-color:#fff;}
|
||||
.laydate_body .laydate_bottom .laydate_btn a:hover{background-color:#F6F6F6; color:#00625A;}
|
||||
|
||||
.laydate_body .laydate_m .laydate_yms span:hover,
|
||||
.laydate_body .laydate_time .laydate_hmsno span:hover,
|
||||
.laydate_body .laydate_y .laydate_yms ul li:hover,
|
||||
.laydate_body .laydate_table td:hover{background-color:#00C1B3; color:#fff;}
|
||||
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
{
|
||||
"status": 1,
|
||||
"msg": "ok",
|
||||
"data": [
|
||||
{
|
||||
"id": "100001",
|
||||
"name": "Beaut-zihan",
|
||||
"time": "10:23",
|
||||
"face": "img/a1.jpg"
|
||||
},
|
||||
{
|
||||
"id": "100002",
|
||||
"name": "慕容晓晓",
|
||||
"time": "昨天",
|
||||
"face": "img/a2.jpg"
|
||||
},
|
||||
{
|
||||
"id": "1000033",
|
||||
"name": "乔峰",
|
||||
"time": "2014-4.22",
|
||||
"face": "img/a3.jpg"
|
||||
},
|
||||
{
|
||||
"id": "10000333",
|
||||
"name": "高圆圆",
|
||||
"time": "2014-4.21",
|
||||
"face": "img/a4.jpg"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,107 @@
|
|||
{
|
||||
"status": 1,
|
||||
"msg": "ok",
|
||||
"data": [
|
||||
{
|
||||
"name": "销售部",
|
||||
"nums": 36,
|
||||
"id": 1,
|
||||
"item": [
|
||||
{
|
||||
"id": "100001",
|
||||
"name": "郭敬明",
|
||||
"face": "img/a5.jpg"
|
||||
},
|
||||
{
|
||||
"id": "100002",
|
||||
"name": "作家崔成浩",
|
||||
"face": "img/a6.jpg"
|
||||
},
|
||||
{
|
||||
"id": "1000022",
|
||||
"name": "韩寒",
|
||||
"face": "img/a7.jpg"
|
||||
},
|
||||
{
|
||||
"id": "10000222",
|
||||
"name": "范爷",
|
||||
"face": "img/a8.jpg"
|
||||
},
|
||||
{
|
||||
"id": "100002222",
|
||||
"name": "小马哥",
|
||||
"face": "img/a9.jpg"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "大学同窗",
|
||||
"nums": 16,
|
||||
"id": 2,
|
||||
"item": [
|
||||
{
|
||||
"id": "1000033",
|
||||
"name": "苏醒",
|
||||
"face": "img/a9.jpg"
|
||||
},
|
||||
{
|
||||
"id": "10000333",
|
||||
"name": "马云",
|
||||
"face": "img/a8.jpg"
|
||||
},
|
||||
{
|
||||
"id": "100003",
|
||||
"name": "鬼脚七",
|
||||
"face": "img/a7.jpg"
|
||||
},
|
||||
{
|
||||
"id": "100004",
|
||||
"name": "谢楠",
|
||||
"face": "img/a6.jpg"
|
||||
},
|
||||
{
|
||||
"id": "100005",
|
||||
"name": "徐峥",
|
||||
"face": "img/a5.jpg"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "H+后台主题",
|
||||
"nums": 38,
|
||||
"id": 3,
|
||||
"item": [
|
||||
{
|
||||
"id": "100006",
|
||||
"name": "柏雪近在它香",
|
||||
"face": "img/a4.jpg"
|
||||
},
|
||||
{
|
||||
"id": "100007",
|
||||
"name": "罗昌平",
|
||||
"face": "img/a3.jpg"
|
||||
},
|
||||
{
|
||||
"id": "100008",
|
||||
"name": "Crystal影子",
|
||||
"face": "img/a2.jpg"
|
||||
},
|
||||
{
|
||||
"id": "100009",
|
||||
"name": "艺小想",
|
||||
"face": "img/a1.jpg"
|
||||
},
|
||||
{
|
||||
"id": "100010",
|
||||
"name": "天猫",
|
||||
"face": "img/a8.jpg"
|
||||
},
|
||||
{
|
||||
"id": "100011",
|
||||
"name": "张泉灵",
|
||||
"face": "img/a7.jpg"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,57 @@
|
|||
{
|
||||
"status": 1,
|
||||
"msg": "ok",
|
||||
"data": [
|
||||
{
|
||||
"name": "H+交流群",
|
||||
"nums": 36,
|
||||
"id": 1,
|
||||
"item": [
|
||||
{
|
||||
"id": "101",
|
||||
"name": "H+ Bug反馈",
|
||||
"face": "http://tp2.sinaimg.cn/2211874245/180/40050524279/0"
|
||||
},
|
||||
{
|
||||
"id": "102",
|
||||
"name": "H+ 技术交流",
|
||||
"face": "http://tp3.sinaimg.cn/1820711170/180/1286855219/1"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Bootstrap",
|
||||
"nums": 16,
|
||||
"id": 2,
|
||||
"item": [
|
||||
{
|
||||
"id": "103",
|
||||
"name": "Bootstrap中文",
|
||||
"face": "http://tp2.sinaimg.cn/2211874245/180/40050524279/0"
|
||||
},
|
||||
{
|
||||
"id": "104",
|
||||
"name": "Bootstrap资源",
|
||||
"face": "http://tp3.sinaimg.cn/1820711170/180/1286855219/1"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "WebApp",
|
||||
"nums": 106,
|
||||
"id": 3,
|
||||
"item": [
|
||||
{
|
||||
"id": "105",
|
||||
"name": "移动开发",
|
||||
"face": "http://tp2.sinaimg.cn/2211874245/180/40050524279/0"
|
||||
},
|
||||
{
|
||||
"id": "106",
|
||||
"name": "H5前言",
|
||||
"face": "http://tp3.sinaimg.cn/1820711170/180/1286855219/1"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,56 @@
|
|||
{
|
||||
"status": 1,
|
||||
"msg": "ok",
|
||||
"data": [
|
||||
{
|
||||
"id": "100001",
|
||||
"name": "無言的蒁説",
|
||||
"face": "img/a1.jpg"
|
||||
},
|
||||
{
|
||||
"id": "100002",
|
||||
"name": "婷宝奢侈品",
|
||||
"face": "img/a2.jpg"
|
||||
},
|
||||
{
|
||||
"id": "100003",
|
||||
"name": "忆恨思爱",
|
||||
"face": "img/a3.jpg"
|
||||
},
|
||||
{
|
||||
"id": "100004",
|
||||
"name": "天涯奥拓慢",
|
||||
"face": "img/a4.jpg"
|
||||
},
|
||||
{
|
||||
"id": "100005",
|
||||
"name": "雨落无声的天空",
|
||||
"face": "img/a5.jpg"
|
||||
},
|
||||
{
|
||||
"id": "100006",
|
||||
"name": "李越LycorisRadiate",
|
||||
"face": "img/a6.jpg"
|
||||
},
|
||||
{
|
||||
"id": "100007",
|
||||
"name": "冯胖妞张直丑",
|
||||
"face": "img/a7.jpg"
|
||||
},
|
||||
{
|
||||
"id": "100008",
|
||||
"name": "陈龙hmmm",
|
||||
"face": "img/a8.jpg"
|
||||
},
|
||||
{
|
||||
"id": "100009",
|
||||
"name": "别闹哥胆儿小",
|
||||
"face": "img/a9.jpg"
|
||||
},
|
||||
{
|
||||
"id": "100010",
|
||||
"name": "锅锅锅锅萌哒哒 ",
|
||||
"face": "img/a10.jpg"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,158 @@
|
|||
/*
|
||||
|
||||
@Name: layim WebIM 1.0.0
|
||||
@Author:贤心(子涵修改)
|
||||
@Date: 2014-04-25
|
||||
@Blog: http://sentsin.com
|
||||
|
||||
*/
|
||||
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,input,button,textarea,p,blockquote,th,td,form{margin:0; padding:0;}
|
||||
input,button,textarea,select,optgroup,option{font-family:inherit; font-size:inherit; font-style:inherit; font-weight:inherit; outline: 0;}
|
||||
li{list-style:none;}
|
||||
.xxim_icon, .xxim_main i, .layim_chatbox i{position:absolute;}
|
||||
.loading{background:url(loading.gif) no-repeat center center;}
|
||||
.layim_chatbox a, .layim_chatbox a:hover{color:#343434; text-decoration:none; }
|
||||
.layim_zero{position:absolute; width:0; height:0; border-style:dashed; border-color:transparent; overflow:hidden;}
|
||||
|
||||
.xxim_main{position:fixed; right:1px; bottom:1px; width:230px; border:1px solid #BEBEBE; background-color:#fff; font-size:12px; box-shadow: 0 0 10px rgba(0,0,0,.2); z-index:99999999}
|
||||
.layim_chatbox textarea{resize:none;}
|
||||
.xxim_main em, .xxim_main i, .layim_chatbox em, .layim_chatbox i{font-style:normal; font-weight:400;}
|
||||
.xxim_main h5{font-size:100%; font-weight:400;}
|
||||
|
||||
/* 搜索栏 */
|
||||
.xxim_search{position:relative; padding-left:40px; height:40px; border-bottom:1px solid #DCDCDC; background-color:#fff;}
|
||||
.xxim_search i{left:10px; top:12px; width:16px; height:16px;font-size: 16px;color:#999;}
|
||||
.xxim_search input{border:none; background:none; width: 180px; margin-top:10px; line-height:20px;}
|
||||
.xxim_search span{display:none; position:absolute; right:10px; top:10px; height:18px; line-height:18px;width:18px;text-align: center;background-color:#AFAFAF; color:#fff; cursor:pointer; border-radius:2px; font-size:12px; font-weight:900;}
|
||||
.xxim_search span:hover{background-color:#FCBE00;}
|
||||
|
||||
/* 主面板tab */
|
||||
.xxim_tabs{height:45px; border-bottom:1px solid #DBDBDB; background-color:#F4F4F4; font-size:0;}
|
||||
.xxim_tabs span{position:relative; display:inline-block; *display:inline; *zoom:1; vertical-align:top; width:76px; height:45px; border-right:1px solid #DBDBDB; cursor:pointer; font-size:12px;}
|
||||
.xxim_tabs span i{top:12px; left:50%; width:20px; margin-left:-10px; height:20px;font-size:20px;color:#ccc;}
|
||||
.xxim_tabs .xxim_tabnow{height:46px; background-color:#fff;}
|
||||
.xxim_tabs .xxim_tabnow i{color:#1ab394;}
|
||||
.xxim_tabs .xxim_latechat{border-right:none;}
|
||||
.xxim_tabs .xxim_tabfriend i{width:14px; margin-left:-7px;}
|
||||
|
||||
/* 主面板列表 */
|
||||
.xxim_list{display:none; height:350px; padding:5px 0; overflow:hidden;}
|
||||
.xxim_list:hover{ overflow-y:auto;}
|
||||
.xxim_list h5{position:relative; padding-left:32px; height:26px; line-height:26px; cursor:pointer; color:#000; font-size:0;}
|
||||
.xxim_list h5 span{display:inline-block; *display:inline; *zoom:1; vertical-align:top; max-width:140px; overflow:hidden; text-overflow: ellipsis; white-space:nowrap; font-size:12px;}
|
||||
.xxim_list h5 i{left:15px; top:8px; width:10px; height:10px;font-size:10px;color:#666;}
|
||||
.xxim_list h5 *{font-size:12px;}
|
||||
.xxim_list .xxim_chatlist{display:none;}
|
||||
.xxim_list .xxim_liston h5 i{width:8px; height:7px;}
|
||||
.xxim_list .xxim_liston .xxim_chatlist{display:block;}
|
||||
.xxim_chatlist {}
|
||||
.xxim_chatlist li{position:relative; height:40px; line-height:30px; padding:5px 10px; font-size:0; cursor:pointer;}
|
||||
.xxim_chatlist li:hover{background-color:#F2F4F8}
|
||||
.xxim_chatlist li *{display:inline-block; *display:inline; *zoom:1; vertical-align:top; font-size:12px;}
|
||||
.xxim_chatlist li span{padding-left:10px; max-width:120px; overflow:hidden; text-overflow: ellipsis; white-space:nowrap;}
|
||||
.xxim_chatlist li img{width:30px; height:30px;}
|
||||
.xxim_chatlist li .xxim_time{position:absolute; right:10px; color:#999;}
|
||||
.xxim_list .xxim_errormsg{text-align:center; margin:50px 0; color:#999;}
|
||||
.xxim_searchmain{position:absolute; width:230px; height:491px; left:0; top:41px; z-index:10; background-color:#fff;}
|
||||
|
||||
/* 主面板底部 */
|
||||
.xxim_bottom{height:34px; border-top:1px solid #D0DCF3; background-color:#F2F4F8;}
|
||||
.xxim_expend{border-left:1px solid #D0DCF3; border-bottom:1px solid #D0DCF3;}
|
||||
.xxim_bottom li{position:relative; width:50px; height:32px; line-height:32px; float:left; border-right:1px solid #D0DCF3; cursor:pointer;}
|
||||
.xxim_bottom li i{ top:9px;}
|
||||
.xxim_bottom .xxim_hide{border-right:none;}
|
||||
.xxim_bottom .xxim_online{width:72px; padding-left:35px;}
|
||||
.xxim_online i{left:13px; width:14px; height:14px;font-size:14px;color:#FFA00A;}
|
||||
.xxim_setonline{display:none; position:absolute; left:-79px; bottom:-1px; border:1px solid #DCDCDC; background-color:#fff;}
|
||||
.xxim_setonline span{position:relative; display:block; width:32px;width: 77px; padding:0 10px 0 35px;}
|
||||
.xxim_setonline span:hover{background-color:#F2F4F8;}
|
||||
.xxim_offline .xxim_nowstate, .xxim_setoffline i{color:#999;}
|
||||
.xxim_mymsg i{left:18px; width:14px; height:14px;font-size: 14px;}
|
||||
.xxim_mymsg a{position:absolute; left:0; top:0; width:50px; height:32px;}
|
||||
.xxim_seter i{left:18px; width:14px; height:14px;font-size: 14px;}
|
||||
.xxim_hide i{left:18px; width:14px; height:14px;font-size: 14px;}
|
||||
.xxim_show i{}
|
||||
.xxim_bottom .xxim_on{position:absolute; left:-17px; top:50%; width:16px;text-align: center;color:#999;line-height: 97px; height:97px; margin-top:-49px;border:solid 1px #BEBEBE;border-right: none; background:#F2F4F8;}
|
||||
.xxim_bottom .xxim_off{}
|
||||
|
||||
/* 聊天窗口 */
|
||||
.layim_chatbox{width:620px; border:1px solid #BEBEBE; background-color:#fff; font-size:12px; box-shadow: 0 0 10px rgba(0,0,0,.2);}
|
||||
.layim_chatbox h6{position:relative; height:40px; border-bottom:1px solid #D9D9D9; background-color:#FCFDFA}
|
||||
.layim_move{position:absolute; height:40px; width: 620px; z-index:0;}
|
||||
.layim_face{position:absolute; bottom:-1px; left:10px; width:64px; height:64px;padding:1px;background: #fff; border:1px solid #ccc;}
|
||||
.layim_face img{width:60px; height:60px;}
|
||||
.layim_names{position:absolute; left:90px; max-width:300px; line-height:40px; color:#000; overflow:hidden; text-overflow: ellipsis; white-space:nowrap; font-size:14px;}
|
||||
.layim_rightbtn{position:absolute; right:15px; top:12px; font-size:20px;}
|
||||
.layim_rightbtn i{position:relative; width:16px; height:16px; display:inline-block; *display:inline; *zoom:1; vertical-align:top; cursor:pointer; transition: all .3s;text-align: center;line-height: 16px;}
|
||||
.layim_rightbtn .layim_close{background: #FFA00A;color:#fff;}
|
||||
.layim_rightbtn .layim_close:hover{-webkit-transform: rotate(180deg); -moz-transform: rotate(180deg);}
|
||||
.layim_rightbtn .layer_setmin{margin-right:5px;color:#999;font-size:14px;font-weight: 700;}
|
||||
.layim_chat, .layim_chatmore,.layim_groups{height:450px; overflow:hidden;}
|
||||
.layim_chatmore{display:none; float:left; width:135px; border-right:1px solid #BEBEBE; background-color:#F2F2F2}
|
||||
.layim_chatlist li, .layim_groups li{position:relative; height:30px; line-height:30px; padding:0 10px; overflow:hidden; text-overflow: ellipsis; white-space:nowrap; cursor:pointer;}
|
||||
.layim_chatlist li{padding:0 20px 0 10px;}
|
||||
.layim_chatlist li:hover{background-color:#E3E3E3;}
|
||||
.layim_chatlist li span{display:inline-block; *display:inline; *zoom:1; vertical-align:top; width:90px; overflow:hidden; text-overflow: ellipsis; white-space:nowrap;}
|
||||
.layim_chatlist li em{display:none; position:absolute; top:6px; right:10px; height:18px; line-height:18px;width:18px;text-align: center;font-size:14px;font-weight:900; border-radius:3px;}
|
||||
.layim_chatlist li em:hover{background-color: #FCBE00; color:#fff;}
|
||||
.layim_chatlist .layim_chatnow,.layim_chatlist .layim_chatnow:hover{/*border-top:1px solid #D9D9D9; border-bottom:1px solid #D9D9D9;*/ background-color:#fff;}
|
||||
.layim_chat{}
|
||||
.layim_chatarea{height:280px;}
|
||||
.layim_chatview{display:none; height:280px; overflow:hidden;}
|
||||
.layim_chatmore:hover, .layim_groups:hover, .layim_chatview:hover{overflow-y:auto;}
|
||||
.layim_chatview li{margin-bottom:10px; clear:both; *zoom:1;}
|
||||
.layim_chatview li:after{content:'\20'; clear:both; *zoom:1; display:block; height:0;}
|
||||
|
||||
.layim_chatthis{display:block;}
|
||||
.layim_chatuser{float:left; padding:15px; font-size:0;}
|
||||
.layim_chatuser *{display:inline-block; *display:inline; *zoom:1; vertical-align:top; line-height:30px; font-size:12px; padding-right:10px;}
|
||||
.layim_chatuser img{width:30px; height:30px;padding-right: 0;margin-right: 15px;}
|
||||
.layim_chatuser .layim_chatname{max-width:230px; overflow:hidden; text-overflow: ellipsis; white-space:nowrap;}
|
||||
.layim_chatuser .layim_chattime{color:#999; padding-left:10px;}
|
||||
.layim_chatsay{position:relative; float:left; margin:0 15px; padding:10px; line-height:20px; background-color:#F3F3F3; border-radius:3px; clear:both;}
|
||||
.layim_chatsay .layim_zero{left:5px; top:-8px; border-width:8px; border-right-style:solid; border-right-color:#F3F3F3;}
|
||||
.layim_chateme .layim_chatuser{float:right;}
|
||||
.layim_chateme .layim_chatuser *{padding-right:0; padding-left:10px;}
|
||||
.layim_chateme .layim_chatuser img{margin-left:15px;padding-left: 0;}
|
||||
.layim_chateme .layim_chatsay .layim_zero{left:auto; right:10px;}
|
||||
.layim_chateme .layim_chatuser .layim_chattime{padding-left:0; padding-right:10px;}
|
||||
.layim_chateme .layim_chatsay{float:right; background-color:#EBFBE3}
|
||||
.layim_chateme .layim_zero{border-right-color:#EBFBE3;}
|
||||
.layim_groups{display:none; float:right; width:130px; border-left:1px solid #D9D9D9; background-color:#fff;}
|
||||
.layim_groups ul{display:none;}
|
||||
.layim_groups ul.layim_groupthis{display:block;}
|
||||
.layim_groups li *{display:inline-block; *display:inline; *zoom:1; vertical-align:top; margin-right:10px;}
|
||||
.layim_groups li img{width:20px; height:20px; margin-top:5px;}
|
||||
.layim_groups li span{max-width:80px; overflow:hidden; text-overflow: ellipsis; white-space:nowrap;}
|
||||
.layim_groups li:hover{background-color:#F3F3F3;}
|
||||
.layim_groups .layim_errors{text-align:center; color:#999;}
|
||||
.layim_tool{position:relative; height:35px; line-height:35px; padding-left:10px; background-color:#F3F3F3;}
|
||||
.layim_tool i{position:relative; top:10px; display:inline-block; *display:inline; *zoom:1; vertical-align:top; width:16px; height:16px; margin-right:10px; cursor:pointer;font-size:16px;color:#999;font-weight: 700;}
|
||||
.layim_tool i:hover{color:#FFA00A;}
|
||||
.layim_tool .layim_seechatlog{position:absolute; right:15px;}
|
||||
.layim_tool .layim_seechatlog i{}
|
||||
.layim_write{display:block; border:none; width:98%; height:90px; line-height:20px; margin:5px auto 0;}
|
||||
.layim_send{position:relative; height:40px; background-color:#F3F3F3;}
|
||||
.layim_sendbtn{position:absolute; height:26px; line-height:26px; right:10px; top:8px; padding:0 40px 0 20px; background-color:#FFA00A; color:#fff; border-radius:3px; cursor:pointer;}
|
||||
.layim_enter{position:absolute; right:0; border-left:1px solid #FFB94F; width:24px; height:26px;}
|
||||
.layim_enter:hover{background-color:#E68A00; border-radius:0 3px 3px 0;}
|
||||
.layim_enter .layim_zero{left:7px; top:11px; border-width:5px; border-top-style:solid; border-top-color:#FFE0B3;}
|
||||
.layim_sendtype{display:none; position:absolute; right:10px; bottom:37px; border:1px solid #D9D9D9; background-color:#fff; text-align:left;}
|
||||
.layim_sendtype span{display:block; line-height:24px; padding:0 10px 0 25px; cursor:pointer;}
|
||||
.layim_sendtype span:hover{background-color:#F3F3F3;}
|
||||
.layim_sendtype span i{left:5px;}
|
||||
|
||||
.layim_min{display:none; position:absolute; left:-190px; bottom:-1px; width:160px; height:32px; line-height:32px; padding:0 10px; overflow:hidden; text-overflow: ellipsis; white-space:nowrap; border:1px solid #ccc; box-shadow: 0 0 5px rgba(0,0,75,.2); background-color:#FCFDFA; cursor:pointer;}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,630 @@
|
|||
/*
|
||||
|
||||
@Name: layui WebIM 1.0.0
|
||||
@Author:贤心
|
||||
@Date: 2014-04-25
|
||||
@Blog: http://sentsin.com
|
||||
|
||||
*/
|
||||
|
||||
;!function(win, undefined){
|
||||
|
||||
var config = {
|
||||
msgurl: 'mailbox.html?msg=',
|
||||
chatlogurl: 'mailbox.html?user=',
|
||||
aniTime: 200,
|
||||
right: -232,
|
||||
api: {
|
||||
friend: 'js/plugins/layer/layim/data/friend.json', //好友列表接口
|
||||
group: 'js/plugins/layer/layim/data/group.json', //群组列表接口
|
||||
chatlog: 'js/plugins/layer/layim/data/chatlog.json', //聊天记录接口
|
||||
groups: 'js/plugins/layer/layim/data/groups.json', //群组成员接口
|
||||
sendurl: '' //发送消息接口
|
||||
},
|
||||
user: { //当前用户信息
|
||||
name: '游客',
|
||||
face: 'img/a1.jpg'
|
||||
},
|
||||
|
||||
//自动回复内置文案,也可动态读取数据库配置
|
||||
autoReplay: [
|
||||
'您好,我现在有事不在,一会再和您联系。',
|
||||
'你没发错吧?',
|
||||
'洗澡中,请勿打扰,偷窥请购票,个体四十,团体八折,订票电话:一般人我不告诉他!',
|
||||
'你好,我是主人的美女秘书,有什么事就跟我说吧,等他回来我会转告他的。',
|
||||
'我正在拉磨,没法招呼您,因为我们家毛驴去动物保护协会把我告了,说我剥夺它休产假的权利。',
|
||||
'<(@ ̄︶ ̄@)>',
|
||||
'你要和我说话?你真的要和我说话?你确定自己想说吗?你一定非说不可吗?那你说吧,这是自动回复。',
|
||||
'主人正在开机自检,键盘鼠标看好机会出去凉快去了,我是他的电冰箱,我打字比较慢,你慢慢说,别急……',
|
||||
'(*^__^*) 嘻嘻,是贤心吗?'
|
||||
],
|
||||
|
||||
|
||||
chating: {},
|
||||
hosts: (function(){
|
||||
var dk = location.href.match(/\:\d+/);
|
||||
dk = dk ? dk[0] : '';
|
||||
return 'http://' + document.domain + dk + '/';
|
||||
})(),
|
||||
json: function(url, data, callback, error){
|
||||
return $.ajax({
|
||||
type: 'POST',
|
||||
url: url,
|
||||
data: data,
|
||||
dataType: 'json',
|
||||
success: callback,
|
||||
error: error
|
||||
});
|
||||
},
|
||||
stopMP: function(e){
|
||||
e ? e.stopPropagation() : e.cancelBubble = true;
|
||||
}
|
||||
}, dom = [$(window), $(document), $('html'), $('body')], xxim = {};
|
||||
|
||||
//主界面tab
|
||||
xxim.tabs = function(index){
|
||||
var node = xxim.node;
|
||||
node.tabs.eq(index).addClass('xxim_tabnow').siblings().removeClass('xxim_tabnow');
|
||||
node.list.eq(index).show().siblings('.xxim_list').hide();
|
||||
if(node.list.eq(index).find('li').length === 0){
|
||||
xxim.getDates(index);
|
||||
}
|
||||
};
|
||||
|
||||
//节点
|
||||
xxim.renode = function(){
|
||||
var node = xxim.node = {
|
||||
tabs: $('#xxim_tabs>span'),
|
||||
list: $('.xxim_list'),
|
||||
online: $('.xxim_online'),
|
||||
setonline: $('.xxim_setonline'),
|
||||
onlinetex: $('#xxim_onlinetex'),
|
||||
xximon: $('#xxim_on'),
|
||||
layimFooter: $('#xxim_bottom'),
|
||||
xximHide: $('#xxim_hide'),
|
||||
xximSearch: $('#xxim_searchkey'),
|
||||
searchMian: $('#xxim_searchmain'),
|
||||
closeSearch: $('#xxim_closesearch'),
|
||||
layimMin: $('#layim_min')
|
||||
};
|
||||
};
|
||||
|
||||
//主界面缩放
|
||||
xxim.expend = function(){
|
||||
var node = xxim.node;
|
||||
if(xxim.layimNode.attr('state') !== '1'){
|
||||
xxim.layimNode.stop().animate({right: config.right}, config.aniTime, function(){
|
||||
node.xximon.addClass('xxim_off');
|
||||
try{
|
||||
localStorage.layimState = 1;
|
||||
}catch(e){}
|
||||
xxim.layimNode.attr({state: 1});
|
||||
node.layimFooter.addClass('xxim_expend').stop().animate({marginLeft: config.right}, config.aniTime/2);
|
||||
node.xximHide.addClass('xxim_show');
|
||||
});
|
||||
} else {
|
||||
xxim.layimNode.stop().animate({right: 1}, config.aniTime, function(){
|
||||
node.xximon.removeClass('xxim_off');
|
||||
try{
|
||||
localStorage.layimState = 2;
|
||||
}catch(e){}
|
||||
xxim.layimNode.removeAttr('state');
|
||||
node.layimFooter.removeClass('xxim_expend');
|
||||
node.xximHide.removeClass('xxim_show');
|
||||
});
|
||||
node.layimFooter.stop().animate({marginLeft: 0}, config.aniTime);
|
||||
}
|
||||
};
|
||||
|
||||
//初始化窗口格局
|
||||
xxim.layinit = function(){
|
||||
var node = xxim.node;
|
||||
|
||||
//主界面
|
||||
try{
|
||||
/*
|
||||
if(!localStorage.layimState){
|
||||
config.aniTime = 0;
|
||||
localStorage.layimState = 1;
|
||||
}
|
||||
*/
|
||||
if(localStorage.layimState === '1'){
|
||||
xxim.layimNode.attr({state: 1}).css({right: config.right});
|
||||
node.xximon.addClass('xxim_off');
|
||||
node.layimFooter.addClass('xxim_expend').css({marginLeft: config.right});
|
||||
node.xximHide.addClass('xxim_show');
|
||||
}
|
||||
}catch(e){
|
||||
//layer.msg(e.message, 5, -1);
|
||||
}
|
||||
};
|
||||
|
||||
//聊天窗口
|
||||
xxim.popchat = function(param){
|
||||
var node = xxim.node, log = {};
|
||||
|
||||
log.success = function(layero){
|
||||
layer.setMove();
|
||||
|
||||
xxim.chatbox = layero.find('#layim_chatbox');
|
||||
log.chatlist = xxim.chatbox.find('.layim_chatmore>ul');
|
||||
|
||||
log.chatlist.html('<li data-id="'+ param.id +'" type="'+ param.type +'" id="layim_user'+ param.type + param.id +'"><span>'+ param.name +'</span><em>×</em></li>')
|
||||
xxim.tabchat(param, xxim.chatbox);
|
||||
|
||||
//最小化聊天窗
|
||||
xxim.chatbox.find('.layer_setmin').on('click', function(){
|
||||
var indexs = layero.attr('times');
|
||||
layero.hide();
|
||||
node.layimMin.text(xxim.nowchat.name).show();
|
||||
});
|
||||
|
||||
//关闭窗口
|
||||
xxim.chatbox.find('.layim_close').on('click', function(){
|
||||
var indexs = layero.attr('times');
|
||||
layer.close(indexs);
|
||||
xxim.chatbox = null;
|
||||
config.chating = {};
|
||||
config.chatings = 0;
|
||||
});
|
||||
|
||||
//关闭某个聊天
|
||||
log.chatlist.on('mouseenter', 'li', function(){
|
||||
$(this).find('em').show();
|
||||
}).on('mouseleave', 'li', function(){
|
||||
$(this).find('em').hide();
|
||||
});
|
||||
log.chatlist.on('click', 'li em', function(e){
|
||||
var parents = $(this).parent(), dataType = parents.attr('type');
|
||||
var dataId = parents.attr('data-id'), index = parents.index();
|
||||
var chatlist = log.chatlist.find('li'), indexs;
|
||||
|
||||
config.stopMP(e);
|
||||
|
||||
delete config.chating[dataType + dataId];
|
||||
config.chatings--;
|
||||
|
||||
parents.remove();
|
||||
$('#layim_area'+ dataType + dataId).remove();
|
||||
if(dataType === 'group'){
|
||||
$('#layim_group'+ dataType + dataId).remove();
|
||||
}
|
||||
|
||||
if(parents.hasClass('layim_chatnow')){
|
||||
if(index === config.chatings){
|
||||
indexs = index - 1;
|
||||
} else {
|
||||
indexs = index + 1;
|
||||
}
|
||||
xxim.tabchat(config.chating[chatlist.eq(indexs).attr('type') + chatlist.eq(indexs).attr('data-id')]);
|
||||
}
|
||||
|
||||
if(log.chatlist.find('li').length === 1){
|
||||
log.chatlist.parent().hide();
|
||||
}
|
||||
});
|
||||
|
||||
//聊天选项卡
|
||||
log.chatlist.on('click', 'li', function(){
|
||||
var othis = $(this), dataType = othis.attr('type'), dataId = othis.attr('data-id');
|
||||
xxim.tabchat(config.chating[dataType + dataId]);
|
||||
});
|
||||
|
||||
//发送热键切换
|
||||
log.sendType = $('#layim_sendtype'), log.sendTypes = log.sendType.find('span');
|
||||
$('#layim_enter').on('click', function(e){
|
||||
config.stopMP(e);
|
||||
log.sendType.show();
|
||||
});
|
||||
log.sendTypes.on('click', function(){
|
||||
log.sendTypes.find('i').text('')
|
||||
$(this).find('i').text('√');
|
||||
});
|
||||
|
||||
xxim.transmit();
|
||||
};
|
||||
|
||||
log.html = '<div class="layim_chatbox" id="layim_chatbox">'
|
||||
+'<h6>'
|
||||
+'<span class="layim_move"></span>'
|
||||
+' <a href="'+ param.url +'" class="layim_face" target="_blank"><img src="'+ param.face +'" ></a>'
|
||||
+' <a href="'+ param.url +'" class="layim_names" target="_blank">'+ param.name +'</a>'
|
||||
+' <span class="layim_rightbtn">'
|
||||
+' <i class="layer_setmin">—</i>'
|
||||
+' <i class="layim_close">×</i>'
|
||||
+' </span>'
|
||||
+'</h6>'
|
||||
+'<div class="layim_chatmore" id="layim_chatmore">'
|
||||
+' <ul class="layim_chatlist"></ul>'
|
||||
+'</div>'
|
||||
+'<div class="layim_groups" id="layim_groups"></div>'
|
||||
+'<div class="layim_chat">'
|
||||
+' <div class="layim_chatarea" id="layim_chatarea">'
|
||||
+' <ul class="layim_chatview layim_chatthis" id="layim_area'+ param.type + param.id +'"></ul>'
|
||||
+' </div>'
|
||||
+' <div class="layim_tool">'
|
||||
+' <i class="layim_addface fa fa-meh-o" title="发送表情"></i>'
|
||||
+' <a href="javascript:;"><i class="layim_addimage fa fa-picture-o" title="上传图片"></i></a>'
|
||||
+' <a href="javascript:;"><i class="layim_addfile fa fa-paperclip" title="上传附件"></i></a>'
|
||||
+' <a href="" target="_blank" class="layim_seechatlog"><i class="fa fa-comment-o"></i>聊天记录</a>'
|
||||
+' </div>'
|
||||
+' <textarea class="layim_write" id="layim_write"></textarea>'
|
||||
+' <div class="layim_send">'
|
||||
+' <div class="layim_sendbtn" id="layim_sendbtn">发送<span class="layim_enter" id="layim_enter"><em class="layim_zero"></em></span></div>'
|
||||
+' <div class="layim_sendtype" id="layim_sendtype">'
|
||||
+' <span><i>√</i>按Enter键发送</span>'
|
||||
+' <span><i></i>按Ctrl+Enter键发送</span>'
|
||||
+' </div>'
|
||||
+' </div>'
|
||||
+'</div>'
|
||||
+'</div>';
|
||||
|
||||
if(config.chatings < 1){
|
||||
$.layer({
|
||||
type: 1,
|
||||
border: [0],
|
||||
title: false,
|
||||
shade: [0],
|
||||
area: ['620px', '493px'],
|
||||
move: '.layim_chatbox .layim_move',
|
||||
moveType: 1,
|
||||
closeBtn: false,
|
||||
offset: [(($(window).height() - 493)/2)+'px', ''],
|
||||
page: {
|
||||
html: log.html
|
||||
}, success: function(layero){
|
||||
log.success(layero);
|
||||
}
|
||||
})
|
||||
} else {
|
||||
log.chatmore = xxim.chatbox.find('#layim_chatmore');
|
||||
log.chatarea = xxim.chatbox.find('#layim_chatarea');
|
||||
|
||||
log.chatmore.show();
|
||||
|
||||
log.chatmore.find('ul>li').removeClass('layim_chatnow');
|
||||
log.chatmore.find('ul').append('<li data-id="'+ param.id +'" type="'+ param.type +'" id="layim_user'+ param.type + param.id +'" class="layim_chatnow"><span>'+ param.name +'</span><em>×</em></li>');
|
||||
|
||||
log.chatarea.find('.layim_chatview').removeClass('layim_chatthis');
|
||||
log.chatarea.append('<ul class="layim_chatview layim_chatthis" id="layim_area'+ param.type + param.id +'"></ul>');
|
||||
|
||||
xxim.tabchat(param);
|
||||
}
|
||||
|
||||
//群组
|
||||
log.chatgroup = xxim.chatbox.find('#layim_groups');
|
||||
if(param.type === 'group'){
|
||||
log.chatgroup.find('ul').removeClass('layim_groupthis');
|
||||
log.chatgroup.append('<ul class="layim_groupthis" id="layim_group'+ param.type + param.id +'"></ul>');
|
||||
xxim.getGroups(param);
|
||||
}
|
||||
//点击群员切换聊天窗
|
||||
log.chatgroup.on('click', 'ul>li', function(){
|
||||
xxim.popchatbox($(this));
|
||||
});
|
||||
};
|
||||
|
||||
//定位到某个聊天队列
|
||||
xxim.tabchat = function(param){
|
||||
var node = xxim.node, log = {}, keys = param.type + param.id;
|
||||
xxim.nowchat = param;
|
||||
|
||||
xxim.chatbox.find('#layim_user'+ keys).addClass('layim_chatnow').siblings().removeClass('layim_chatnow');
|
||||
xxim.chatbox.find('#layim_area'+ keys).addClass('layim_chatthis').siblings().removeClass('layim_chatthis');
|
||||
xxim.chatbox.find('#layim_group'+ keys).addClass('layim_groupthis').siblings().removeClass('layim_groupthis');
|
||||
|
||||
xxim.chatbox.find('.layim_face>img').attr('src', param.face);
|
||||
xxim.chatbox.find('.layim_face, .layim_names').attr('href', param.href);
|
||||
xxim.chatbox.find('.layim_names').text(param.name);
|
||||
|
||||
xxim.chatbox.find('.layim_seechatlog').attr('href', config.chatlogurl + param.id);
|
||||
|
||||
log.groups = xxim.chatbox.find('.layim_groups');
|
||||
if(param.type === 'group'){
|
||||
log.groups.show();
|
||||
} else {
|
||||
log.groups.hide();
|
||||
}
|
||||
|
||||
$('#layim_write').focus();
|
||||
|
||||
};
|
||||
|
||||
//弹出聊天窗
|
||||
xxim.popchatbox = function(othis){
|
||||
var node = xxim.node, dataId = othis.attr('data-id'), param = {
|
||||
id: dataId, //用户ID
|
||||
type: othis.attr('type'),
|
||||
name: othis.find('.xxim_onename').text(), //用户名
|
||||
face: othis.find('.xxim_oneface').attr('src'), //用户头像
|
||||
href: 'profile.html?user=' + dataId //用户主页
|
||||
}, key = param.type + dataId;
|
||||
if(!config.chating[key]){
|
||||
xxim.popchat(param);
|
||||
config.chatings++;
|
||||
} else {
|
||||
xxim.tabchat(param);
|
||||
}
|
||||
config.chating[key] = param;
|
||||
|
||||
var chatbox = $('#layim_chatbox');
|
||||
if(chatbox[0]){
|
||||
node.layimMin.hide();
|
||||
chatbox.parents('.xubox_layer').show();
|
||||
}
|
||||
};
|
||||
|
||||
//请求群员
|
||||
xxim.getGroups = function(param){
|
||||
var keys = param.type + param.id, str = '',
|
||||
groupss = xxim.chatbox.find('#layim_group'+ keys);
|
||||
groupss.addClass('loading');
|
||||
config.json(config.api.groups, {}, function(datas){
|
||||
if(datas.status === 1){
|
||||
var ii = 0, lens = datas.data.length;
|
||||
if(lens > 0){
|
||||
for(; ii < lens; ii++){
|
||||
str += '<li data-id="'+ datas.data[ii].id +'" type="one"><img src="'+ datas.data[ii].face +'" class="xxim_oneface"><span class="xxim_onename">'+ datas.data[ii].name +'</span></li>';
|
||||
}
|
||||
} else {
|
||||
str = '<li class="layim_errors">没有群员</li>';
|
||||
}
|
||||
|
||||
} else {
|
||||
str = '<li class="layim_errors">'+ datas.msg +'</li>';
|
||||
}
|
||||
groupss.removeClass('loading');
|
||||
groupss.html(str);
|
||||
}, function(){
|
||||
groupss.removeClass('loading');
|
||||
groupss.html('<li class="layim_errors">请求异常</li>');
|
||||
});
|
||||
};
|
||||
|
||||
//消息传输
|
||||
xxim.transmit = function(){
|
||||
var node = xxim.node, log = {};
|
||||
node.sendbtn = $('#layim_sendbtn');
|
||||
node.imwrite = $('#layim_write');
|
||||
|
||||
//发送
|
||||
log.send = function(){
|
||||
var data = {
|
||||
content: node.imwrite.val(),
|
||||
id: xxim.nowchat.id,
|
||||
sign_key: '', //密匙
|
||||
_: +new Date
|
||||
};
|
||||
|
||||
if(data.content.replace(/\s/g, '') === ''){
|
||||
layer.tips('说点啥呗!', '#layim_write', 2);
|
||||
node.imwrite.focus();
|
||||
} else {
|
||||
//此处皆为模拟
|
||||
var keys = xxim.nowchat.type + xxim.nowchat.id;
|
||||
|
||||
//聊天模版
|
||||
log.html = function(param, type){
|
||||
return '<li class="'+ (type === 'me' ? 'layim_chateme' : '') +'">'
|
||||
+'<div class="layim_chatuser">'
|
||||
+ function(){
|
||||
if(type === 'me'){
|
||||
return '<span class="layim_chattime">'+ param.time +'</span>'
|
||||
+'<span class="layim_chatname">'+ param.name +'</span>'
|
||||
+'<img src="'+ param.face +'" >';
|
||||
} else {
|
||||
return '<img src="'+ param.face +'" >'
|
||||
+'<span class="layim_chatname">'+ param.name +'</span>'
|
||||
+'<span class="layim_chattime">'+ param.time +'</span>';
|
||||
}
|
||||
}()
|
||||
+'</div>'
|
||||
+'<div class="layim_chatsay">'+ param.content +'<em class="layim_zero"></em></div>'
|
||||
+'</li>';
|
||||
};
|
||||
|
||||
log.imarea = xxim.chatbox.find('#layim_area'+ keys);
|
||||
|
||||
log.imarea.append(log.html({
|
||||
time: '2014-04-26 0:37',
|
||||
name: config.user.name,
|
||||
face: config.user.face,
|
||||
content: data.content
|
||||
}, 'me'));
|
||||
node.imwrite.val('').focus();
|
||||
log.imarea.scrollTop(log.imarea[0].scrollHeight);
|
||||
|
||||
setTimeout(function(){
|
||||
log.imarea.append(log.html({
|
||||
time: '2014-04-26 0:38',
|
||||
name: xxim.nowchat.name,
|
||||
face: xxim.nowchat.face,
|
||||
content: config.autoReplay[(Math.random()*config.autoReplay.length) | 0]
|
||||
}));
|
||||
log.imarea.scrollTop(log.imarea[0].scrollHeight);
|
||||
}, 500);
|
||||
|
||||
/*
|
||||
that.json(config.api.sendurl, data, function(datas){
|
||||
|
||||
});
|
||||
*/
|
||||
}
|
||||
|
||||
};
|
||||
node.sendbtn.on('click', log.send);
|
||||
|
||||
node.imwrite.keyup(function(e){
|
||||
if(e.keyCode === 13){
|
||||
log.send();
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
//事件
|
||||
xxim.event = function(){
|
||||
var node = xxim.node;
|
||||
|
||||
//主界面tab
|
||||
node.tabs.eq(0).addClass('xxim_tabnow');
|
||||
node.tabs.on('click', function(){
|
||||
var othis = $(this), index = othis.index();
|
||||
xxim.tabs(index);
|
||||
});
|
||||
|
||||
//列表展收
|
||||
node.list.on('click', 'h5', function(){
|
||||
var othis = $(this), chat = othis.siblings('.xxim_chatlist'), parentss = othis.find("i");
|
||||
if(parentss.hasClass('fa-caret-down')){
|
||||
chat.hide();
|
||||
parentss.attr('class','fa fa-caret-right');
|
||||
} else {
|
||||
chat.show();
|
||||
parentss.attr('class','fa fa-caret-down');
|
||||
}
|
||||
});
|
||||
|
||||
//设置在线隐身
|
||||
node.online.on('click', function(e){
|
||||
config.stopMP(e);
|
||||
node.setonline.show();
|
||||
});
|
||||
node.setonline.find('span').on('click', function(e){
|
||||
var index = $(this).index();
|
||||
config.stopMP(e);
|
||||
if(index === 0){
|
||||
node.onlinetex.html('在线');
|
||||
node.online.removeClass('xxim_offline');
|
||||
} else if(index === 1) {
|
||||
node.onlinetex.html('隐身');
|
||||
node.online.addClass('xxim_offline');
|
||||
}
|
||||
node.setonline.hide();
|
||||
});
|
||||
|
||||
node.xximon.on('click', xxim.expend);
|
||||
node.xximHide.on('click', xxim.expend);
|
||||
|
||||
//搜索
|
||||
node.xximSearch.keyup(function(){
|
||||
var val = $(this).val().replace(/\s/g, '');
|
||||
if(val !== ''){
|
||||
node.searchMian.show();
|
||||
node.closeSearch.show();
|
||||
//此处的搜索ajax参考xxim.getDates
|
||||
node.list.eq(3).html('<li class="xxim_errormsg">没有符合条件的结果</li>');
|
||||
} else {
|
||||
node.searchMian.hide();
|
||||
node.closeSearch.hide();
|
||||
}
|
||||
});
|
||||
node.closeSearch.on('click', function(){
|
||||
$(this).hide();
|
||||
node.searchMian.hide();
|
||||
node.xximSearch.val('').focus();
|
||||
});
|
||||
|
||||
//弹出聊天窗
|
||||
config.chatings = 0;
|
||||
node.list.on('click', '.xxim_childnode', function(){
|
||||
var othis = $(this);
|
||||
xxim.popchatbox(othis);
|
||||
});
|
||||
|
||||
//点击最小化栏
|
||||
node.layimMin.on('click', function(){
|
||||
$(this).hide();
|
||||
$('#layim_chatbox').parents('.xubox_layer').show();
|
||||
});
|
||||
|
||||
|
||||
//document事件
|
||||
dom[1].on('click', function(){
|
||||
node.setonline.hide();
|
||||
$('#layim_sendtype').hide();
|
||||
});
|
||||
};
|
||||
|
||||
//请求列表数据
|
||||
xxim.getDates = function(index){
|
||||
var api = [config.api.friend, config.api.group, config.api.chatlog],
|
||||
node = xxim.node, myf = node.list.eq(index);
|
||||
myf.addClass('loading');
|
||||
config.json(api[index], {}, function(datas){
|
||||
if(datas.status === 1){
|
||||
var i = 0, myflen = datas.data.length, str = '', item;
|
||||
if(myflen > 1){
|
||||
if(index !== 2){
|
||||
for(; i < myflen; i++){
|
||||
str += '<li data-id="'+ datas.data[i].id +'" class="xxim_parentnode">'
|
||||
+'<h5><i class="fa fa-caret-right"></i><span class="xxim_parentname">'+ datas.data[i].name +'</span><em class="xxim_nums">('+ datas.data[i].nums +')</em></h5>'
|
||||
+'<ul class="xxim_chatlist">';
|
||||
item = datas.data[i].item;
|
||||
for(var j = 0; j < item.length; j++){
|
||||
str += '<li data-id="'+ item[j].id +'" class="xxim_childnode" type="'+ (index === 0 ? 'one' : 'group') +'"><img src="'+ item[j].face +'" class="xxim_oneface"><span class="xxim_onename">'+ item[j].name +'</span></li>';
|
||||
}
|
||||
str += '</ul></li>';
|
||||
}
|
||||
} else {
|
||||
str += '<li class="xxim_liston">'
|
||||
+'<ul class="xxim_chatlist">';
|
||||
for(; i < myflen; i++){
|
||||
str += '<li data-id="'+ datas.data[i].id +'" class="xxim_childnode" type="one"><img src="'+ datas.data[i].face +'" class="xxim_oneface"><span class="xxim_onename">'+ datas.data[i].name +'</span><em class="xxim_time">'+ datas.data[i].time +'</em></li>';
|
||||
}
|
||||
str += '</ul></li>';
|
||||
}
|
||||
myf.html(str);
|
||||
} else {
|
||||
myf.html('<li class="xxim_errormsg">没有任何数据</li>');
|
||||
}
|
||||
myf.removeClass('loading');
|
||||
} else {
|
||||
myf.html('<li class="xxim_errormsg">'+ datas.msg +'</li>');
|
||||
}
|
||||
}, function(){
|
||||
myf.html('<li class="xxim_errormsg">请求失败</li>');
|
||||
myf.removeClass('loading');
|
||||
});
|
||||
};
|
||||
|
||||
//渲染骨架
|
||||
xxim.view = (function(){
|
||||
var xximNode = xxim.layimNode = $('<div id="xximmm" class="xxim_main">'
|
||||
+'<div class="xxim_top" id="xxim_top">'
|
||||
+' <div class="xxim_search"><i class="fa fa-search"></i><input id="xxim_searchkey" /><span id="xxim_closesearch">×</span></div>'
|
||||
+' <div class="xxim_tabs" id="xxim_tabs"><span class="xxim_tabfriend" title="好友"><i class="fa fa-user"></i></span><span class="xxim_tabgroup" title="群组"><i class="fa fa-users"></i></span><span class="xxim_latechat" title="最近聊天"><i class="fa fa-clock-o"></i></span></div>'
|
||||
+' <ul class="xxim_list" style="display:block"></ul>'
|
||||
+' <ul class="xxim_list"></ul>'
|
||||
+' <ul class="xxim_list"></ul>'
|
||||
+' <ul class="xxim_list xxim_searchmain" id="xxim_searchmain"></ul>'
|
||||
+'</div>'
|
||||
+'<ul class="xxim_bottom" id="xxim_bottom">'
|
||||
+'<li class="xxim_online" id="xxim_online">'
|
||||
+'<i class="xxim_nowstate fa fa-check-circle"></i><span id="xxim_onlinetex">在线</span>'
|
||||
+'<div class="xxim_setonline">'
|
||||
+'<span><i class="fa fa-check-circle"></i>在线</span>'
|
||||
+'<span class="xxim_setoffline"><i class="fa fa-check-circle"></i>隐身</span>'
|
||||
+'</div>'
|
||||
+'</li>'
|
||||
+'<li class="xxim_mymsg" id="xxim_mymsg" title="我的私信"><i class="fa fa-comment"></i><a href="'+ config.msgurl +'" target="_blank"></a></li>'
|
||||
+'<li class="xxim_seter" id="xxim_seter" title="设置">'
|
||||
+'<i class="fa fa-gear"></i>'
|
||||
+'<div>'
|
||||
|
||||
+'</div>'
|
||||
+'</li>'
|
||||
+'<li class="xxim_hide" id="xxim_hide"><i class="fa fa-exchange"></i></li>'
|
||||
+'<li id="xxim_on" class="xxim_icon xxim_on fa fa-ellipsis-v"></li>'
|
||||
+'<div class="layim_min" id="layim_min"></div>'
|
||||
+'</ul>'
|
||||
+'</div>');
|
||||
dom[3].append(xximNode);
|
||||
|
||||
xxim.renode();
|
||||
xxim.getDates(0);
|
||||
xxim.event();
|
||||
xxim.layinit();
|
||||
}());
|
||||
|
||||
}(window);
|
||||
|
After Width: | Height: | Size: 166 B |
|
@ -1,2 +1,2 @@
|
|||
/*! layer mobile-v2.0.0 Web弹层组件 MIT License http://layer.layui.com/mobile By 贤心 */
|
||||
/*! layer mobile-v2.0.0 Web弹层组件 MIT License http://layer.layui.com/mobile By 贤心 */
|
||||
;!function(e){"use strict";var t=document,n="querySelectorAll",i="getElementsByClassName",a=function(e){return t[n](e)},s={type:0,shade:!0,shadeClose:!0,fixed:!0,anim:"scale"},l={extend:function(e){var t=JSON.parse(JSON.stringify(s));for(var n in e)t[n]=e[n];return t},timer:{},end:{}};l.touch=function(e,t){e.addEventListener("click",function(e){t.call(this,e)},!1)};var r=0,o=["layui-m-layer"],c=function(e){var t=this;t.config=l.extend(e),t.view()};c.prototype.view=function(){var e=this,n=e.config,s=t.createElement("div");e.id=s.id=o[0]+r,s.setAttribute("class",o[0]+" "+o[0]+(n.type||0)),s.setAttribute("index",r);var l=function(){var e="object"==typeof n.title;return n.title?'<h3 style="'+(e?n.title[1]:"")+'">'+(e?n.title[0]:n.title)+"</h3>":""}(),c=function(){"string"==typeof n.btn&&(n.btn=[n.btn]);var e,t=(n.btn||[]).length;return 0!==t&&n.btn?(e='<span yes type="1">'+n.btn[0]+"</span>",2===t&&(e='<span no type="0">'+n.btn[1]+"</span>"+e),'<div class="layui-m-layerbtn">'+e+"</div>"):""}();if(n.fixed||(n.top=n.hasOwnProperty("top")?n.top:100,n.style=n.style||"",n.style+=" top:"+(t.body.scrollTop+n.top)+"px"),2===n.type&&(n.content='<i></i><i class="layui-m-layerload"></i><i></i><p>'+(n.content||"")+"</p>"),n.skin&&(n.anim="up"),"msg"===n.skin&&(n.shade=!1),s.innerHTML=(n.shade?"<div "+("string"==typeof n.shade?'style="'+n.shade+'"':"")+' class="layui-m-layershade"></div>':"")+'<div class="layui-m-layermain" '+(n.fixed?"":'style="position:static;"')+'><div class="layui-m-layersection"><div class="layui-m-layerchild '+(n.skin?"layui-m-layer-"+n.skin+" ":"")+(n.className?n.className:"")+" "+(n.anim?"layui-m-anim-"+n.anim:"")+'" '+(n.style?'style="'+n.style+'"':"")+">"+l+'<div class="layui-m-layercont">'+n.content+"</div>"+c+"</div></div></div>",!n.type||2===n.type){var d=t[i](o[0]+n.type),y=d.length;y>=1&&layer.close(d[0].getAttribute("index"))}document.body.appendChild(s);var u=e.elem=a("#"+e.id)[0];n.success&&n.success(u),e.index=r++,e.action(n,u)},c.prototype.action=function(e,t){var n=this;e.time&&(l.timer[n.index]=setTimeout(function(){layer.close(n.index)},1e3*e.time));var a=function(){var t=this.getAttribute("type");0==t?(e.no&&e.no(),layer.close(n.index)):e.yes?e.yes(n.index):layer.close(n.index)};if(e.btn)for(var s=t[i]("layui-m-layerbtn")[0].children,r=s.length,o=0;o<r;o++)l.touch(s[o],a);if(e.shade&&e.shadeClose){var c=t[i]("layui-m-layershade")[0];l.touch(c,function(){layer.close(n.index,e.end)})}e.end&&(l.end[n.index]=e.end)},e.layer={v:"2.0",index:r,open:function(e){var t=new c(e||{});return t.index},close:function(e){var n=a("#"+o[0]+e)[0];n&&(n.innerHTML="",t.body.removeChild(n),clearTimeout(l.timer[e]),delete l.timer[e],"function"==typeof l.end[e]&&l.end[e](),delete l.end[e])},closeAll:function(){for(var e=t[i](o[0]),n=0,a=e.length;n<a;n++)layer.close(0|e[0].getAttribute("index"))}},"function"==typeof define?define(function(){return layer}):function(){var e=document.scripts,n=e[e.length-1],i=n.src,a=i.substring(0,i.lastIndexOf("/")+1);n.getAttribute("merge")||document.head.appendChild(function(){var e=t.createElement("link");return e.href=a+"need/layer.css?2.0",e.type="text/css",e.rel="styleSheet",e.id="layermcss",e}())}()}(window);
|
After Width: | Height: | Size: 5.8 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 7.5 KiB |
After Width: | Height: | Size: 5.7 KiB |
After Width: | Height: | Size: 701 B |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 210 B |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 5.7 KiB |
After Width: | Height: | Size: 701 B |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 221 B |
|
@ -0,0 +1,8 @@
|
|||
/*!
|
||||
|
||||
@Name: layer拓展样式
|
||||
@Date: 2012.12.13
|
||||
@Author: 贤心
|
||||
@blog: sentsin.com
|
||||
|
||||
*/.layui-layer-imgbar,.layui-layer-imgtit a,.layui-layer-tab .layui-layer-title span{text-overflow:ellipsis;white-space:nowrap}.layui-layer-iconext{background:url(default/icon-ext.png) no-repeat}html #layui_layer_skinlayerextcss{display:none;position:absolute;width:1989px}.layui-layer-prompt .layui-layer-input{display:block;width:220px;height:30px;margin:0 auto;line-height:30px;padding:0 5px;border:1px solid #ccc;box-shadow:1px 1px 5px rgba(0,0,0,.1) inset;color:#333}.layui-layer-prompt textarea.layui-layer-input{width:300px;height:100px;line-height:20px}.layui-layer-tab{box-shadow:1px 1px 50px rgba(0,0,0,.4)}.layui-layer-tab .layui-layer-title{padding-left:0;border-bottom:1px solid #ccc;background-color:#eee;overflow:visible}.layui-layer-tab .layui-layer-title span{position:relative;float:left;min-width:80px;max-width:260px;padding:0 20px;text-align:center;cursor:default;overflow:hidden}.layui-layer-tab .layui-layer-title span.layui-layer-tabnow{height:43px;border-left:1px solid #ccc;border-right:1px solid #ccc;background-color:#fff;z-index:10}.layui-layer-tab .layui-layer-title span:first-child{border-left:none}.layui-layer-tabmain{line-height:24px;clear:both}.layui-layer-tabmain .layui-layer-tabli{display:none}.layui-layer-tabmain .layui-layer-tabli.xubox_tab_layer{display:block}.xubox_tabclose{position:absolute;right:10px;top:5px;cursor:pointer}.layui-layer-photos{-webkit-animation-duration:1s;animation-duration:1s;background:url(default/xubox_loading1.gif) center center no-repeat #000}.layui-layer-photos .layui-layer-content{overflow:hidden;text-align:center}.layui-layer-photos .layui-layer-phimg img{position:relative;width:100%;display:inline-block;*display:inline;*zoom:1;vertical-align:top}.layui-layer-imgbar,.layui-layer-imguide{display:none}.layui-layer-imgnext,.layui-layer-imgprev{position:absolute;top:50%;width:27px;_width:44px;height:44px;margin-top:-22px;outline:0;blr:expression(this.onFocus=this.blur())}.layui-layer-imgprev{left:10px;background-position:-5px -5px;_background-position:-70px -5px}.layui-layer-imgprev:hover{background-position:-33px -5px;_background-position:-120px -5px}.layui-layer-imgnext{right:10px;_right:8px;background-position:-5px -50px;_background-position:-70px -50px}.layui-layer-imgnext:hover{background-position:-33px -50px;_background-position:-120px -50px}.layui-layer-imgbar{position:absolute;left:0;bottom:0;width:100%;height:32px;line-height:32px;background-color:rgba(0,0,0,.8);background-color:#000\9;filter:Alpha(opacity=80);color:#fff;overflow:hidden;font-size:0}.layui-layer-imgtit *{display:inline-block;*display:inline;*zoom:1;vertical-align:top;font-size:12px}.layui-layer-imgtit a{max-width:65%;overflow:hidden;color:#fff}.layui-layer-imgtit a:hover{color:#fff;text-decoration:underline}.layui-layer-imgtit em{padding-left:10px;font-style:normal}
|
After Width: | Height: | Size: 7.4 KiB |
|
@ -0,0 +1,141 @@
|
|||
/*
|
||||
* layer皮肤
|
||||
* 作者:一☆隐☆一
|
||||
* QQ:9073194
|
||||
* 请保留这里的信息 谢谢!虽然你不保留我也不能把你怎么样!
|
||||
*/
|
||||
|
||||
html #layui_layer_skinmoonstylecss {
|
||||
display: none;
|
||||
position: absolute;
|
||||
width: 1989px;
|
||||
}
|
||||
body .layer-ext-moon[type="dialog"] {
|
||||
min-width: 320px;
|
||||
}
|
||||
body .layer-ext-moon-msg[type="dialog"]{min-width:200px;}
|
||||
body .layer-ext-moon .layui-layer-title {
|
||||
background: #f6f6f6;
|
||||
color: #212a31;
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
height: 46px;
|
||||
line-height: 46px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
body .layer-ext-moon .layui-layer-content .layui-layer-ico {
|
||||
height: 32px;
|
||||
width: 32px;
|
||||
top:18.5px;
|
||||
}
|
||||
body .layer-ext-moon .layui-layer-ico0 {
|
||||
background: url(default.png) no-repeat -96px 0;
|
||||
;
|
||||
}
|
||||
body .layer-ext-moon .layui-layer-ico1 {
|
||||
background: url(default.png) no-repeat -224px 0;
|
||||
;
|
||||
}
|
||||
body .layer-ext-moon .layui-layer-ico2 {
|
||||
background: url(default.png) no-repeat -192px 0;
|
||||
}
|
||||
body .layer-ext-moon .layui-layer-ico3 {
|
||||
background: url(default.png) no-repeat -160px 0;
|
||||
}
|
||||
body .layer-ext-moon .layui-layer-ico4 {
|
||||
background: url(default.png) no-repeat -320px 0;
|
||||
}
|
||||
body .layer-ext-moon .layui-layer-ico5 {
|
||||
background: url(default.png) no-repeat -288px 0;
|
||||
}
|
||||
body .layer-ext-moon .layui-layer-ico6 {
|
||||
background: url(default.png) -256px 0;
|
||||
}
|
||||
body .layer-ext-moon .layui-layer-ico7 {
|
||||
background: url(default.png) no-repeat -128px 0;
|
||||
}
|
||||
body .layer-ext-moon .layui-layer-setwin {
|
||||
top: 15px;
|
||||
right: 15px;
|
||||
}
|
||||
body .layer-ext-moon .layui-layer-setwin a {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
body .layer-ext-moon .layui-layer-setwin .layui-layer-min cite:hover {
|
||||
background-color: #56abe4;
|
||||
}
|
||||
body .layer-ext-moon .layui-layer-setwin .layui-layer-max {
|
||||
background: url(default.png) no-repeat -80px 0;
|
||||
}
|
||||
body .layer-ext-moon .layui-layer-setwin .layui-layer-max:hover {
|
||||
background: url(default.png) no-repeat -64px 0;
|
||||
}
|
||||
body .layer-ext-moon .layui-layer-setwin .layui-layer-maxmin {
|
||||
background: url(default.png) no-repeat -32px 0;
|
||||
}
|
||||
body .layer-ext-moon .layui-layer-setwin .layui-layer-maxmin:hover {
|
||||
background: url(default.png) no-repeat -16px 0;
|
||||
}
|
||||
body .layer-ext-moon .layui-layer-setwin .layui-layer-close1,body .layer-ext-moon .layui-layer-setwin .layui-layer-close2 {
|
||||
background: url(default.png) 0 0;
|
||||
}
|
||||
body .layer-ext-moon .layui-layer-setwin .layui-layer-close1:hover,body .layer-ext-moon .layui-layer-setwin .layui-layer-close2:hover {
|
||||
background: url(default.png) -48px 0;
|
||||
}
|
||||
body .layer-ext-moon .layui-layer-padding{padding-top: 24px;}
|
||||
body .layer-ext-moon .layui-layer-btn {
|
||||
padding: 15px 0;
|
||||
background: #f0f4f7;
|
||||
border-top: 1px #c7c7c7 solid;
|
||||
}
|
||||
body .layer-ext-moon .layui-layer-btn a {
|
||||
font-size: 12px;
|
||||
font-weight: normal;
|
||||
margin: 0 3px;
|
||||
margin-right: 7px;
|
||||
margin-left: 7px;
|
||||
padding: 6px 20px;
|
||||
color: #fff;
|
||||
border: 1px solid #0064b6;
|
||||
background: #0071ce;
|
||||
border-radius: 3px;
|
||||
display: inline-block;
|
||||
height: 20px;
|
||||
line-height: 20px;
|
||||
text-align: center;
|
||||
vertical-align: middle;
|
||||
background-repeat: no-repeat;
|
||||
text-decoration: none;
|
||||
outline: none;
|
||||
-moz-box-sizing: content-box;
|
||||
-webkit-box-sizing: content-box;
|
||||
box-sizing: content-box;
|
||||
}
|
||||
body .layer-ext-moon .layui-layer-btn .layui-layer-btn0 {
|
||||
background: #0071ce;
|
||||
}
|
||||
body .layer-ext-moon .layui-layer-btn .layui-layer-btn1 {
|
||||
background: #fff;
|
||||
color: #404a58;
|
||||
border: 1px solid #c0c4cd;
|
||||
border-radius: 3px;
|
||||
}
|
||||
body .layer-ext-moon .layui-layer-btn .layui-layer-btn2 {
|
||||
background: #f60;
|
||||
color: #fff;
|
||||
border: 1px solid #f60;
|
||||
border-radius: 3px;
|
||||
}
|
||||
body .layer-ext-moon .layui-layer-btn .layui-layer-btn3 {
|
||||
background: #f00;
|
||||
color: #fff;
|
||||
border: 1px solid #f00;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
body .layer-ext-moon .layui-layer-title span.layui-layer-tabnow{
|
||||
height:46px;
|
||||
}
|
|
@ -201,6 +201,11 @@ label.error {
|
|||
}
|
||||
|
||||
/** 表单查询条件 */
|
||||
|
||||
label{
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.container-div{
|
||||
padding:20px 45px;
|
||||
height:100%;
|
||||
|
@ -320,4 +325,5 @@ label.error {
|
|||
}
|
||||
.order-table .table>thead:first-child>tr:first-child>th{
|
||||
color:#333;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -39,6 +39,7 @@
|
|||
<!-- 遮罩层 -->
|
||||
<script th:src="@{/ajax/libs/blockUI/jquery.blockUI.js}"></script>
|
||||
<script th:src="@{/ajax/libs/layer/layer.min.js}"></script>
|
||||
<script th:src="@{/ajax/libs/layui/layui.js}"></script>
|
||||
<script th:src="@{/ruoyi/js/common.js?v=2.1.0}"></script>
|
||||
<script th:src="@{/ruoyi/js/ry-ui.min.js?v=2.1.0}"></script>
|
||||
<script src="http://tajs.qq.com/stats?sId=62048022"></script>
|
||||
|
|
|
@ -12,17 +12,23 @@
|
|||
<div class="select-list gd">
|
||||
<ul>
|
||||
<li>
|
||||
任务名称:<input type="text" name="jobName"/>
|
||||
<label>任务名称:</label><input type="text" name="jobName"/>
|
||||
</li>
|
||||
<li>
|
||||
方法名称:<input type="text" name="methodName"/>
|
||||
<label>方法名称:</label><input type="text" name="methodName"/>
|
||||
</li>
|
||||
<li>
|
||||
执行状态:<select name="status" th:with="type=${@dictService.selectDictData('sys_common_status')}">
|
||||
<label>执行状态:</label><select name="status" th:with="type=${@dictService.selectDictData('sys_common_status')}">
|
||||
<option value="">所有</option>
|
||||
<option th:each="e : ${type}" th:text="${e['dictLabel']}" th:value="${e['dictValue']}"></option>
|
||||
</select>
|
||||
</li>
|
||||
<li class="time">
|
||||
<label>操作时间: </label>
|
||||
<input type="text" class="layui-input" id="startTime" placeholder="开始时间" name="reqParams[beginTime]"/>
|
||||
<span>-</span>
|
||||
<input type="text" class="layui-input" id="endTime" placeholder="结束时间" name="reqParams[endTime]"/>
|
||||
</li>
|
||||
<li>
|
||||
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search($('form').attr('id'))"><i class="fa fa-search"></i> 搜索</a>
|
||||
<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel($('form').attr('id'))"><i class="fa fa-download"></i> 下载</a>
|
||||
|
@ -113,6 +119,12 @@
|
|||
};
|
||||
$.table.init(options);
|
||||
});
|
||||
|
||||
layui.use('laydate', function() {
|
||||
var laydate = layui.laydate;
|
||||
laydate.render({ elem: '#startTime', theme: 'molv' });
|
||||
laydate.render({ elem: '#endTime', theme: 'molv' });
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -12,17 +12,23 @@
|
|||
<div class="select-list gd">
|
||||
<ul>
|
||||
<li>
|
||||
登录地址:<input type="text" name="ipaddr"/>
|
||||
<label>登录地址:</label><input type="text" name="ipaddr"/>
|
||||
</li>
|
||||
<li>
|
||||
登录名称:<input type="text" name="loginName"/>
|
||||
<label>登录名称:</label><input type="text" name="loginName"/>
|
||||
</li>
|
||||
<li>
|
||||
登录状态:<select name="status" th:with="type=${@dictService.selectDictData('sys_common_status')}">
|
||||
<label>登录状态:</label><select name="status" th:with="type=${@dictService.selectDictData('sys_common_status')}">
|
||||
<option value="">所有</option>
|
||||
<option th:each="e : ${type}" th:text="${e['dictLabel']}" th:value="${e['dictValue']}"></option>
|
||||
</select>
|
||||
</li>
|
||||
<li class="time">
|
||||
<label>操作时间: </label>
|
||||
<input type="text" class="layui-input" id="startTime" placeholder="开始时间" name="reqParams[beginTime]"/>
|
||||
<span>-</span>
|
||||
<input type="text" class="layui-input" id="endTime" placeholder="结束时间" name="reqParams[endTime]"/>
|
||||
</li>
|
||||
<li>
|
||||
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search($('form').attr('id'))"><i class="fa fa-search"></i> 搜索</a>
|
||||
<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel($('form').attr('id'))"><i class="fa fa-download"></i> 下载</a>
|
||||
|
@ -107,6 +113,12 @@
|
|||
};
|
||||
$.table.init(options);
|
||||
});
|
||||
|
||||
layui.use('laydate', function() {
|
||||
var laydate = layui.laydate;
|
||||
laydate.render({ elem: '#startTime', theme: 'molv' });
|
||||
laydate.render({ elem: '#endTime', theme: 'molv' });
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -12,17 +12,23 @@
|
|||
<div class="select-list gd">
|
||||
<ul>
|
||||
<li>
|
||||
系统模块:<input type="text" name="title"/>
|
||||
<label>系统模块: </label><input type="text" name="title"/>
|
||||
</li>
|
||||
<li>
|
||||
操作人员:<input type="text" name="operName"/>
|
||||
<label>操作人员: </label><input type="text" name="operName"/>
|
||||
</li>
|
||||
<li>
|
||||
操作类型:<select name="action" th:with="type=${@dictService.selectDictData('sys_oper_type')}">
|
||||
<label>操作类型: </label><select name="action" th:with="type=${@dictService.selectDictData('sys_oper_type')}">
|
||||
<option value="">所有</option>
|
||||
<option th:each="e : ${type}" th:text="${e['dictLabel']}" th:value="${e['dictValue']}"></option>
|
||||
</select>
|
||||
</li>
|
||||
<li class="time">
|
||||
<label>操作时间: </label>
|
||||
<input type="text" class="layui-input" id="startTime" placeholder="开始时间" name="reqParams[beginTime]"/>
|
||||
<span>-</span>
|
||||
<input type="text" class="layui-input" id="endTime" placeholder="结束时间" name="reqParams[endTime]"/>
|
||||
</li>
|
||||
<li>
|
||||
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search($('form').attr('id'))"><i class="fa fa-search"></i> 搜索</a>
|
||||
<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel($('form').attr('id'))"><i class="fa fa-download"></i> 下载</a>
|
||||
|
@ -147,6 +153,12 @@
|
|||
var url = prefix + '/detail/' + id;
|
||||
$.modal.open("操作日志详细", url);
|
||||
}
|
||||
|
||||
layui.use('laydate', function() {
|
||||
var laydate = layui.laydate;
|
||||
laydate.render({ elem: '#startTime', theme: 'molv' });
|
||||
laydate.render({ elem: '#endTime', theme: 'molv' });
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|