信呼OA版本v2.3.8
This commit is contained in:
29
webmain/we/agent/agentAction.php
Normal file
29
webmain/we/agent/agentAction.php
Normal file
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
class agentClassAction extends ActionNot{
|
||||
|
||||
public function initAction()
|
||||
{
|
||||
$this->mweblogin(0, true);
|
||||
}
|
||||
|
||||
public function defaultAction()
|
||||
{
|
||||
$num = $this->get('num');
|
||||
$reim= m('reim');
|
||||
$arr = $reim->getagent(0, "and `num`='$num'");
|
||||
if(!$arr)exit('应用['.$num.']不存在');
|
||||
$rs = $arr[0];
|
||||
$this->title = $rs['name'];
|
||||
$yyurl = ''.P.'/we/ying/yingyong/'.$num.'.html';
|
||||
if(!file_exists($yyurl))$yyurl='';
|
||||
$yyurljs = ''.P.'/we/ying/yingyong/'.$num.'.js';
|
||||
if(!file_exists($yyurljs))$yyurljs='';
|
||||
$this->assign('arr', $rs);
|
||||
$this->assign('openfrom', $this->get('openfrom'));
|
||||
$this->assign('yyurl', $yyurl);
|
||||
$this->assign('yyurljs', $yyurljs);
|
||||
$gid = $rs['id'];
|
||||
$reim->setallyd('agent', $this->adminid, $gid);
|
||||
}
|
||||
|
||||
}
|
||||
132
webmain/we/agent/tpl_agent.html
Normal file
132
webmain/we/agent/tpl_agent.html
Normal file
@@ -0,0 +1,132 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0">
|
||||
<title><?=$da['title']?></title>
|
||||
<link rel="stylesheet" type="text/css" href="mode/weui/weui.min.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="web/res/fontawesome/css/font-awesome.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="webmain/css/rui.css">
|
||||
<link rel="shortcut icon" href="<?=$arr['face']?>" />
|
||||
<script type="text/javascript" src="js/jquery.js"></script>
|
||||
<script type="text/javascript" src="js/js.js"></script>
|
||||
<script type="text/javascript" src="js/jswx.js"></script>
|
||||
<script type="text/javascript" src="js/base64-min.js"></script>
|
||||
<script type="text/javascript" src="webmain/we/ying/ying.js"></script>
|
||||
<script type="text/javascript" src="mode/plugin/jquery-rockdoupull.js"></script>
|
||||
<style>
|
||||
body,html{background-color:#f1f1f1;}
|
||||
|
||||
.weui_tab{width:100%;height:50px}
|
||||
.weui_navbar_item{font-size:16px;}
|
||||
.weui_navbar_item span{position:absolute;left:3px;top:3px}
|
||||
.weui_navbar_item:active{background-color:#f5f5f5}
|
||||
|
||||
.contline{padding-top:10px;color:#999999;font-size:14px;text-align:center;}
|
||||
.contlist{margin:15px;padding:8px 10px;position:relative; background:white}
|
||||
.contlist:active,.active{ background-color:#f1f1f1}
|
||||
.contlist .title{font-size:16px}
|
||||
.contlist .dt{font-size:12px;color:#aaaaaa;}
|
||||
.contlist .xq{color:#3D8EDB;font-size:14px;padding-top:7px}
|
||||
.contlist .xq span{float:right}
|
||||
.contlist .cont{font-size:14px;padding:10px 0px}
|
||||
.contlist .imgs{height:130px;overflow:hidden;margin:5px 0px}
|
||||
.contlist .zt{font-size:10px;position:absolute;top:1px;right:0px;padding:1px 3px;background-color:red;color:white;}
|
||||
.contlist .face{font-size:14px;padding:5px 0px;height:30px;overflow:hidden;}
|
||||
.contlist .face img{border-radius:15px;height:24px;width:24px;margin-right:5px}
|
||||
.contlist .opt{font-size:10px;position:absolute;bottom:1px;right:1px;padding:1px 3px;color:#aaaaaa}
|
||||
|
||||
.showblank{color:#aaaaaa;font-size:14px;padding-bottom:15px;text-align:center}
|
||||
.showblanks{padding:10px;color:#aaaaaa;font-size:12px;text-align:center}
|
||||
.notrecord{text-align:center;font-size:20px;padding-top:50px;color:#aaaaaa}
|
||||
|
||||
.dao{padding:10px;height:40px;overflow:hidden;padding-bottom:0px}
|
||||
.mydao{margin:5px;text-align:center; background:white;height:30px;line-height:30px;font-size:14px;border:1px #9FD3F4 solid;border-radius:5px}
|
||||
.dao .active{background:#1389D3;color:white; border:1px #1389D3 solid}
|
||||
</style>
|
||||
<script>
|
||||
var json = <?=json_encode($arr)?>;
|
||||
ismobile = 1;
|
||||
var agentlx=1;
|
||||
function yingyonginit(){
|
||||
yy.loadshow();
|
||||
}
|
||||
function initbody(){
|
||||
adminid = js.getoption('adminid', <?=$da['adminid']?>);
|
||||
admintoken = js.getoption('admintoken', '<?=$xhrock->admintoken?>');
|
||||
yy.init();
|
||||
yingyonginit();
|
||||
}
|
||||
function callPhone(o1){
|
||||
if(appobj1('callPhone',$(o1).text())){
|
||||
return false;
|
||||
}else{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
|
||||
<body>
|
||||
<?php if($showheader==1){?>
|
||||
<div>
|
||||
<div class="r-header" style="padding-top:<?=$cenghei?>px" >
|
||||
<div class="r-header-text" onclick="location.reload()" id="header_title"><?=$da['title']?></div>
|
||||
<?php if($rock->get('openfrom')!='reim'){?>
|
||||
<span onclick="js.back()" class="r-position-left r-header-btn"><i class="icon-chevron-left"></i></span>
|
||||
<?php }?>
|
||||
</div>
|
||||
<div class="blank50" id="header_line" style="height:<?=($cenghei+50)?>px"></div>
|
||||
</div>
|
||||
<?php }?>
|
||||
|
||||
<?php if($yyurl==''){?>
|
||||
<div style="z-index:2" id="searsearch_bar" class="weui_search_bar">
|
||||
<form onclick="yy.searchuser()" class="weui_search_outer" onsubmit="yy.sousousou();return false;">
|
||||
<div class="weui_search_inner">
|
||||
<i class="weui_icon_search"></i>
|
||||
<input type="search" class="weui_search_input" id="search_input" placeholder="输入关键词搜索" >
|
||||
<a onclick="yy.souclear()" class="weui_icon_clear"></a>
|
||||
</div>
|
||||
<label for="search_input" class="weui_search_text" id="search_text">
|
||||
<i class="weui_icon_search"></i>
|
||||
<span>输入关键词搜索</span>
|
||||
</label>
|
||||
</form>
|
||||
<a onclick="yy.searchcancel()" style="color:#1389D3" class="weui_search_cancel">取消</a>
|
||||
</div>
|
||||
<?php }?>
|
||||
|
||||
<div id="footerdiv" class="dao">
|
||||
<?php
|
||||
$zlen = count($arr['menu']);
|
||||
if($zlen==0)$zlen=1;
|
||||
$width = 100/$zlen;
|
||||
foreach($arr['menu'] as $k=>$rs){
|
||||
$cls = ($k==0)?' active':'';
|
||||
$s='<div onclick="yy.clickmenu('.$k.',this)" style="float:left;height:40px;overflow:hidden;width:'.$width.'%;"><div temp="tablx" class="mydao'.$cls.'">';
|
||||
if(!isempt($rs['num']))$s.='<span class="badge" id="'.$rs['num'].'_stotal"></span>';
|
||||
$s.=''.$rs['name'].'';
|
||||
if($rs['submenu'])$s.=' <i class="icon-angle-down"></i>';
|
||||
$s.='</div></div>';
|
||||
echo $s;
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="mainbody" class="r-touch">
|
||||
<?php if($yyurl!='')include_once($yyurl);?>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<?php
|
||||
if($yyurljs!='')echo '<script type="text/javascript" src="'.$yyurljs.'"></script>'."\n";
|
||||
?>
|
||||
<script type="text/javascript" src="web/res/js/jquery-imgview.js"></script>
|
||||
<script type="text/javascript" src="web/res/js/jquery-rockupload.js"></script>
|
||||
<script type="text/javascript" src="web/res/js/jquery-changeuser.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
257
webmain/we/chat/chat.js
Normal file
257
webmain/we/chat/chat.js
Normal file
@@ -0,0 +1,257 @@
|
||||
var im={
|
||||
minid:999999999,
|
||||
init:function(){
|
||||
strformat.emotspath='web/';
|
||||
this.type = receinfor.type;
|
||||
this.gid = receinfor.gid;
|
||||
this.showobj = $('#showview');
|
||||
this.inputobj = $('#contentss');
|
||||
$('#btn').click(function(){
|
||||
im.sendcont();
|
||||
});
|
||||
this.loaddata();
|
||||
this.readinforshow();
|
||||
|
||||
im.touchobj = $('#showview').rockdoupull({
|
||||
downbgcolor:'',
|
||||
downbool:true,
|
||||
ondownsuccess:function(){
|
||||
im.dropdown_success();
|
||||
}
|
||||
});
|
||||
this.resizehei();
|
||||
$(window).resize(this.resizehei);
|
||||
},
|
||||
submitinput:function(){
|
||||
try{im.sendcont();}catch(e){}
|
||||
return false;
|
||||
},
|
||||
getheight:function(ss){
|
||||
var hei = 50;if(!ss)ss=0;
|
||||
if(get('header_title'))hei+=50;
|
||||
return $(window).height()-hei+ss;
|
||||
},
|
||||
resizehei:function(){
|
||||
var h = im.getheight();
|
||||
im.showobj.css('height',''+h+'px');
|
||||
im.touchobj.resize();
|
||||
},
|
||||
loaddata:function(o1, iref){
|
||||
if(this.boolload)return;
|
||||
var iref = (!iref)?false:true;
|
||||
var minid= 0;
|
||||
if(iref)minid=this.minid;
|
||||
if(o1)$(o1).html('<img src="images/loadings.gif" height="14" width="15" align="absmiddle"> 加载中...');
|
||||
this.boolload = true;
|
||||
this.isshangla = false;
|
||||
js.ajax('reim','getrecord',{type:this.type,gid:this.gid,minid:minid,lastdt:''},function(ret){
|
||||
if(o1)$(o1).html('');
|
||||
im.boolload = false;
|
||||
im.loaddatashow(ret, iref);
|
||||
},'none', false,false,'get');
|
||||
},
|
||||
readinforshow:function(){
|
||||
setTimeout('im.readinforshows()',1000*10);
|
||||
},
|
||||
readinforshows:function(){
|
||||
var minid=this.minid;
|
||||
js.ajax('reim','getrecord',{type:this.type,gid:this.gid,minid:0,lastdt:this.lastdt},function(ret){
|
||||
im.loaddatashow(ret, false, true);
|
||||
im.readinforshow();
|
||||
},'none', false,false,'get');
|
||||
},
|
||||
loaddatashow:function(ret,isbf, isls){
|
||||
var a = ret.rows;
|
||||
this.lastdt = ret.nowdt;
|
||||
var i,len = a.length,cont,lex,nas,fase,nr,d,na=[],rnd,sid;
|
||||
$('#loadmored').remove();
|
||||
if(isbf){
|
||||
if(len>0)this.showobj.prepend('<div class="showblanks">---------↑以上是新加载---------</div>');
|
||||
na = a;
|
||||
}else{
|
||||
for(i= len-1; i>=0; i--)na.push(a[i]);
|
||||
}
|
||||
for(i= 0; i<len; i++){
|
||||
d = na[i];
|
||||
sid = parseFloat(d.id);
|
||||
lex = 'right';
|
||||
nas = '我';
|
||||
fase= adminface;
|
||||
if(d.sendid!=adminid){
|
||||
lex='left';
|
||||
nas= d.sendname;
|
||||
fase= d.face;
|
||||
}
|
||||
nr = this.contshozt(d.filers);
|
||||
if(nr=='')nr= jm.base64decode(d.cont);
|
||||
rnd = 'mess_'+sid+'';
|
||||
cont= strformat.showqp(lex,nas,d.optdt,nr ,'', fase, rnd);
|
||||
if(!isbf){
|
||||
this.addcont(cont, isbf);
|
||||
}else{
|
||||
this.showobj.prepend(cont);
|
||||
}
|
||||
if(sid<this.minid)this.minid=sid;
|
||||
}
|
||||
if(len>0 && !isls){
|
||||
var s = '<div id="histordiv" class="showblanks" >';
|
||||
if(ret.wdtotal==0){
|
||||
s+='---------↑以上是历史记录---------';
|
||||
if(len>=5){
|
||||
//this.showobj.prepend('<div id="loadmored" class="showblanks" ><a href="javascript:;" onclick="im.loadmoreda(this)">点击加载更多...</a></div>');
|
||||
this.isshangla = true;
|
||||
}
|
||||
}else{
|
||||
s+='---↑以上是历史,还有未读信息'+ret.wdtotal+'条,<a href="javascript:;" onclick="im.loaddata(this)">点击加载</a>---';
|
||||
}
|
||||
s+='</div>';
|
||||
if(!isbf)this.addcont(s);
|
||||
if(isbf)this._addclickf();
|
||||
}
|
||||
if(im.touchobj)im.touchobj.ondownok();
|
||||
},
|
||||
dropdown_success:function(){
|
||||
if(this.isshangla){
|
||||
this.loadmoreda(false);
|
||||
}else{
|
||||
setTimeout(function(){im.touchobj.ondownok()},1000);
|
||||
}
|
||||
},
|
||||
loadmoreda:function(o1){
|
||||
this.loaddata(o1, true);
|
||||
},
|
||||
addcont:function(cont, isbf){
|
||||
var o = this.showobj;
|
||||
if(cont){if(isbf){o.prepend(cont);}else{o.append(cont);}}
|
||||
clearTimeout(this.scrolltime);
|
||||
this.scrolltime = setTimeout(function(){
|
||||
im.showobj.animate({scrollTop:get('showview').scrollHeight},100);
|
||||
im._addclickf();
|
||||
}, 50);
|
||||
},
|
||||
_addclickf:function(){
|
||||
var o = this.showobj.find('img[fid]');
|
||||
o.unbind('click');
|
||||
o.click(function(){
|
||||
im.clickimg(this);
|
||||
});
|
||||
},
|
||||
clickimg:function(o1){
|
||||
var o=$(o1);
|
||||
var fid=o.attr('fid');
|
||||
var src = o1.src.replace('_s.','.');
|
||||
$.imgview({url:src,ismobile:true});
|
||||
},
|
||||
contshozt:function(d){
|
||||
return strformat.contshozt(d,'web/');
|
||||
},
|
||||
sendcont : function(ssnr){
|
||||
if(js.ajaxbool)return;
|
||||
js.msg('none');
|
||||
var o = this.inputobj;
|
||||
var nr = strformat.sendinstr(o.val());
|
||||
nr = nr.replace(/</gi,'<').replace(/>/gi,'>').replace(/\n/gi,'<br>');
|
||||
if(ssnr)nr=ssnr;
|
||||
if(isempt(nr))return false;
|
||||
var conss = jm.base64encode(nr);
|
||||
if(conss.length>500){
|
||||
js.msg('msg','发送内容太多了');
|
||||
return;
|
||||
}
|
||||
var nuid= js.now('time'),optdt = js.serverdt();
|
||||
var cont= strformat.showqp('right','我',optdt, nr, nuid, adminface);
|
||||
this.addcont(cont);
|
||||
o.val('').focus();
|
||||
this.sendconts(conss, nuid, optdt, 0);
|
||||
return false;
|
||||
},
|
||||
sendconts:function(conss, nuid, optdt, fid){
|
||||
var d = {cont:conss,gid:this.gid,type:this.type,nuid:nuid,optdt:optdt,fileid:fid};
|
||||
js.ajax('reim','sendinfor',d,function(ret){
|
||||
im.sendsuccess(ret,nuid);
|
||||
},'none',false,function(){
|
||||
im.senderror(nuid);
|
||||
});
|
||||
},
|
||||
senderror:function(nuid){
|
||||
js.ajaxbool = false;
|
||||
get(nuid).src='images/error.png';
|
||||
get(nuid).title='发送失败';
|
||||
},
|
||||
sendsuccess:function(d,nuid){
|
||||
this.bool = false;
|
||||
if(!d.id){
|
||||
this.senderror(nuid);
|
||||
return;
|
||||
}
|
||||
$('#'+d.nuid+'').remove();
|
||||
var bo = false;
|
||||
d.messid=d.id;
|
||||
d.face = adminface;
|
||||
},
|
||||
addinput:function(s){
|
||||
var val = this.inputobj.val()+s;
|
||||
this.inputobj.val(val).focus();
|
||||
},
|
||||
showemit:function(){
|
||||
var da = [];
|
||||
var a = strformat.emotsarr,i;
|
||||
for(i=1;i<50;i++)da.push({name:' <img src="web/images/im/emots/qq/'+(i-1)+'.gif" align="absmiddle"> '+a[i], num:a[i]});
|
||||
js.showmenu({
|
||||
data:da,width:150,align:'left',
|
||||
onclick:function(d){
|
||||
im.addinput(d.num);
|
||||
}
|
||||
});
|
||||
},
|
||||
sendfile:function(){
|
||||
if(typeof(uploadobj)=='undefined')uploadobj = $.rockupload({
|
||||
inputfile:'allfileinput',
|
||||
updir:'reimchat',
|
||||
urlparams:{noasyn:'yes'}, //不需要同步到文件平台上
|
||||
initpdbool:true,
|
||||
onchange:function(d){
|
||||
im.sendfileshow(d);
|
||||
},
|
||||
onprogress:function(f,per,evt){
|
||||
strformat.upprogresss(per);
|
||||
},
|
||||
onsuccess:function(f,str,o1){
|
||||
im.sendfileok(f,str);
|
||||
},
|
||||
onerror:function(str){
|
||||
js.msg('msg', str);
|
||||
im.senderror(im.upfilearr.nuid);
|
||||
}
|
||||
});
|
||||
strformat.upobj = uploadobj;
|
||||
uploadobj.click();
|
||||
},
|
||||
sendfileshow:function(f){
|
||||
f.face = adminface;
|
||||
var fa = strformat.showupfile(f);
|
||||
var cont= fa.cont;
|
||||
this.upfilearr = fa;
|
||||
this.addcont(cont);
|
||||
},
|
||||
sendfileok:function(f,str){
|
||||
var tm= this.upfilearr,conss='';
|
||||
var a = js.decode(str);
|
||||
a.isimg = f.isimg;
|
||||
strformat.upsuccess(a);
|
||||
if(f.isimg){
|
||||
conss = '[图片 '+a.filesizecn+']';
|
||||
}else{
|
||||
conss = '['+f.filename+' '+f.filesizecn+']'
|
||||
}
|
||||
this.sendconts(jm.base64encode(conss), tm.nuid, tm.optdt, a.id);
|
||||
},
|
||||
fileyulan:function(pn,fid){
|
||||
var url = '?m=public&a=fileviewer&id='+fid+'';
|
||||
js.location(url);
|
||||
}
|
||||
}
|
||||
|
||||
strformat.clickfile=function(fid,lx){
|
||||
js.fileopt(fid,lx);
|
||||
}
|
||||
21
webmain/we/chat/chatAction.php
Normal file
21
webmain/we/chat/chatAction.php
Normal file
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
class chatClassAction extends ActionNot{
|
||||
|
||||
public function initAction()
|
||||
{
|
||||
$this->mweblogin(0, true);
|
||||
}
|
||||
|
||||
public function defaultAction()
|
||||
{
|
||||
//if(getconfig('platdwnum'))return '平台模式请使用REIM通信平台会话';
|
||||
$type = $this->get('type');
|
||||
$uid = (int)$this->get('uid');
|
||||
$db = m('reim');
|
||||
$arr = $db->getreceinfor($type, $uid);
|
||||
if(!isset($arr['name']))exit('error');
|
||||
$this->title = $arr['name'];
|
||||
if(isset($arr['utotal']))$this->title.='('.$arr['utotal'].')';
|
||||
$this->assign('arr', $arr);
|
||||
}
|
||||
}
|
||||
69
webmain/we/chat/tpl_chat.html
Normal file
69
webmain/we/chat/tpl_chat.html
Normal file
@@ -0,0 +1,69 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0">
|
||||
<title><?=$da['title']?></title>
|
||||
<link rel="stylesheet" type="text/css" href="mode/weui/weui.min.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="web/res/fontawesome/css/font-awesome.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="webmain/css/rui.css">
|
||||
<link rel="stylesheet" type="text/css" href="web/res/css/chat.css">
|
||||
<script type="text/javascript" src="js/jquery.js"></script>
|
||||
<script type="text/javascript" src="js/js.js"></script>
|
||||
<script type="text/javascript" src="js/jswx.js"></script>
|
||||
<script type="text/javascript" src="js/base64-min.js"></script>
|
||||
<script type="text/javascript" src="web/res/js/strformat.js"></script>
|
||||
<script type="text/javascript" src="webmain/we/chat/chat.js"></script>
|
||||
<script type="text/javascript" src="mode/plugin/jquery-rockdoupull.js"></script>
|
||||
<style>
|
||||
body,html{background-color:#f1f1f1;overflow:hidden}
|
||||
.showblanks{padding:10px;color:#aaaaaa;font-size:12px;text-align:center}
|
||||
.qipao .qipaocont{font-size:16px}
|
||||
.qipao .qipaoface{}
|
||||
<?php
|
||||
$maincolor = getconfig('apptheme','#1389D3');
|
||||
$maincolora= c('image')->colorTorgb($maincolor);
|
||||
$maincolors= ''.$maincolora[0].','.$maincolora[1].','.$maincolora[2].'';
|
||||
echo 'body{--main-color:'.$maincolor.'}.qipao .qipaocontright{background:rgba('.$maincolors.',0.4)}.qipao .qipaoright{border-color: transparent transparent transparent rgba('.$maincolors.',0.4)}';
|
||||
?>
|
||||
</style>
|
||||
<script>
|
||||
ismobile = 1;
|
||||
var receinfor=<?=json_encode($arr)?>;
|
||||
function initbody(){
|
||||
adminid = js.getoption('adminid');
|
||||
adminface = js.getoption('adminface','images/noface.png');
|
||||
adminame = js.getoption('adminame','我');
|
||||
im.init();
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<?php if($showheader==1){?>
|
||||
<div>
|
||||
<div class="r-header">
|
||||
<div onclick="location.reload()" id="header_title" class="r-header-text"><?=$da['title']?></div>
|
||||
<span onclick="js.back()" class="r-position-left r-header-btn"><i class="icon-chevron-left"></i></span>
|
||||
</div>
|
||||
<div class="blank50"></div>
|
||||
</div>
|
||||
<?php }?>
|
||||
|
||||
<div class="r-touch" style="height:300px;" id="showview"></div>
|
||||
|
||||
<div class="blank50"></div>
|
||||
<div class="r-chat r-border-t">
|
||||
<form onsubmit="return im.submitinput()">
|
||||
<table cellspacing="0" cellpadding="0" width="100%"><tr>
|
||||
<td style="padding-left:10px"><i style="color:#888888;font-size:20px" class="icon-folder-close" onclick="im.sendfile()"></td>
|
||||
<td width="100%" style="padding:10px"><input autocomplete="off" maxlength="500" type="text" id="contentss" class="r-chat-input"></td>
|
||||
<td style="padding-right:10px"><i style="color:#888888;font-size:24px" class="icon-heart" onclick="im.showemit();return false;"></td>
|
||||
<td style="padding-right:10px"><button style="border-radius:5px" type="button" id="btn" class="r-chat-btn r-btn-active" value="">发送</button></td>
|
||||
</tr></table>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript" src="web/res/js/jquery-imgview.js"></script>
|
||||
<script type="text/javascript" src="web/res/js/jquery-rockupload.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
52
webmain/we/flow/flowAction.php
Normal file
52
webmain/we/flow/flowAction.php
Normal file
@@ -0,0 +1,52 @@
|
||||
<?php
|
||||
class flowClassAction extends ActionNot{
|
||||
|
||||
public function initAction()
|
||||
{
|
||||
$this->mweblogin(0, true);
|
||||
}
|
||||
|
||||
public function applyAction()
|
||||
{
|
||||
$this->title = '申请流程';
|
||||
|
||||
$viewobj = m('view');
|
||||
$applyarr = m('mode')->getmoderows($this->adminid,'and islu=1');
|
||||
$modearr = array();
|
||||
$otyle = '';
|
||||
$oi = 0;
|
||||
foreach($applyarr as $k=>$rs){
|
||||
if(!$viewobj->isadd($rs, $this->adminid))continue;
|
||||
if($otyle!=$rs['type']){
|
||||
$oi = 0;
|
||||
}
|
||||
$otyle = $rs['type'];
|
||||
$oi++;
|
||||
$modearr[$rs['type']][]=array('modenum'=>$rs['num'],'url'=>'?a=lum&m=input&d=flow&num='.$rs['num'].'&show=we','name'=>$rs['name'],'title'=>''.$oi.'.'.$rs['name']);
|
||||
}
|
||||
$this->assign('modearr', $modearr);
|
||||
}
|
||||
|
||||
//单据查看
|
||||
public function viewAction()
|
||||
{
|
||||
$this->title = '单据查看';
|
||||
|
||||
$viewobj = m('view');
|
||||
$applyarr = m('mode')->getmoderows($this->adminid,'');
|
||||
$modearr = array();
|
||||
$otyle = '';
|
||||
$oi = 0;
|
||||
foreach($applyarr as $k=>$rs){
|
||||
if($rs['isscl']==0)continue;
|
||||
if($otyle!=$rs['type']){
|
||||
$oi = 0;
|
||||
}
|
||||
$otyle = $rs['type'];
|
||||
$oi++;
|
||||
$modearr[$rs['type']][]=array('modenum'=>$rs['num'],'url'=>'?m=ying&d=we&mnum='.$rs['num'].'&show=we','name'=>$rs['name'],'title'=>''.$oi.'.'.$rs['name']);
|
||||
}
|
||||
$this->assign('modearr', $modearr);
|
||||
$this->displayfile = 'webmain/we/flow/tpl_flow_apply.html';
|
||||
}
|
||||
}
|
||||
79
webmain/we/flow/tpl_flow_apply.html
Normal file
79
webmain/we/flow/tpl_flow_apply.html
Normal file
@@ -0,0 +1,79 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0">
|
||||
<title><?=$da['title']?></title>
|
||||
<link rel="stylesheet" type="text/css" href="mode/weui/weui.min.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="web/res/fontawesome/css/font-awesome.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="webmain/css/rui.css">
|
||||
<script type="text/javascript" src="js/jquery.js"></script>
|
||||
<script type="text/javascript" src="js/js.js"></script>
|
||||
<style>
|
||||
|
||||
</style>
|
||||
<script>
|
||||
ismobile = 1;
|
||||
function xuantype(o1){
|
||||
var val = o1.value;
|
||||
if(val){
|
||||
js.backto('typelx'+val+'');
|
||||
}
|
||||
}
|
||||
function initApp(){
|
||||
js.setapptitle();
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<?php if($showheader==1){?>
|
||||
<div>
|
||||
<div class="r-header" style="padding-top:<?=$cenghei?>px" >
|
||||
<div onclick="location.reload()" id="header_title" class="r-header-text"><?=$da['title']?></div>
|
||||
<span onclick="js.back()" class="r-position-left r-header-btn"><i class="icon-chevron-left"></i></span>
|
||||
</div>
|
||||
<div class="blank50" id="header_line" style="height:<?=($cenghei+50)?>px"></div>
|
||||
</div>
|
||||
<?php }?>
|
||||
|
||||
<div style="background:white"><div style="margin:0px 10px"><select style="width:100%;border:none;background:none;height:40px;font-size:16px" onchange="xuantype(this)">
|
||||
<option value="">-快速选择分类-</option>
|
||||
<?php
|
||||
$count=0;
|
||||
foreach($modearr as $type=>$rows){
|
||||
$count++;
|
||||
echo '<option value="'.$count.'">'.$type.'('.count($rows).')</option>';
|
||||
}
|
||||
?>
|
||||
</select></div></div>
|
||||
|
||||
<?php
|
||||
$count=0;$count1=0;
|
||||
foreach($modearr as $type=>$rows){
|
||||
$count1++;
|
||||
?>
|
||||
<div class="weui_cells_title" id="typelx<?=$count1?>"><?=$type?>(<?=count($rows)?>)</div>
|
||||
<div class="weui_cells weui_cells_access">
|
||||
<?php
|
||||
foreach($rows as $k=>$rs){
|
||||
$count++;
|
||||
?>
|
||||
<a class="weui_cell" href="<?=$rs['url']?>">
|
||||
<div class="weui_cell_bd weui_cell_primary">
|
||||
<p><?=$rs['title']?></p>
|
||||
</div>
|
||||
<div class="weui_cell_ft">
|
||||
</div>
|
||||
</a>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<div align="center" class="weui_cells_title">总共<?=$count?>个模块</div>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
66
webmain/we/index/indexAction.php
Normal file
66
webmain/we/index/indexAction.php
Normal file
@@ -0,0 +1,66 @@
|
||||
<?php
|
||||
class indexClassAction extends ActionNot{
|
||||
|
||||
public function initAction()
|
||||
{
|
||||
$this->mweblogin(0, false);
|
||||
}
|
||||
|
||||
public function defaultAction()
|
||||
{
|
||||
$this->title = getconfig('apptitle',$this->bd6('5L!h5ZG8T0E:'));
|
||||
if(COMPANYNUM){
|
||||
$companyinfo = m('company')->getone(1);
|
||||
$oanemes = $companyinfo['oanemes'];
|
||||
if(isempt($oanemes))$oanemes = $companyinfo['name'];
|
||||
$this->title = $oanemes;
|
||||
}
|
||||
$ybarr = $this->option->authercheck();
|
||||
if(is_string($ybarr))return $ybarr;
|
||||
$this->assign('xhauthkey', getconfig('authkey', $ybarr['authkey']));
|
||||
$this->assign('tplmess', $this->option->getval('wxgzh_tplmess'));
|
||||
}
|
||||
|
||||
public function bd6($str)
|
||||
{
|
||||
return $this->jm->base64decode($str);
|
||||
}
|
||||
|
||||
public function editpassAction()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 用户信息
|
||||
*/
|
||||
public function userinfoAction()
|
||||
{
|
||||
$uid = (int)$this->get('uid');
|
||||
$urs = m('admin')->getone($uid, '`id`,`name`,`deptallname`,`ranking`,`tel`,`email`,`mobile`,`sex`,`face`');
|
||||
if(!$urs)exit('not user');
|
||||
|
||||
//权限过滤
|
||||
$flow = m('flow')->initflow('user');
|
||||
$ursa = $flow->viewjinfields(array($urs));
|
||||
$urs = $ursa[0];
|
||||
|
||||
if(isempt($urs['face']))$urs['face']='images/noface.png';
|
||||
$this->assign('arr', $urs);
|
||||
}
|
||||
|
||||
public function companyAction()
|
||||
{
|
||||
$this->assign('carr', m('admin')->getcompanyinfo($this->adminid));
|
||||
$this->assign('ofrom', $this->get('ofrom'));
|
||||
}
|
||||
|
||||
|
||||
public function testAction()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
224
webmain/we/index/tpl_index.html
Normal file
224
webmain/we/index/tpl_index.html
Normal file
@@ -0,0 +1,224 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0">
|
||||
<title><?=$da['title']?></title>
|
||||
<link rel="stylesheet" type="text/css" href="mode/weui/weui.min.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="webmain/css/rui.css">
|
||||
<link rel="shortcut icon" href="favicon.ico" />
|
||||
<script type="text/javascript" src="js/jquery.js"></script>
|
||||
<script type="text/javascript" src="js/js.js"></script>
|
||||
<script type="text/javascript" src="js/jswx.js"></script>
|
||||
<script type="text/javascript" src="js/base64-min.js"></script>
|
||||
<script type="text/javascript" src="js/jsmain.js"></script>
|
||||
<script type="text/javascript" src="webmain/we/index/tpl_index.mini.js?<?=time()?>"></script>
|
||||
<link rel="stylesheet" type="text/css" href="web/res/fontawesome/css/font-awesome.min.css">
|
||||
<style>
|
||||
html,body{overflow:hidden;background-color:#f1f1f1}
|
||||
<?php
|
||||
$maincolor = getconfig('apptheme','#1389D3');
|
||||
$maincolora= c('image')->colorTorgb($maincolor);
|
||||
$maincolors= ''.$maincolora[0].','.$maincolora[1].','.$maincolora[2].'';
|
||||
echo 'body{--main-color:'.$maincolor.';}';
|
||||
?>
|
||||
.weui_tabbar_icon{text-align:center;color:#888888;font-size:20px;overflow:hidden;;height:28px}
|
||||
.weui_tabbar_item{padding-top:2px;margin-bottom:5px;position:relative}
|
||||
.weui_media_box{padding:10px 15px}
|
||||
.weui_media_box.weui_media_appmsg .weui_media_hd {height:40px;width:40px;line-height:40px}
|
||||
.weui_media_box .weui_media_desc{height:20px;line-height:20px;padding-right:20px}
|
||||
.weui_bar_item_on .weui_tabbar_icon{color:<?=$maincolor?>}
|
||||
.weui_grid_icon{width:26px;height:26px;text-align:center;}
|
||||
.weui_grid_icon img{border-radius:6px}
|
||||
.weui_grid_icon i{font-size:26px}
|
||||
.weui_grid_icon span{position:absolute;top:5px;right:5px;}
|
||||
.weui_tabbar_item span{position:absolute;right:5px;top:2px}
|
||||
.weui_media_bd span{position:absolute;right:10px;top:15px}
|
||||
.weui_media_bd font{position:absolute;right:5px;top:40px;font-size:13px;color:#888888}
|
||||
.hd{padding:2em 0; text-align:center}
|
||||
.hd img{height:100px;width:100px;border-radius:50px}
|
||||
.weui_tabbar{position:fixed}
|
||||
|
||||
.weui_media_box:before{left:0}
|
||||
.yingshright{position:absolute;right:0px;bottom:0px;display:block; width: 0;height: 0;border-bottom: 15px solid #dedede;border-left: 15px solid transparent;}
|
||||
.agentp{color:#888888;padding:5px;font-size:14px;margin-top:5px}
|
||||
.weui_daohang{display:inline-block;width:100%;background:#f1f1f1;}
|
||||
.weui_daohang span{height:50px;padding:0px 8px;display:block;line-height:50px; float:left;margin:0px;}
|
||||
.weui_daohang .jiantou{padding:0px;font-size:12px;color:#cccccc}
|
||||
.weui_grid_label{height:20px;overflow:hidden}
|
||||
</style>
|
||||
</head>
|
||||
<script>
|
||||
xhauthkey = '<?=$xhauthkey?>';
|
||||
maincolor = '<?=$maincolor?>';
|
||||
</script>
|
||||
<body scroll="no" style="overflow:hidden">
|
||||
<?php if($showheader==1){?>
|
||||
<div>
|
||||
<div class="r-header">
|
||||
<div class="r-header-text" onclick="location.reload()" id="header_title">信呼</div>
|
||||
<span onclick="RO.smenu()" class="r-position-right r-header-btn">+</span>
|
||||
</div>
|
||||
<div class="blank50" id="header_line"></div>
|
||||
</div>
|
||||
<?php }?>
|
||||
|
||||
|
||||
<div id="mbody" class="r-touch" style="height:350px;position:relative;">
|
||||
<div index="m" id="m_index0">
|
||||
<div id="home_silder"></div>
|
||||
<div id="hylidiv" style="margin-bottom:15px;display:none">
|
||||
<div class="agentp">应用</div>
|
||||
<div id="hyli" style="background:white" class="weui_grids"></div>
|
||||
</div>
|
||||
<div class="weui_panel"><div id="historylist"></div></div>
|
||||
<div id="hwu_tems" style="padding-top:50px;text-align:center;color:#cccccc">无会话消息</div>
|
||||
</div>
|
||||
|
||||
<div index="m" style="display:none" id="m_index1"></div>
|
||||
<div index="m" style="background-color:white;display:none" id="m_index2">
|
||||
|
||||
<div class="weui_search_bar" id="s_bar">
|
||||
<form onclick="RO.sus()" class="weui_search_outer" onsubmit="RO.slo();return false;">
|
||||
<div class="weui_search_inner">
|
||||
<i class="weui_icon_search"></i>
|
||||
<input type="search" onblur="RO.bsor()" class="weui_search_input" id="s_inp" placeholder="搜索联系人" >
|
||||
<a onclick="RO.scle()" class="weui_icon_clear"></a>
|
||||
</div>
|
||||
<label for="s_inp" class="weui_search_text" id="search_text">
|
||||
<i class="weui_icon_search"></i>
|
||||
<span>搜索联系人</span>
|
||||
</label>
|
||||
</form>
|
||||
<a onclick="RO.sqx()" style="color:#1389D3" class="weui_search_cancel">取消</a>
|
||||
</div>
|
||||
|
||||
<div id="uslx" class="r-tab">
|
||||
<div id="uslx_0" onclick="RO.cusr(0)" class="r-tab-item active">联系人<span id="userstotal">(0)</span></div>
|
||||
<div id="uslx_1" onclick="RO.cusr(1)" class="r-tab-item">会话<span id="glists">(0)</span></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="userlistdiv" temp="us" style="margin-top:0">
|
||||
<div class="weui_daohang r-border-b" id="userdao">
|
||||
</div>
|
||||
<div class="weui_panel_bd">
|
||||
<div id="list" class="weui_panel weui_panel_access"></div>
|
||||
<div id="deptlist"></div>
|
||||
<div id="sslst" class="weui_panel weui_panel_access"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="weui_panel" temp="us" style="margin-top:0;display:none">
|
||||
<div class="weui_panel_bd r-border-t">
|
||||
<div class="weui_media_box weui_media_small_appmsg">
|
||||
<div id="glist" class="weui_cells weui_cells_access"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="weui_panel" temp="us" style="margin-top:0;display:none"><div id="showdept"></div></div>
|
||||
</div>
|
||||
|
||||
<div index="m" style="display:none" id="m_index3">
|
||||
<div style="margin-top:20px" class="weui_panel weui_panel_access">
|
||||
<div class="weui_panel_bd">
|
||||
<a href="javascript:;" onclick="RO.opu(adminid)" class="weui_media_box weui_media_appmsg">
|
||||
<div class="weui_media_hd">
|
||||
<img class="weui_media_appmsg_thumb" id="myface" src="images/logo.png">
|
||||
</div>
|
||||
<div class="weui_media_bd">
|
||||
<h4 class="weui_media_title" id="my_mz"></h4>
|
||||
<p style="font-size:14px;color:#888888"><label id="my_bm"></label></p>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="weui_cells weui_cells_access">
|
||||
<div class="weui_cell">
|
||||
<div class="weui_cell_bd weui_cell_primary">
|
||||
<p style="color:#888888">职位</p>
|
||||
</div>
|
||||
<span id="my_zw" class="weui_cell_right"></span>
|
||||
</div>
|
||||
<div class="weui_cell">
|
||||
<div class="weui_cell_bd weui_cell_primary">
|
||||
<p style="color:#888888">我手机号</p>
|
||||
</div>
|
||||
<span id="my_sj" class="weui_cell_right">158****0000</span>
|
||||
</div>
|
||||
<div class="weui_cell">
|
||||
<div class="weui_cell_bd weui_cell_primary">
|
||||
<p style="color:#888888">用户名</p>
|
||||
</div>
|
||||
<span id="my_yh" class="weui_cell_right"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div id="weixllq" class="weui_cells weui_cells_access">
|
||||
<?php if($tplmess=='1'){?>
|
||||
<div onclick="RO.bdwx(this)" class="weui_cell">
|
||||
<div class="weui_cell_bd weui_cell_primary">
|
||||
微信公众号
|
||||
</div>
|
||||
<span class="weui_cell_ft" id="bdwx">未绑定,点击绑定</span>
|
||||
</div>
|
||||
<?php }?>
|
||||
|
||||
<?php if(ISMORECOM){?>
|
||||
<div onclick="RO.chdw()" class="weui_cell">
|
||||
<div class="weui_cell_bd weui_cell_primary">
|
||||
切换单位
|
||||
</div>
|
||||
<p style="color:#888888;font-size:14px" id="nowc_div"></p>
|
||||
<span class="weui_cell_ft"></span>
|
||||
</div>
|
||||
<?php }?>
|
||||
<div onclick="RO.tbtx()" class="weui_cell">
|
||||
<div class="weui_cell_bd weui_cell_primary">
|
||||
同步微信头像
|
||||
</div>
|
||||
<span class="weui_cell_ft"></span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="weui_btn_area">
|
||||
<input class="weui_btn weui_btn_warn" type="button" onclick="RO.tui()" value="退出登录">
|
||||
</div>
|
||||
<div style="height:10px"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="height:55px; overflow:hidden"></div>
|
||||
<div id="footerdiv" style="height:55px;overflow:hidden;z-index:2" class="weui_tabbar">
|
||||
<a href="javascript:;" id="tabnav0" onclick="RO.ctab(0)" class="weui_tabbar_item weui_bar_item_on">
|
||||
<span id="stotal_ss0" class="badge"></span>
|
||||
<div class="weui_tabbar_icon">
|
||||
<i class="icon-comment-alt"></i>
|
||||
</div>
|
||||
<p class="weui_tabbar_label" style="margin-top:0">会话</p>
|
||||
</a>
|
||||
<a href="javascript:;" id="tabnav1" onclick="RO.ctab(1)" class="weui_tabbar_item">
|
||||
<span id="stotal_ss1" class="badge"></span>
|
||||
<div class="weui_tabbar_icon">
|
||||
<i class="icon-th-large"></i>
|
||||
</div>
|
||||
<p class="weui_tabbar_label" style="margin-top:0">应用</p>
|
||||
</a>
|
||||
<a href="javascript:;" id="tabnav2" onclick="RO.ctab(2)" class="weui_tabbar_item">
|
||||
<div class="weui_tabbar_icon">
|
||||
<i class="icon-group"></i>
|
||||
</div>
|
||||
<p class="weui_tabbar_label" style="margin-top:0">联系人</p>
|
||||
</a>
|
||||
<a href="javascript:;" id="tabnav3" onclick="RO.smenu()" class="weui_tabbar_item">
|
||||
<div class="weui_tabbar_icon">
|
||||
<i class="icon-cog"></i>
|
||||
</div>
|
||||
<p class="weui_tabbar_label" style="margin-top:0">更多</p>
|
||||
</a>
|
||||
</div>
|
||||
<script type="text/javascript" src="mode/plugin/jquery-rockdoupull.js"></script>
|
||||
<script type="text/javascript" src="mode/plugin/jquery-rocksilder.js"></script>
|
||||
<script type="text/javascript" src="web/res/js/jquery-changeuser.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
27
webmain/we/index/tpl_index.mini.js
Normal file
27
webmain/we/index/tpl_index.mini.js
Normal file
@@ -0,0 +1,27 @@
|
||||
var ROabc={index:0,splittime:5,ctabci:0,rock:function(){for(var _i in werock)this[_i]=werock[_i];date=js.now();js.ajaxwurbo=true;this.touchobj=$('#mbody').rockdoupull({downbool:true,scrollbool:false,ondownsuccess:function(){RO.reload('none');},ondownbefore:function(){return(RO.index==0||RO.index==1||RO.index==2);},ondrayrlend:function(lx){if(lx<-100)RO.ctab(RO.index+1);if(lx>100)RO.ctab(RO.index-1);}});adminface=js.getoption('adminface','images/noface.png');adminame=js.getoption('adminame',this.bd6('5oiR'));if(adminface)get('myface').src=adminface;$('#myname').html(adminame);$('#my_mz').html(adminame);$('#my_bm').html(js.getoption('deptallname'));$('#my_zw').html(js.getoption('ranking'));var si=sessionStorage.getItem('nowtabs');if(!si)si=0;var dz=location.href;if(dz.indexOf('#list')>0)si=0;if(dz.indexOf('#ying')>0)si=1;if(dz.indexOf('#user')>0)si=2;this.ctab(si);var errmsg=js.request('errmsg');if(!isempt(errmsg))js.wx.alert(this.bd6(errmsg));if(!this.checkyz()){this.ctab=this.lda=function(){};}
|
||||
this.lda();},lda:function(){this.resiezess();$(window).resize(RO.resiezess);var agentjson=js.getoption('agentjson');var hisjson=js.getoption('historyjson');if(agentjson==''||hisjson==''){this.reload();}else{this.reload();var str=js.getoption('silderarr');if(str)this.showsilder(js.decode(str));RO.showagent(js.decode(agentjson));RO.showhistory(js.decode(hisjson));}
|
||||
this.initsearch();$('#nowc_div').html(js.getoption('nowcompany'));},reload:function(lx){if(this.index==2){this.reus(lx);}else{this.ress(lx);}},ress:function(lx){this.homeress(lx);},reus:function(lx){js.ajax('dept','data',false,function(ret){RO.reuss(ret);},lx,false,function(){RO.showerror();});},ressw:function(ret){this.loadtime=ret.loadtime;js.setoption('agentjson',ret.agentjson);js.setoption('historyjson',ret.historyjson);var yyda=js.decode(ret.agentjson);this.showcompanyinfo(ret.companyinfo);this.showagent(yyda);this.showhistory(js.decode(ret.historyjson));js.setoption('myhomenum',ret.myhomenum);if(ret.silderarr){var str='';if(ret.silderarr.length>0)str=JSON.stringify(ret.silderarr);js.setoption('silderarr',str);this.showsilder(ret.silderarr);}
|
||||
this.shagent(yyda);this.reloadok();if(ret.editpass==0){js.wx.alert(RO.bd6('6K!35YWI5L!u5pS55a!G56CB5ZCO5Zyo5L2.55So'),function(){RO.xgmm();});}else{this.timeajaxs();}},shagent:function(d){var stotal=0;var myhomenum=js.getoption('myhomenum');$('#hylidiv').hide();$('#hyli').html('');if(!myhomenum)return;myhomenum=','+myhomenum+',';var bo=false;for(var i=0;i<d.length;i++){stotal+=parseFloat(d[i].stotal);if(myhomenum.indexOf(','+d[i].num+',')>-1){this.showagents(d[i],'hyli','histotal_home_');bo=true;}}
|
||||
if(bo)$('#hylidiv').show();this.changestotl(false,0);},showmyinfo:function(){js.ajaxbool=false;js.ajax('indexreim','showmyinfo',false,function(ret){RO.sufo(ret);},'none');},sufo:function(ret){js.setoption('deptallname',ret.deptallname);js.setoption('ranking',ret.ranking);adminface=ret.face;js.setoption('adminface',adminface);js.setoption('admintoken',ret.admintoken);adminame=ret.name;js.setoption('adminame',adminame);js.setoption('adminid',ret.id);adminid=ret.id;var sj=ret.mobile;get('myface').src=adminface;$('#myname').html(adminame);$('#my_mz').html(adminame);$('#my_bm').html(ret.deptallname);$('#my_yh').html(ret.user);$('#my_sj').html(''+sj.substr(0,3)+'****'+sj.substr(-4)+'');$('#my_zw').html(ret.ranking);this.showcompanyinfo(ret.companyinfo);if(get('bdwx')){if(ret.bdwx){$('#bdwx').html(''+this.bd6('5bey57uR5a6a')+'(<img src="'+ret.bdwx.headimgurl+'" whdth="16" height="16" align="absmiddle">'+ret.bdwx.nickname+')');}else{$('#bdwx').html(this.bd6('5pyq57uR5a6aLOeCueWHu!e7keWumg::'));}}}};var grouparr=[],userarr=[],agentarr={},RO={};function initbody(){for(var i in ROabc)js.main[i]=ROabc[i];js.main.zhuinit();RO=js.main;js.main.rock();}
|
||||
var werock={ctab:function(lx){lx=parseFloat(lx);if(lx<0)lx=3;if(lx>3)lx=0;$("[index='m']").hide();var sid='m_index'+lx+'';$('#'+sid+'').show();$('.weui_tabbar a').removeClass('weui_bar_item_on');$('#tabnav'+lx+'').addClass('weui_bar_item_on');var tass=[document.title,this.bd6('5bqU55So'),this.bd6('6IGU57O75Lq6'),adminame];$('.r-header-text').html(tass[lx]);var tabs=['chat','ying','user','my'];if(get('rtb'+this.index+''))get('rtb'+this.index+'').src='images/nav_'+tabs[this.index]+'0.png';if(get('rtb'+lx+''))get('rtb'+lx+'').src='images/nav_'+tabs[lx]+'1.png';this.index=lx;try{sessionStorage.setItem('nowtabs',lx);}catch(e){}
|
||||
this.touchobj.hidescrolls();if(lx==2){this.showuserlist();}
|
||||
if(lx==3){this.showmyinfo();}else{setTimeout('RO.showmyinfo()',200);}
|
||||
this.ctabci++;},resiezess:function(){var hei=RO.geth();$('#mbody').css('height',''+hei+'px');if(RO.touchobj)RO.touchobj.resize();},qihuendrap:function(yd){if(yd>100&&this.index>0)this.ctab(this.index-1);if(yd<-100&&this.index!=3)this.ctab(this.index+1);},showagent:function(a){var i,len=a.length,d,oshow,typearr={},s,ois=0;oshow=$('#m_index1');oshow.html('');for(i=0;i<len;i++){d=a[i];d.i=i;if(!typearr[d.types])typearr[d.types]=[];typearr[d.types].push(d);}
|
||||
for(ty in typearr){ois++;len=typearr[ty].length;s='<div class="agentp">'+ty+'</div><div id="agentshow_'+ois+'" style="background-color:white" class="weui_grids"></div>';oshow.append(s);for(i=0;i<len;i++){this.showagents(typearr[ty][i],'agentshow_'+ois+'');}}
|
||||
this.changestotl('agentstotal_',1);},showagents:function(d,shows,qizx){var s='';if(!qizx)qizx='agentstotal_';var s1=d.stotal;if(s1==0)s1='';s='<a href="javascript:;" onclick="RO.openagent('+d.id+')" class="weui_grid">';s+='<div class="weui_grid_icon">';s+=' <img src="'+d.face+'">';s+=' <span id="'+qizx+''+d.id+'" temp="agent'+d.id+'" class="badge">'+s1+'</span>';s+='</div>';s+='<p class="weui_grid_label">';s+=' '+d.name+'';s+='</p>';s+='</a>';agentarr[d.id]=d;$('#'+shows+'').append(s);},changestotl:function(jg,lx){if(!jg)jg='histotal_';var o=$("span[id^='"+jg+"']"),oi=0,i,len=o.length,v1;for(i=0;i<len;i++){v1=$(o[i]).text();if(v1=='')v1='0';oi=oi+parseFloat(v1);}
|
||||
if(oi==0)oi='';$('#stotal_ss'+lx+'').html(''+oi);},openagent:function(id){var d=agentarr[id],a=[],i,d1,d2,s2;if(!d)return;var url='?m=ying&d=we&num='+d.num+'';if(d.url=='link'&&!isempt(d.urlm))url=d.urlm;$('span[temp="agent'+id+'"]').html('');this.changestotl('agentstotal_',1);this.changestotl(false,0);js.location(url);},changewxtx:function(o1){var tx=o1.checked?'1':'0';js.ajax('indexreim','changewxtx',{tx:tx},function(){},'none',false,false,'get');},tbtx:function(){js.ajax('indexreim','tongbuface',false,function(ret){var fac=ret.face;if(fac){adminface=fac;js.setoption('adminface',fac);get('myface').src=adminface+'?'+Math.random()+'';}
|
||||
js.msg('success',RO.bd6('5ZCM5q2l5oiQ5Yqf'));},'wait');},bdwx:function(o1){if($(o1).text().indexOf(this.bd6('5bey'))>-1){js.wx.confirm(this.bd6('6KaB6Kej6Zmk57uR5a6a5ZCX77yf'),function(lx){if(lx=='yes')RO.bdwxjc();});return;}
|
||||
if(!js.iswxbo()){js.wx.alert(this.bd6('6K!35Zyo5b6u5L!h5LiK5omT5byA'));return;}
|
||||
js.wx.load(this.bd6('5aSE55CG5LitLi4u'));js.location('?m=login&d=we&a=oauthto&state=bang');},bdwxjc:function(){js.ajax('indexreim','wxbdjc',false,function(){js.wx.msgok(RO.bd6('5bey6Kej6Zmk57uR5a6a'));$('#bdwx').html(RO.bd6('5pyq57uR5a6aLOeCueWHu!e7keWumg::'));});},chdw:function(){js.location('?m=index&d=we&a=company');},initsearch:function(){$('#s_inp').keydown(function(){RO.slo();});$('#s_inp').keyup(function(){RO.slo();});},sus:function(){$('#s_bar').addClass('weui_search_focusing');$('#s_inp').focus();},bsor:function(){var val=$('#s_inp').val();if(val==''){$('#s_bar').removeClass('weui_search_focusing');this.hitsoubo(false);}},sqx:function(){$('#s_inp').val('').blur();this.bsor();},scle:function(){$('#s_inp').val('').focus();},slo:function(){clearTimeout(this.sousousoutime);this.sousousoutime=setTimeout('RO.slos()',500);},hitsoubo:function(bo){if(!bo){$('#userdao').show();$('#deptlist').show();$('#list').show();$('#sslst').hide();}else{$('#userdao').hide();$('#deptlist').hide();$('#list').hide();$('#sslst').show().html('');}},slos:function(){var val=$('#s_inp').val();if(val==''){this.hitsoubo(false);return;}
|
||||
this.hitsoubo(true);var i,a=userarr,len=a.length;for(i=0;i<len;i++){if(a[i].name.indexOf(val)>-1||a[i].deptname.indexOf(val)>-1||a[i].ranking.indexOf(val)>-1||a[i].pingyin.indexOf(val)==0){this.showlist(a[i],true);}}},smenu:function(){js.wx.actionsheet({data:[{name:'<img src="'+adminface+'" align="absmiddle" height="30" width="30"> '+adminame+'',lx:0},{name:this.bd6('5Yi35paw5pWw5o2u'),lx:1},{name:this.bd6('5L!u5pS55a!G56CB'),lx:2},{name:this.bd6('6YCA5Ye655m75b2V'),lx:3}],onclick:function(a){var lx=a.lx;if(lx==0)RO.ctab(3);if(lx==1)RO.reload();if(lx==2)RO.xgmm();if(lx==3)RO.tui();}});},showuserlist:function(){var us=js.getoption('userjson');if(us==''){this.reus();}else{userarr=js.decode(us);grouparr=js.decode(js.getoption('groupjson'));deptarr=js.decode(js.getoption('deptjson'));this.showuserall();this.showgroupall();}},showuserall:function(){var i,len=userarr.length;$('#userdao').html('');$('#userstotal').html('('+len+')');this.showuserlists(deptarr[0].id,0);},showuserlists:function(id,level,o1){if(o1){var as=$('#userdao span');var rb=false;for(var i=0;i<as.length;i++){if(o1==as[i])rb=true;if(rb)$(as[i]).remove();}}
|
||||
var a=deptarr,i,len=a.length,d,dn;$('#deptlist').html('');$('#list').html('')
|
||||
for(i=0;i<len;i++){d=a[i];if(d.id==id)dn=d;if(d.pid==id){d.face='images/wjj.png';this.showdeptlsit(d,level+1);}}
|
||||
if(level>0)$('#userdao').append('<span class="jiantou">></span>');$('#userdao').append('<span onclick="RO.showuserlists('+id+',0, this)">'+dn.name+'</span>');len=userarr.length;var noi=0;for(i=0;i<len;i++){d=userarr[i];if(d.deptid==id||d.deptidss.indexOf(','+id+',')>-1){this.showlist(d,false);noi++;}}
|
||||
if(noi==0&&$('#deptlist').html()==''){$('#list').append('<div style="font-size:14px;text-align:center;padding:30px 10px;color:#cccccc">'+dn.name+' '+this.bd6('5LiL5peg6IGU57O75Lq6')+'</div>');}},showdeptlsit:function(a,level){var s='';s+='<a class="weui_media_box weui_media_appmsg" onclick="RO.showuserlists('+a.id+','+level+')">';s+=' <div class="weui_cell_hd"><img src="'+a.face+'" style="width:34px;margin-right:5px;display:block"></div>';s+=' <div class="weui_cell_bd weui_cell_primary"><p>'+a.name+'';if(a.ntotal>0)s+=' <span style="font-size:12px;color:#888888">('+a.ntotal+')</span>';s+=' </p></div>';s+='</a>';$('#deptlist').append(s);},showlist:function(a,cbo){var s='<a temp="user_'+a.id+'" onclick="RO.opu('+a.id+')" class="weui_media_box weui_media_appmsg">';s+=' <div class="weui_media_hd">';s+=' <img class="weui_media_appmsg_thumb" src="'+a.face+'">';s+=' </div>';s+=' <div class="weui_media_bd">';s+=' <h4 class="weui_media_title">'+a.name+'</h4>';s+=' <p class="weui_media_desc">'+a.deptname+'('+a.ranking+')</p>';s+=' </div>';s+='</a>';if(!cbo){$('#list').append(s);}else{$('#sslst').append(s);}},showgroupall:function(){var i,len2=grouparr.length;$('#glist').html('');$('#glists').html('('+len2+')');for(i=0;i<len2;i++)this.showgroup(grouparr[i],true);},showgroup:function(a,cbo){var s='';s+='<a class="weui_cell" onclick="RO.openguser(\'group\','+a.id+')">';s+=' <div class="weui_cell_hd"><img src="'+a.face+'" alt="" style="width:34px;margin-right:5px;display:block"></div>';s+=' <div class="weui_cell_bd weui_cell_primary"><p>'+a.name+'</p></div>';s+='</a>';$('#glist').append(s);},shdata:{},showhistory:function(a){var i,len=a.length;$('#historylist').html('');$('#hwu_tems').show();for(i=0;i<len;i++){this.showhistorys(a[i]);}
|
||||
this.changestotl(false,0);if(i>0)$('#hwu_tems').hide();},showhistorys:function(d,pad){var s,ty,o=$('#historylist'),d1,st,attr;var num=''+d.type+'_'+d.receid+'';$('#index_'+num+'').remove();this.shdata[num]=d;st=d.stotal;if(st=='0')st='';var ops=d.optdt.substr(11,5);if(d.optdt.indexOf(date)!=0)ops=d.optdt.substr(5,5);ty=d.type;s='<a id="index_'+num+'" onclick="RO.clickitems(\''+ty+'\','+d.receid+', this)" class="weui_media_box weui_media_appmsg">';s+=' <div class="weui_media_hd">';s+=' <img class="weui_media_appmsg_thumb" src="'+d.face+'">';s+=' </div>';s+=' <div class="weui_media_bd">';s+=' <span id="histotal_'+num+'" class="badge">'+st+'</span>';s+=' <font >'+ops+'</font>';s+=' <h4 class="weui_media_title">'+d.name+'</h4>';s+=' <p class="weui_media_desc">'+this.bd6(d.cont)+'</p>';s+=' </div>';s+='</a>';if(!pad){o.append(s);}else{o.prepend(s);}},clickitems:function(ty,id,o){var o1=$(o),num=''+ty+'_'+id+'',d=this.shdata[num];var da=[{name:this.bd6('5omT5byA'),lx:0}];if(d&&d.stotal>0)da.push({name:this.bd6('5qCH6K!G5bey6K!7'),lx:2});da.push({name:this.bd6('5Yig6Zmk5q2k6K6w5b2V'),lx:1});js.showmenu({data:da,onclick:function(a){var lx=a.lx;if(lx==0){RO.openguser(ty,id);}
|
||||
if(lx==1){o1.remove();var tst=$('#historylist').text();if(tst=='')$('#hwu_tems').show();js.ajax('reim','delhistory',{type:ty,gid:id},false,'none');}
|
||||
if(lx==2){RO.biaoyidu(ty,id,true);}}});},opu:function(id){js.location('?a=userinfo&d=we&uid='+id+'');},biaoyidu:function(ty,id,lbo){if(lbo){var num=''+ty+'_'+id+'';$('#histotal_'+num+'').html('');this.changestotl(false,0);var d=this.shdata[num];if(d)d.stotal='0';}
|
||||
js.ajax('reim','yiduall',{type:ty,gid:id},false,'none');},openguser:function(ty,id){var num=''+ty+'_'+id+'';$('#histotal_'+num+'').html('');this.changestotl(false,0);if(ty=='agent'){var d=this.shdata[num];var url='';if(d&&d.stotal>0&&!isempt(d.xgurl)){d.stotal='0';var xga=d.xgurl.split('|');if(xga[1]>0)url='task.php?a=x&num='+xga[0]+'&mid='+xga[1]+'';}
|
||||
if(!url){this.openagent(id);}else{this.biaoyidu(ty,id,false);js.location(url);}}else{js.location('?m=chat&d=we&type='+ty+'&uid='+id+'');}},tui:function(){js.wx.confirm(this.bd6('56Gu5a6a6KaB6YCA5Ye657O757uf5ZCX77yf'),function(lx){if(lx=='yes')RO.tuis();});},tuis:function(){js.ajax('login','loginexit',false,function(){js.wx.msgok(RO.bd6('5bey5oiQ5Yqf6YCA5Ye6'),function(){js.location('?m=login&d=we');},1);});},cusr:function(lx){$("#uslx div").removeClass('active');$("#uslx_"+lx+"").addClass('active');$("div[temp='us']").hide();$("div[temp='us']:eq("+lx+")").show();},timeajaxs:function(){clearTimeout(this.homeretime);if(this.loadtime)this.homeretime=setTimeout(function(){RO.timeajax()},this.splittime*1000);},timeajax:function(){js.ajax('indexreim','loadhit',{time:this.loadtime},function(ret){RO.loadtime=ret.loadtime;if(ret.rows.length>0){RO.shownewhis(ret.rows);}
|
||||
RO.timeajaxs();},'none',false,function(){js.msg();RO.timeajaxs();},'get');},shownewhis:function(a){var i,len=a.length,d=false;for(i=0;i<len;i++){if(!d&&a[i].stotal>0)d=a[i];this.showhistorys(a[i],true);}
|
||||
this.changestotl(false,0);if(i>0)$('#hwu_tems').hide();},showcompanyinfo:function(info){if(info){this.companyinfo=info;var neme=info.name;js.setoption('nowcompany',neme);$('#nowc_div').html(neme);}},showsilder:function(a){if(this.showsilderobj)this.showsilderobj.remove();if(!a||a.length==0)return;this.showsilderobj=$.rocksilder({view:'home_silder',titlebool:true,data:a,onclick:function(d){js.location(d.url);}});},reuss:function(ret){js.setoption('deptjson',ret.deptjson);js.setoption('userjson',ret.userjson);js.setoption('groupjson',ret.groupjson);deptarr=js.decode(ret.deptjson);userarr=js.decode(ret.userjson);grouparr=js.decode(ret.groupjson);this.showuserall();this.showgroupall();this.reloadok();}}
|
||||
81
webmain/we/index/tpl_index_company.html
Normal file
81
webmain/we/index/tpl_index_company.html
Normal file
@@ -0,0 +1,81 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0">
|
||||
<title>我的单位</title>
|
||||
<link rel="stylesheet" type="text/css" href="mode/weui/weui.min.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="web/res/fontawesome/css/font-awesome.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="webmain/css/rui.css">
|
||||
<script type="text/javascript" src="js/jquery.js"></script>
|
||||
<script type="text/javascript" src="js/js.js"></script>
|
||||
<script type="text/javascript" src="js/jswx.js"></script>
|
||||
<style>
|
||||
body, html{height:auto}
|
||||
<?php
|
||||
$maincolor = getconfig('apptheme','#1389D3');
|
||||
$maincolora= c('image')->colorTorgb($maincolor);
|
||||
$maincolors= ''.$maincolora[0].','.$maincolora[1].','.$maincolora[2].'';
|
||||
echo 'body{--main-color:'.$maincolor.';}';
|
||||
?>
|
||||
</style>
|
||||
<script>
|
||||
var nowid = <?=$carr['companyid']?>;
|
||||
var ofrom = '<?=$ofrom?>';
|
||||
var c={
|
||||
change:function(ns,id){
|
||||
if(nowid==id)return;
|
||||
js.wx.confirm('确定要切换到单位上“'+ns+'”吗?', function(jg){
|
||||
if(jg=='yes'){
|
||||
js.setoption('nowcompany', ns);
|
||||
js.loading('切换中...');
|
||||
js.ajax('index','changecompany',{id:id}, function(){
|
||||
if(ofrom=='reim'){
|
||||
parent.reim.changecomok();
|
||||
}else{
|
||||
js.wx.msgok('切换成功',function(){js.back();},1);
|
||||
}
|
||||
},'none',false,false,'get');
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
|
||||
<body>
|
||||
<?php if($showheader==1){?>
|
||||
<div>
|
||||
<div class="r-header">
|
||||
<div class="r-header-text" id="header_title">我的单位</div>
|
||||
<span onclick="js.back()" class="r-position-left r-header-btn"><i class="icon-chevron-left"></i></span>
|
||||
</div>
|
||||
<div class="blank50"></div>
|
||||
</div>
|
||||
<?php }?>
|
||||
|
||||
<div onclick="js.reload();" class="weui_cells_title">我加入单位</div>
|
||||
<div id="list" class="weui_cells weui_cells_access">
|
||||
<?php foreach($carr['companyinfoall'] as $k=>$rs){?>
|
||||
<div class="weui_cell" onclick="c.change('<?=$rs['name']?>', <?=$rs['id']?>)">
|
||||
<div class="weui_cell_bd weui_cell_primary"><p><img src="<?=$rs['logo']?>" height="20" width="20" align="absmiddle"> <?=$rs['name']?></p></div>
|
||||
<span class="weui_cell_right">
|
||||
<?php
|
||||
if($rs['id']==$carr['companyid']){
|
||||
echo '<i class="weui_icon_success_no_circle"></i>';
|
||||
}else{
|
||||
|
||||
}
|
||||
?>
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<?php }?>
|
||||
</div>
|
||||
<?php if(isempt($ofrom)){?>
|
||||
<div style="bottom:30px" id="buttonstr" align="center" class="weui_extra_area"><a onclick="js.back()" href="javascript:;"><<返回</a></div>
|
||||
<div style="height:10px"></div>
|
||||
<?php }?>
|
||||
</body>
|
||||
</html>
|
||||
106
webmain/we/index/tpl_index_editpass.html
Normal file
106
webmain/we/index/tpl_index_editpass.html
Normal file
@@ -0,0 +1,106 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0">
|
||||
<title>修改密码</title>
|
||||
<link rel="stylesheet" type="text/css" href="mode/weui/weui.min.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="web/res/fontawesome/css/font-awesome.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="webmain/css/rui.css">
|
||||
<link rel="shortcut icon" href="favicon.ico" />
|
||||
<script type="text/javascript" src="js/jquery.js"></script>
|
||||
<script type="text/javascript" src="js/js.js"></script>
|
||||
<script type="text/javascript" src="js/jswx.js"></script>
|
||||
<script>
|
||||
ismobile = 1;
|
||||
function loginsubmit(){
|
||||
var opass = $('#oldpass').val();
|
||||
var pass = $('#newpass').val();
|
||||
var pass1 = $('#newpass1').val();
|
||||
|
||||
if(opass==''){
|
||||
js.msg('msg','旧密码不能为空');
|
||||
return false;
|
||||
}
|
||||
|
||||
if(pass.length <4){
|
||||
js.msg('msg','新密码不能少于4个字符');
|
||||
return false;
|
||||
}
|
||||
if(!/[a-zA-Z]{1,}/.test(pass) || !/[0-9]{1,}/.test(pass)){
|
||||
js.msg('msg','新密码必须使用字母+数字');
|
||||
return false;
|
||||
}
|
||||
if(opass==pass){
|
||||
js.msg('msg','新密码不能和旧密码相同');
|
||||
return false;
|
||||
}
|
||||
if(pass!=pass1){
|
||||
js.msg('msg','确认密码不一致');
|
||||
return false;
|
||||
}
|
||||
js.ajax('user','editpass',{passoldPost:opass,passwordPost:pass},function(){
|
||||
js.wx.msgok('密码修改成功',function(){
|
||||
if(js.request('ofrom')=='reim'){
|
||||
parent.js.tanclose('winiframe');
|
||||
}else{
|
||||
js.back();
|
||||
}
|
||||
},1);
|
||||
});
|
||||
}
|
||||
function initbody(){
|
||||
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
<?php
|
||||
$maincolor = getconfig('apptheme','#1389D3');
|
||||
$maincolora= c('image')->colorTorgb($maincolor);
|
||||
$maincolors= ''.$maincolora[0].','.$maincolora[1].','.$maincolora[2].'';
|
||||
echo 'body{--main-color:'.$maincolor.';}';
|
||||
?>
|
||||
</style>
|
||||
</head>
|
||||
|
||||
|
||||
<body style="overflow:hidden">
|
||||
<?php if($showheader==1){?>
|
||||
<div>
|
||||
<div class="r-header">
|
||||
<div class="r-header-text" id="header_title">修改密码</div>
|
||||
<span onclick="js.back()" class="r-position-left r-header-btn"><i class="icon-chevron-left"></i></span>
|
||||
</div>
|
||||
<div class="blank50"></div>
|
||||
</div>
|
||||
<?php }?>
|
||||
|
||||
|
||||
<div class="weui_cells weui_cells_form">
|
||||
<div class="weui_cell">
|
||||
<div class="weui_cell_hd"><label class="weui_label">旧密码</label></div>
|
||||
<div class="weui_cell_bd weui_cell_primary">
|
||||
<input class="weui_input" type="text" id="oldpass" placeholder="请输入旧密码"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="weui_cell">
|
||||
<div class="weui_cell_hd"><label class="weui_label">新密码</label></div>
|
||||
<div class="weui_cell_bd weui_cell_primary">
|
||||
<input class="weui_input" id="newpass" type="password" placeholder="至少4位字母+数字组合"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="weui_cell">
|
||||
<div class="weui_cell_hd"><label class="weui_label">确认密码</label></div>
|
||||
<div class="weui_cell_bd weui_cell_primary">
|
||||
<input class="weui_input" id="newpass1" type="password" placeholder="请输入"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="weui_btn_area">
|
||||
<input class="weui_btn weui_btn_primary" type="button" onclick="loginsubmit()" value="确定" id="btn0">
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
75
webmain/we/index/tpl_index_test.html
Normal file
75
webmain/we/index/tpl_index_test.html
Normal file
@@ -0,0 +1,75 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0">
|
||||
<title><?=$da['title']?></title>
|
||||
<link rel="shortcut icon" href="favicon.ico" />
|
||||
<script type="text/javascript" src="js/jquery.js"></script>
|
||||
<script type="text/javascript" src="js/js.js"></script>
|
||||
<script type="text/javascript" src="js/touch-0.2.14.min.js"></script>
|
||||
<style>
|
||||
|
||||
</style>
|
||||
<script>
|
||||
function initbody(){
|
||||
|
||||
$(window).scroll(function(){
|
||||
//var dd=$('body').scrollTop();
|
||||
//js.debug(dd);
|
||||
});
|
||||
|
||||
var obj = document.body;
|
||||
touch.on(obj, 'dragstart', function(e){
|
||||
startyy = e.distanceY;
|
||||
stime = e.timeStamp;
|
||||
startyys = $('body').scrollTop();
|
||||
|
||||
//js.debug(startyys);
|
||||
js.debug(e);
|
||||
});
|
||||
|
||||
touch.on(obj, 'drag', function(e){
|
||||
var hei = e.distanceY-startyy;
|
||||
var o = $('#mainbody');
|
||||
//var lef = startyys-hei;if(lef<0)lef=0;
|
||||
});
|
||||
|
||||
touch.on(obj, 'dragend', function(e){
|
||||
var jg = e.timeStamp-stime;
|
||||
var hudong = e.distanceY-startyy;
|
||||
var hei = hudong>0 ? -1 : 1;
|
||||
|
||||
//计算滑动速度
|
||||
var hms = 300;
|
||||
var jgs = (hms-jg)/0.2 * hei;
|
||||
if(jg<hms){
|
||||
var ass = $('#mainbody').scrollTop();
|
||||
//$('#mainbody').animate({scrollTop:ass+jgs}, hms-jg+200);
|
||||
}
|
||||
|
||||
js.debug(''+jg+'-'+hei+':'+(300-jg)/0.5+'');
|
||||
|
||||
setTimeout(function(){
|
||||
|
||||
var heig = $('body').scrollTop() - startyys;
|
||||
|
||||
|
||||
var s = '在时间:'+jg+',滑动:'+hudong+',总滚动:'+heig+'';
|
||||
js.debug(s);
|
||||
},2000);
|
||||
});
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
|
||||
|
||||
<body style="background-color:#eeeeee">
|
||||
<?php
|
||||
for($i=0;$i<=100; $i++)echo '<div style="padding:10px; border-bottom:1px #cccccc solid">测试'.$i.'</div>';
|
||||
?>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
126
webmain/we/index/tpl_index_userinfo.html
Normal file
126
webmain/we/index/tpl_index_userinfo.html
Normal file
@@ -0,0 +1,126 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0">
|
||||
<title><?=$arr['name']?></title>
|
||||
<link rel="stylesheet" type="text/css" href="mode/weui/weui.min.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="web/res/fontawesome/css/font-awesome.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="webmain/css/rui.css">
|
||||
<link rel="shortcut icon" href="favicon.ico" />
|
||||
<script type="text/javascript" src="js/jquery.js"></script>
|
||||
<script type="text/javascript" src="js/js.js"></script>
|
||||
<script type="text/javascript" src="js/base64-min.js"></script>
|
||||
<script type="text/javascript" src="web/res/js/jquery-imgview.js"></script>
|
||||
<?php
|
||||
if($web=='ding')echo '<script type="text/javascript" src="js/jsdd.js?'.time().'"></script>';
|
||||
?>
|
||||
<style>
|
||||
<?php
|
||||
$maincolor = getconfig('apptheme','#1389D3');
|
||||
$maincolora= c('image')->colorTorgb($maincolor);
|
||||
$maincolors= ''.$maincolora[0].','.$maincolora[1].','.$maincolora[2].'';
|
||||
echo 'body{--main-color:'.$maincolor.';}';
|
||||
?>
|
||||
body,html{overflow:hidden}
|
||||
.hd{padding:2em 0; text-align:center;}
|
||||
.hd img{height:100px;width:100px;border-radius:50px}
|
||||
</style>
|
||||
<script>
|
||||
ismobile = 1,openbo=false;
|
||||
function initbody(){
|
||||
//if(js.jssdkdingding)js.jssdkdingding(['biz.chat.chooseConversationByCorpId','biz.chat.openSingleChat','biz.chat.pickConversation']);
|
||||
}
|
||||
js.jssdkddcall=function(bo){
|
||||
openbo = bo;
|
||||
}
|
||||
function gotochar(){
|
||||
if(!openbo){
|
||||
js.location('?m=chat&d=we&type=user&uid=<?=$arr['id']?>');
|
||||
}else{
|
||||
|
||||
}
|
||||
}
|
||||
function showface(o1){
|
||||
$.imgview({url:o1.src,ismobile:true});
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
|
||||
<body>
|
||||
<?php if($showheader==1){?>
|
||||
<div>
|
||||
<div class="r-header">
|
||||
<div class="r-header-text" id="header_title"><?=$arr['name']?></div>
|
||||
<span onclick="js.back()" class="r-position-left r-header-btn"><i class="icon-chevron-left"></i></span>
|
||||
</div>
|
||||
<div class="blank50"></div>
|
||||
</div>
|
||||
<?php }?>
|
||||
|
||||
|
||||
<div>
|
||||
|
||||
<div style="margin-top:20px" class="weui_panel weui_panel_access">
|
||||
<div class="weui_panel_bd">
|
||||
<a href="javascript:void(0);" class="weui_media_box weui_media_appmsg">
|
||||
<div class="weui_media_hd">
|
||||
<img class="weui_media_appmsg_thumb" onclick="showface(this)" src="<?=$arr['face']?>">
|
||||
</div>
|
||||
<div class="weui_media_bd">
|
||||
<h4 class="weui_media_title"><?=$arr['name']?></h4>
|
||||
<p style="font-size:14px;color:#888888">部门:<?=$arr['deptallname']?><br>职位:<?=$arr['ranking']?></p>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="height:10px"></div>
|
||||
<p class="weui_cells_title">联系方式</p>
|
||||
<div class="weui_cells weui_cells_access">
|
||||
<a class="weui_cell">
|
||||
<div class="weui_cell_bd weui_cell_primary">
|
||||
<p style="color:#888888">性别</p>
|
||||
</div>
|
||||
<span style="color:#000000"><?=$arr['sex']?></span>
|
||||
</a>
|
||||
<a class="weui_cell" href="tel:<?=$arr['tel']?>">
|
||||
<div class="weui_cell_bd weui_cell_primary">
|
||||
<p style="color:#888888">电话</p>
|
||||
</div>
|
||||
<span style="color:#000000" class="weui_cell_ft"><?=$arr['tel']?></span>
|
||||
</a>
|
||||
<a class="weui_cell" href="tel:<?=$arr['mobile']?>">
|
||||
<div class="weui_cell_bd weui_cell_primary">
|
||||
<p style="color:#888888">手机号</p>
|
||||
</div>
|
||||
<span style="color:#000000" class="weui_cell_ft"><?=$arr['mobile']?></span>
|
||||
</a>
|
||||
<a class="weui_cell" href="mailto:<?=$arr['email']?>">
|
||||
<div class="weui_cell_bd weui_cell_primary">
|
||||
<p style="color:#888888">邮箱</p>
|
||||
</div>
|
||||
<span class="weui_cell_right"><?=$arr['email']?></span>
|
||||
</a>
|
||||
<?php if($da['adminid']=='1'){?>
|
||||
<a class="weui_cell">
|
||||
<div class="weui_cell_bd weui_cell_primary">
|
||||
<p style="color:#888888">用户Id</p>
|
||||
</div>
|
||||
<span style="color:#000000"><?=$arr['id']?></span>
|
||||
</a>
|
||||
<?php }?>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="weui_btn_area">
|
||||
<a onclick="gotochar()" class="weui_btn weui_btn_primary"><i class="icon-comment"></i> 发消息</a>
|
||||
</div>
|
||||
<div style="height:10px"></div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
108
webmain/we/login/loginAction.php
Normal file
108
webmain/we/login/loginAction.php
Normal file
@@ -0,0 +1,108 @@
|
||||
<?php
|
||||
class loginClassAction extends ActionNot{
|
||||
|
||||
public function defaultAction()
|
||||
{
|
||||
//判断是否可以快捷登录
|
||||
$iskj = $this->weiuser();
|
||||
|
||||
if($this->rock->iswebbro(1)){
|
||||
$token = $this->option->getval('dingding_token0');
|
||||
if(!isempt($token))$iskj=3;
|
||||
}
|
||||
$this->assign('iskj', $iskj);
|
||||
|
||||
$ptoken = $this->get('ptoken');
|
||||
$loginyzm = (int)getconfig('loginyzm','0');
|
||||
if(!isempt($ptoken))$loginyzm = 0;
|
||||
$this->assign('loginyzm', $loginyzm); //登录类型
|
||||
$this->smartydata['platsign'] = $this->getsession('platsign');
|
||||
}
|
||||
|
||||
//判断当前使用微信啥的
|
||||
public function weiuser()
|
||||
{
|
||||
$iskj = 0;
|
||||
if($this->rock->iswebbro(0)){
|
||||
$qycrid = $this->option->getval('weixinqy_corpid');
|
||||
if($this->rock->isqywx){
|
||||
if(!isempt($qycrid))$iskj=2;
|
||||
}else{
|
||||
//$coppid = $this->option->getval('weixin_corpid');
|
||||
//if(!isempt($coppid))$iskj=1;
|
||||
if($iskj==0 && !isempt($qycrid))$iskj=2;
|
||||
if($iskj==0 && $this->option->getval('wxgzh_tplmess')=='1')$iskj=4;
|
||||
}
|
||||
}
|
||||
return $iskj;
|
||||
}
|
||||
|
||||
/**
|
||||
* 微信快捷登录
|
||||
*/
|
||||
public function wxloginAction()
|
||||
{
|
||||
$this->display= false;
|
||||
$iskj = $this->weiuser();
|
||||
if($iskj==2){
|
||||
m('weixinqy:oauth')->login();
|
||||
}else if($iskj==4){
|
||||
m('wxgzh:oauth')->oauthto('we','login');
|
||||
}else{
|
||||
m('weixin:oauth')->login();
|
||||
}
|
||||
}
|
||||
|
||||
//获取后回调
|
||||
public function wxlogincodeAction()
|
||||
{
|
||||
$this->display= false;
|
||||
$iskj = $this->weiuser();
|
||||
if($iskj==2){
|
||||
m('weixinqy:oauth')->logincode();
|
||||
}else{
|
||||
m('weixin:oauth')->logincode();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 微信授权绑定
|
||||
*/
|
||||
public function oauthtoAction()
|
||||
{
|
||||
$this->display= false;
|
||||
m('wxgzh:oauth')->oauthto();
|
||||
}
|
||||
public function oauthbackAction()
|
||||
{
|
||||
$state = $this->get('state','bang');
|
||||
$ubarr = m('wxgzh:oauth')->oauthback();
|
||||
if($state=='login'){
|
||||
m('wxgzh:oauth')->wxloginback($ubarr);
|
||||
}else{
|
||||
if(!is_array($ubarr)){
|
||||
$this->assign('backstate', '0');
|
||||
$this->assign('backerror', $ubarr);
|
||||
}else{
|
||||
$this->assign('backstate', '1');
|
||||
$this->assign('backarr', $ubarr);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 无登录页面的快捷登录
|
||||
*/
|
||||
public function qywxloginAction()
|
||||
{
|
||||
$this->display= false;
|
||||
m('weixinqy:oauth')->login('qy');
|
||||
}
|
||||
public function qywxlogincodeAction()
|
||||
{
|
||||
m('weixinqy:oauth')->logincode('qy');
|
||||
}
|
||||
}
|
||||
331
webmain/we/login/tpl_login.html
Normal file
331
webmain/we/login/tpl_login.html
Normal file
@@ -0,0 +1,331 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0">
|
||||
<title>登录</title>
|
||||
<link rel="stylesheet" type="text/css" href="mode/weui/weui.min.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="webmain/css/rui.css">
|
||||
<link rel="shortcut icon" href="favicon.ico" />
|
||||
<script type="text/javascript" src="js/jquery.js"></script>
|
||||
<script type="text/javascript" src="js/js.js"></script>
|
||||
<script type="text/javascript" src="js/jswx.js"></script>
|
||||
<script type="text/javascript" src="js/base64-min.js"></script>
|
||||
<?php
|
||||
if($iskj==3)echo '<script type="text/javascript" src="js/jsdd.js"></script>';
|
||||
?>
|
||||
<style>
|
||||
body,html{overflow:hidden;}
|
||||
body{background-color:#fbf9fe}
|
||||
.page_desc{text-align:center;color:#888;font-size:14px}
|
||||
.hd{padding:2em 0; text-align:center}
|
||||
.hd img{height:100px;width:100px;border-radius:50px}
|
||||
.weui_label{width:80px;}
|
||||
.weui_btn:disabled{background:#888888}
|
||||
</style>
|
||||
<script>
|
||||
var temp_token='';
|
||||
function initbody(){
|
||||
var msurl = location.href;
|
||||
var us=jm.base64decode(js.request('user'));
|
||||
if(!us)us=js.getoption('adminuser');
|
||||
$('#adminpass').val(jm.base64decode(js.getoption('weadminpass')));
|
||||
get('adminmobile').value=js.getoption('adminmobile');
|
||||
temp_token=js.request('token');
|
||||
$('#adminuser').val(us);
|
||||
var face = js.getoption('adminface');
|
||||
if(face)get('myface').src=face;
|
||||
if(temp_token.length>=8&&us!=''){
|
||||
loginsubmit(0);
|
||||
}
|
||||
var errmsg = js.request('errmsg');
|
||||
if(errmsg)js.wx.alert(jm.base64decode(errmsg));
|
||||
if(!errmsg){
|
||||
var ptoken = js.request('ptoken');
|
||||
if(ptoken!='' && us!=''){
|
||||
$('#adminpass').val(ptoken);
|
||||
loginsubmit(0);
|
||||
}
|
||||
}
|
||||
$('#adminuser').keyup(function(e){
|
||||
if(e.keyCode==13 && this.value)$('#adminpass').focus();
|
||||
});
|
||||
$('#adminpass').keyup(function(e){
|
||||
js.setoption('weadminpass', jm.base64encode(this.value));
|
||||
if(e.keyCode==13 && this.value)loginsubmit(0);
|
||||
});
|
||||
}
|
||||
var loginyzm = '';
|
||||
function loginsubmit(lx){
|
||||
if(js.ajaxbool)return false;
|
||||
if(lx==1)temp_token='';
|
||||
var user = '',pass = '';
|
||||
js.setmsg('');
|
||||
var ltype = get('logintype').value;
|
||||
|
||||
if(ltype=='0'){
|
||||
user = get('adminuser').value,pass = get('adminpass').value;
|
||||
if(user==''){
|
||||
js.wx.alert('用户名不能为空', function(){get('adminuser').focus()});
|
||||
return false;
|
||||
}
|
||||
if(pass==''&&temp_token==''){
|
||||
js.wx.alert('密码不能为空', function(){get('adminpass').focus()});
|
||||
return false;
|
||||
}
|
||||
}else{
|
||||
user = get('adminmobile').value;
|
||||
if(user==''){
|
||||
js.msg('msg','手机号不能为空');
|
||||
get('adminmobile').focus();
|
||||
return false;
|
||||
}
|
||||
js.setoption('adminmobile', user);
|
||||
loginyzm = get('adminmobileyzm').value;
|
||||
if(loginyzm=='' || loginyzm.length!=6){
|
||||
js.msg('msg','手机验证码格式不对');
|
||||
get('adminmobileyzm').focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
js.setoption('adminuser', user);
|
||||
var o = get('btn0');
|
||||
o.value='登录中...';
|
||||
o.disabled=true;
|
||||
var spd = {user:jm.base64encode(user),pass:jm.base64encode(pass),ltype:ltype,token:temp_token,yanzm:loginyzm};
|
||||
loginyzm = '';
|
||||
js.ajax('login','check',spd, function(da){
|
||||
o.value='登录成功';
|
||||
loginsuccess(da);
|
||||
},'none',false, function(str, ret){
|
||||
o.value='登录';
|
||||
o.disabled=false;
|
||||
if(ret){
|
||||
var a = ret.data;
|
||||
if(a.shouji){
|
||||
mobilejsho = a.mobile;
|
||||
js.wx.prompt('输入手机验证码','手机号:'+a.shouji+' <span><a class="zhu" href="javascript:;" onclick="getcodes(this)">[获取验证码]</a></span>',function(txt){
|
||||
if(txt){
|
||||
loginyzm = txt;
|
||||
loginsubmit(0);
|
||||
}
|
||||
});;
|
||||
}
|
||||
}
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
function getcodes(o1){
|
||||
var da = {'mobile':mobilejsho,'device':device};
|
||||
var o2 = $(o1).parent();
|
||||
o2.html(js.getmsg('获取中...'));
|
||||
js.ajax('yanzm','index',da, function(da){
|
||||
o2.html(js.getmsg('获取成功','green'));
|
||||
},'none',false, function(str, ret){
|
||||
o2.html(js.getmsg(str));
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
function loginsuccess(d){
|
||||
js.setoption('adminface', d.face);
|
||||
js.setoption('adminame',d.name);
|
||||
js.setoption('deptallname',d.deptallname);
|
||||
js.setoption('ranking',d.ranking);
|
||||
js.setoption('adminid',d.uid);
|
||||
|
||||
var burl = js.request('backurl');
|
||||
var curl = (burl=='')?'?m=index&d=we':jm.base64decode(burl);
|
||||
js.location(curl);
|
||||
}
|
||||
function yanzdengl(lx){
|
||||
js.wx.load('处理中...');
|
||||
var burl = js.request('backurl');
|
||||
js.location('?m=login&d=we&a=wxlogin&state=login&backurl='+burl+'');
|
||||
}
|
||||
|
||||
//最新钉钉快捷登录使用
|
||||
function dingdengl(bo){
|
||||
if(!bo){
|
||||
js.wx.load('处理中...');
|
||||
js.ddjsimport(function(){
|
||||
dingdengl(true);
|
||||
});
|
||||
return;
|
||||
}
|
||||
js.ajax('login','ddqiyeid',false,function(ret){
|
||||
if(!ret.qiyeid){
|
||||
js.wx.alert('没有设置钉钉的企业CorpId');
|
||||
return;
|
||||
}
|
||||
js.wx.load('处理中...');
|
||||
dd.ready(function() {
|
||||
dd.runtime.permission.requestAuthCode({
|
||||
corpId: ret.qiyeid,
|
||||
onSuccess: function(result){
|
||||
dingdlogn(result.code);
|
||||
},
|
||||
onFail : function(err) {
|
||||
shidengl(1);
|
||||
}
|
||||
});
|
||||
});
|
||||
},'none',false, function(str){
|
||||
shidengl(str);
|
||||
});
|
||||
}
|
||||
|
||||
function shidengl(lx){
|
||||
js.wx.unload();
|
||||
js.wx.alert('无法使用钉钉快捷登录'+lx+'');
|
||||
}
|
||||
function dingdlogn(code){
|
||||
js.ajax('login','dingcheck',{code:code}, function(ret){
|
||||
$('#adminuser').val(ret.user);
|
||||
$('#adminpass').val(ret.ptoken);
|
||||
loginsubmit(0);
|
||||
},'none',false, function(str){
|
||||
shidengl(str);
|
||||
});
|
||||
}
|
||||
|
||||
function reimplatlogin(){
|
||||
js.wx.load('登录中...');
|
||||
js.ajax('login','reimplatlogin',false, function(ret){
|
||||
$('#adminuser').val(ret.user);
|
||||
$('#adminpass').val(ret.pass);
|
||||
loginsubmit(0);
|
||||
},'none',false, function(str){
|
||||
js.wx.unload();
|
||||
js.wx.alert(str);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
function changlogin(o1){
|
||||
var ltype = get('logintype').value;
|
||||
if(ltype=='0'){
|
||||
$(o1).html('帐号密码登录');
|
||||
get('logintype').value='1';
|
||||
$('#loginview0').hide();
|
||||
$('#loginview1').show();
|
||||
}else{
|
||||
$(o1).html('验证码登录');
|
||||
get('logintype').value='0';
|
||||
$('#loginview1').hide();
|
||||
$('#loginview0').show();
|
||||
}
|
||||
}
|
||||
|
||||
//获取验证码
|
||||
function getyzm(o1){
|
||||
mobilejsho = get('adminmobile').value;
|
||||
if(!mobilejsho){
|
||||
js.msg('msg','请输入手机号');
|
||||
get('adminmobile').focus();
|
||||
return;
|
||||
}
|
||||
var da = {'mobile':mobilejsho,'device':device};
|
||||
o1.value = '获取中...';
|
||||
js.setmsg();
|
||||
o1.disabled=true;
|
||||
|
||||
js.ajax('yanzm','glogin',da, function(da){
|
||||
o1.value = '获取成功';
|
||||
js.msg('success', '验证码已发送到手机上');
|
||||
dshitime(60, o1);
|
||||
},'none',false, function(str, ret){
|
||||
o1.value = '重新获取';
|
||||
o1.disabled=false;
|
||||
js.setmsg(str);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function dshitime(sj,o1){
|
||||
if(sj==0){
|
||||
o1.disabled=false;
|
||||
o1.value='重新获取';
|
||||
return;
|
||||
}
|
||||
o1.disabled=true;
|
||||
o1.value=''+sj+'';
|
||||
setTimeout(function(){dshitime(sj-1, o1)},1000);
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
|
||||
|
||||
<body>
|
||||
|
||||
<div class="hd">
|
||||
<div><img id="myface" onclick="location.reload()" src="images/logo.png"></div>
|
||||
</div>
|
||||
<div class="weui_cells weui_cells_form">
|
||||
<?php if($loginyzm!=3){?>
|
||||
<div id="loginview0">
|
||||
<div class="weui_cell">
|
||||
<div class="weui_cell_hd"><label class="weui_label">用户名</label></div>
|
||||
<div class="weui_cell_bd weui_cell_primary">
|
||||
<input class="weui_input" type="text" id="adminuser" placeholder="请输入用户名/姓名/手机号"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="weui_cell">
|
||||
<div class="weui_cell_hd"><label class="weui_label">密码</label></div>
|
||||
<div class="weui_cell_bd weui_cell_primary">
|
||||
<input class="weui_input" id="adminpass" type="password" placeholder="请输入密码"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="loginview1" style="display:none">
|
||||
<input type="hidden" id="logintype" value="0">
|
||||
<?php }else{?>
|
||||
<div id="loginview1">
|
||||
<input type="hidden" id="logintype" value="1">
|
||||
<?php }?>
|
||||
<div class="weui_cell">
|
||||
<div class="weui_cell_hd"><label class="weui_label">手机号</label></div>
|
||||
<div class="weui_cell_bd weui_cell_primary">
|
||||
<input class="weui_input" type="text" id="adminmobile" maxlength="11" placeholder="请输入手机号"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="weui_cell">
|
||||
<div class="weui_cell_hd"><label class="weui_label">验证码</label></div>
|
||||
<div class="weui_cell_bd weui_cell_primary">
|
||||
<input class="weui_input" id="adminmobileyzm" maxlength="6" placeholder="请输入验证码"/>
|
||||
</div>
|
||||
<div class="weui_cell_ft">
|
||||
<input class="weui_btn weui_btn_mini weui_btn_primary" onclick="getyzm(this)" type="button" value="获取">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="weui_btn_area">
|
||||
<input class="weui_btn weui_btn_primary" type="button" onclick="loginsubmit(0)" value="登录" id="btn0">
|
||||
</div>
|
||||
<?php
|
||||
if($iskj>0){
|
||||
if($iskj==3){
|
||||
echo '<div onclick="dingdengl()" style="text-align:center;padding-top:10px;color:#1389D3">钉钉快捷登录</div>';
|
||||
}else{
|
||||
echo '<div onclick="yanzdengl('.$iskj.')" style="text-align:center;padding-top:10px;color:#1389D3">'.(($iskj==2)?'企业':'').'微信'.(($iskj==4)? '公众号':'快捷').'登录</div>';
|
||||
}
|
||||
}
|
||||
if($da['platsign'])echo '<div onclick="reimplatlogin(this)" style="text-align:center;padding-top:10px;color:#336699">快捷登录</div>';
|
||||
|
||||
if($loginyzm>0 && $loginyzm!=3)echo '<div class="weui_extra_area" onclick="changlogin(this)" style="text-align:center;color:#888888;padding-bottom:10px">验证码登录</div>';
|
||||
?>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
61
webmain/we/login/tpl_login_oauthback.html
Normal file
61
webmain/we/login/tpl_login_oauthback.html
Normal file
@@ -0,0 +1,61 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0">
|
||||
<title>微信授权</title>
|
||||
<link rel="stylesheet" type="text/css" href="mode/weui/weui.min.css"/>
|
||||
<style>
|
||||
body,html{overflow:hidden;}
|
||||
body{background-color:#fbf9fe}
|
||||
</style>
|
||||
<script>
|
||||
|
||||
</script>
|
||||
</head>
|
||||
|
||||
|
||||
<body>
|
||||
|
||||
<div class="weui_msg">
|
||||
|
||||
<?php if($backstate=='1'){?>
|
||||
<div class="weui_icon_area"><i class="weui_icon_success weui_icon_msg"></i></div>
|
||||
<div class="weui_text_area">
|
||||
|
||||
|
||||
<h2 class="weui_msg_title">操作成功</h2>
|
||||
<p class="weui_msg_desc">绑定微信:<?=$backarr['nickname']?></p>
|
||||
</div>
|
||||
|
||||
<?php }else{?>
|
||||
<div class="weui_icon_area"><i class="weui_icon_warn weui_icon_msg"></i></div>
|
||||
<div class="weui_text_area">
|
||||
|
||||
|
||||
<h2 class="weui_msg_title" style="color:red">操作失败</h2>
|
||||
<p class="weui_msg_desc"><?=$backerror?></p>
|
||||
|
||||
</div>
|
||||
<?php }?>
|
||||
|
||||
|
||||
|
||||
<div class="weui_opr_area">
|
||||
<p class="weui_btn_area">
|
||||
<?php if($backstate=='1'){?>
|
||||
<button onclick="history.back()" class="weui_btn weui_btn_primary">确定</button>
|
||||
<?php }else{?>
|
||||
<button onclick="history.back()" class="weui_btn weui_btn_warn">确定</button>
|
||||
<?php }?>
|
||||
|
||||
</p>
|
||||
</div>
|
||||
<div class="weui_extra_area">
|
||||
<a href="">可点确定返回</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
29
webmain/we/logn/lognAction.php
Normal file
29
webmain/we/logn/lognAction.php
Normal file
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
class lognClassAction extends ActionNot{
|
||||
|
||||
|
||||
public function initAction()
|
||||
{
|
||||
$this->mweblogin(0, true);
|
||||
}
|
||||
|
||||
public function defaultAction()
|
||||
{
|
||||
|
||||
$randkey = $this->get('randkey');
|
||||
$dfrom = $this->get('dfrom','reim');
|
||||
if(isempt($randkey))exit('无效访问');
|
||||
|
||||
$db = m('admin');
|
||||
$urs = $db->getone($this->adminid,'name,face');
|
||||
$urs['face'] = $db->getface($urs['face']);
|
||||
$urs['randkey'] = $randkey;
|
||||
|
||||
c('cache')->set($randkey,'0',60);
|
||||
|
||||
$this->assign('urs', $urs);
|
||||
$this->assign('dfrom', $dfrom);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
49
webmain/we/logn/tpl_logn.html
Normal file
49
webmain/we/logn/tpl_logn.html
Normal file
@@ -0,0 +1,49 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0">
|
||||
<title>确认登录</title>
|
||||
<link rel="stylesheet" type="text/css" href="mode/weui/weui.min.css"/>
|
||||
<link rel="shortcut icon" href="favicon.ico" />
|
||||
<script type="text/javascript" src="js/jquery.js"></script>
|
||||
<script type="text/javascript" src="js/js.js"></script>
|
||||
<script type="text/javascript" src="js/jswx.js"></script>
|
||||
<script type="text/javascript" src="js/base64-min.js"></script>
|
||||
<style>
|
||||
body,html{overflow:hidden; background:white}
|
||||
.page_desc{text-align:center;color:#888;font-size:14px}
|
||||
.hd{padding:2em 0; text-align:center}
|
||||
.hd img{height:100px;width:100px;border-radius:50px}
|
||||
</style>
|
||||
<script>
|
||||
function loginsubmit(lx,o){
|
||||
var spd = {lx:lx,'randkey':'<?=$urs['randkey']?>'};
|
||||
js.ajax('index','checkewm',spd, function(da){
|
||||
$('#loginsits').html(da);
|
||||
},'mode',false, function(str){
|
||||
|
||||
},'get');
|
||||
return false;
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
|
||||
<body>
|
||||
|
||||
<div style="margin-top:30px" class="hd">
|
||||
<div><img id="myface" onclick="location.reload()" src="<?=$urs['face']?>"></div>
|
||||
<div class="page_desc"><?=$urs['name']?></div>
|
||||
</div>
|
||||
<div id="loginsits" align="center">
|
||||
<div class="weui_btn_area">
|
||||
<input class="weui_btn weui_btn_primary" type="button" onclick="loginsubmit(1)" value="确认登录">
|
||||
</div>
|
||||
|
||||
<div class="weui_btn_area">
|
||||
<input class="weui_btn weui_btn_default" type="button" onclick="loginsubmit(0)" value="取消">
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
174
webmain/we/ying/tpl_ying.html
Normal file
174
webmain/we/ying/tpl_ying.html
Normal file
@@ -0,0 +1,174 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0">
|
||||
<title><?=$da['title']?></title>
|
||||
<link rel="stylesheet" type="text/css" href="mode/weui/weui.min.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="web/res/fontawesome/css/font-awesome.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="webmain/css/rui.css">
|
||||
<link rel="shortcut icon" href="<?=$arr['face']?>" />
|
||||
<script type="text/javascript" src="js/jquery.js"></script>
|
||||
<script type="text/javascript" src="js/js.js"></script>
|
||||
<script type="text/javascript" src="js/jswx.js"></script>
|
||||
<script type="text/javascript" src="js/base64-min.js"></script>
|
||||
<script type="text/javascript" src="js/jsmain.js"></script>
|
||||
<script type="text/javascript" src="webmain/we/ying/ying.js?<?=time()?>"></script>
|
||||
<style>
|
||||
<?php
|
||||
$maincolor = getconfig('apptheme','#1389D3');
|
||||
$maincolora= c('image')->colorTorgb($maincolor);
|
||||
$maincolors= ''.$maincolora[0].','.$maincolora[1].','.$maincolora[2].'';
|
||||
echo 'body{--main-color:'.$maincolor.'}';
|
||||
?>
|
||||
body,html{background-color:#f1f1f1;overflow:hidden}
|
||||
.weui_tab{position:fixed;bottom:0px;width:100%;height:50px}
|
||||
.weui_navbar_item{font-size:16px;}
|
||||
.weui_navbar_item span{position:absolute;left:3px;top:3px}
|
||||
.weui_navbar_item:active{background-color:#f5f5f5}
|
||||
.weui_navbar_item_disabled{color:#aaaaaa}
|
||||
|
||||
.contline{padding-top:10px;color:#999999;font-size:14px;text-align:center;}
|
||||
.contlist{margin:15px;padding:8px 10px;position:relative; background:white}
|
||||
.contlist:active,.active{ background-color:#f1f1f1}
|
||||
.contlist .title{font-size:16px}
|
||||
.contlist .dt{font-size:12px;color:#aaaaaa;}
|
||||
.contlist .xq{color:<?=$maincolor?>;font-size:14px;padding-top:7px}
|
||||
.contlist .xq span{float:right}
|
||||
.contlist .cont{font-size:14px;padding:10px 0px}
|
||||
.contlist .imgs{height:130px;overflow:hidden;margin:5px 0px}
|
||||
.contlist .zt{font-size:10px;position:absolute;top:2px;right:1px;padding:1px 3px;background-color:red;color:white}
|
||||
.contlist .face{font-size:14px;padding:5px 0px;overflow:hidden;}
|
||||
.contlist .face img{border-radius:15px;height:24px;width:24px;margin-right:5px}
|
||||
.contlist .opt{font-size:10px;position:absolute;bottom:1px;right:1px;padding:1px 3px;color:#aaaaaa}
|
||||
|
||||
.showblank{color:#aaaaaa;font-size:14px;padding-bottom:15px;text-align:center}
|
||||
.showblanks{padding:10px;color:#aaaaaa;font-size:12px;text-align:center}
|
||||
.notrecord{text-align:center;font-size:20px;padding-top:50px;color:#aaaaaa}
|
||||
.r-border:after{border-radius:5px}
|
||||
</style>
|
||||
<script>
|
||||
var json = <?=json_encode($arr)?>;
|
||||
ismobile = 1,openfrom='<?=$openfrom?>';
|
||||
var agentlx=0,xhauthkey = '<?=$xhauthkey?>',maincolor='<?=$maincolor?>';
|
||||
function yingyonginit(){
|
||||
yy.loadshow();
|
||||
}
|
||||
function initbody(){
|
||||
adminid = '<?=$da['adminid']?>';
|
||||
admintoken = '<?=$xhrock->admintoken?>';
|
||||
yy.init();
|
||||
yingyonginit();
|
||||
}
|
||||
function initApp(){
|
||||
js.setapptitle(json.name);
|
||||
js.location=function(dz){
|
||||
if(js.appwin('',dz))return;
|
||||
location.href = dz;
|
||||
}
|
||||
var nowlist = 'yingyong_mode_'+json.num+'';
|
||||
js.setoption('nowListener', nowlist);
|
||||
api.addEventListener({
|
||||
name: nowlist
|
||||
}, function(ret, err) {
|
||||
if(ret){
|
||||
var lx = ret.value.opttype;
|
||||
if(lx=='reload')yy.reload();
|
||||
}
|
||||
});
|
||||
}
|
||||
function callPhone(o1){
|
||||
if(typeof(o1)!='string')o1 = $(o1).text();
|
||||
if(appobj1('callPhone', o1)){
|
||||
return false;
|
||||
}else if(apicloud){
|
||||
api.call({type:'tel_prompt',number:o1});
|
||||
return false;
|
||||
}else{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
<?php if(isset($arr['leixing'])){ ?>
|
||||
try{sessionStorage.removeItem(''+json.num+'_event');}catch(e){}
|
||||
yy.clad=function(){
|
||||
js.location('?a=lum&m=input&d=flow&num='+json.leixing+'&show=we');
|
||||
}
|
||||
yy.typechange=function(o1){
|
||||
var val = o1.value;
|
||||
yy.search({'typeid':val});
|
||||
}
|
||||
yy.onshowdata=function(da){
|
||||
if(get('typeid') && da.typearr){
|
||||
js.setselectdata(get('typeid'), da.typearr, 'id');
|
||||
}
|
||||
}
|
||||
<?php } ?>
|
||||
</script>
|
||||
</head>
|
||||
|
||||
|
||||
<body>
|
||||
<?php if($showheader==1){?>
|
||||
<div>
|
||||
<div class="r-header" style="padding-top:<?=$cenghei?>px" >
|
||||
<div class="r-header-text" onclick="location.reload()" id="header_title"><?=$da['title']?></div>
|
||||
<?php if($rock->get('openfrom')!='reim'){?>
|
||||
<span onclick="js.back()" class="r-position-left r-header-btn"><i class="icon-chevron-left"></i></span>
|
||||
<?php }?>
|
||||
<span onclick="yy.clad()" class="r-position-right r-header-btn"><i class="icon-plus"></i></span>
|
||||
</div>
|
||||
<div class="blank50" id="header_line" style="height:<?=($cenghei+50)?>px"></div>
|
||||
</div>
|
||||
<?php }?>
|
||||
|
||||
|
||||
<?php if($yyurl=='' || isset($searchtool)){?>
|
||||
<div style="z-index:2" id="searsearch_bar" class="weui_search_bar">
|
||||
<?php
|
||||
if($typename){
|
||||
echo '<select id="typeid" onchange="yy.typechange(this)" style="width:100px;border:none;background:white;font-size:14px"><option value="">'.$typename.'</option></select>';
|
||||
}
|
||||
?>
|
||||
<form onclick="yy.seuser()" class="weui_search_outer" onsubmit="yy.sous();return false;">
|
||||
<div class="weui_search_inner">
|
||||
<i class="weui_icon_search"></i>
|
||||
<input type="search" class="weui_search_input" id="s_inp" placeholder="<?=$searchmsg?>" >
|
||||
<a onclick="yy.scle()" class="weui_icon_clear"></a>
|
||||
</div>
|
||||
<label for="s_inp" class="weui_search_text" id="search_text">
|
||||
<i class="weui_icon_search"></i>
|
||||
<span><?=$searchmsg?></span>
|
||||
</label>
|
||||
</form>
|
||||
<a onclick="yy.sqxs()" style="color:<?=$maincolor?>" class="weui_search_cancel">取消</a>
|
||||
</div>
|
||||
<?php }?>
|
||||
|
||||
<div id="mainbody" class="r-touch">
|
||||
<?php if($yyurl!='')include_once($yyurl);?>
|
||||
</div>
|
||||
|
||||
<div style="height:50px;overflow:hidden"></div>
|
||||
<div id="footerdiv" style="z-index:5" class="weui_tab">
|
||||
<div class="weui_navbar weui_tabbar">
|
||||
<?php
|
||||
foreach($arr['menu'] as $k=>$rs){
|
||||
$s='<div temp="taby" tempxu="'.$k.'" onclick="yy.clickmenu('.$k.',this)" class="weui_navbar_item">';
|
||||
if(!isempt($rs['num']))$s.='<span class="badge" id="'.$rs['num'].'_stotal"></span>';
|
||||
$s.='<font>'.$rs['name'].'</font>';
|
||||
if($rs['submenu'])$s.=' <i class="icon-angle-down"></i>';
|
||||
$s.='</div>';
|
||||
echo $s;
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
if($yyurljs!='')echo '<script type="text/javascript" src="'.$yyurljs.'"></script>'."\n";
|
||||
?>
|
||||
<script type="text/javascript" src="web/res/js/jquery-imgview.js"></script>
|
||||
<script type="text/javascript" src="web/res/js/jquery-rockupload.js"></script>
|
||||
<script type="text/javascript" src="web/res/js/jquery-changeuser.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
433
webmain/we/ying/tpl_ying_daka.html
Normal file
433
webmain/we/ying/tpl_ying_daka.html
Normal file
@@ -0,0 +1,433 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0">
|
||||
<title><?=$da['title']?></title>
|
||||
<link rel="stylesheet" type="text/css" href="mode/weui/weui.min.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="web/res/fontawesome/css/font-awesome.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="webmain/css/rui.css">
|
||||
<script type="text/javascript" src="js/jquery.js"></script>
|
||||
<script type="text/javascript" src="js/js.js"></script>
|
||||
<script type="text/javascript" src="js/jswx.js"></script>
|
||||
<script type="text/javascript" src="js/base64-min.js"></script>
|
||||
<script charset="utf-8" src="https://map.qq.com/api/js?v=2.exp&libraries=convertor,geometry&key=<?=$da['qqmapkey']?>"></script>
|
||||
<script type="text/javascript" src="js/dingwei.js"></script>
|
||||
<style>
|
||||
<?php
|
||||
$maincolor = getconfig('apptheme','#1389D3');
|
||||
$maincolora= c('image')->colorTorgb($maincolor);
|
||||
$maincolors= ''.$maincolora[0].','.$maincolora[1].','.$maincolora[2].'';
|
||||
echo 'body{--main-color:'.$maincolor.'}';
|
||||
?>
|
||||
.weui_tabbar_icon{text-align:center;color:#888888;font-size:20px;}
|
||||
.weui_tabbar_item{padding-top:2px;margin-bottom:5px;position:relative}
|
||||
.weui_bar_item_on .weui_tabbar_icon{color:<?=$maincolor?>}
|
||||
</style>
|
||||
<script>
|
||||
var kqrs = <?=json_encode($kqrs);?>,kqors = <?=json_encode($kqors);?>,kqallrs=[],isgzh = <?=$isgzh?>;
|
||||
js.servernow = '<?=$rock->now?>',openfrom='<?=$openfrom?>';
|
||||
|
||||
var label='',accuracy=0,latitude='',longitude='',kqjuli=-1,addbo = true,explain='',dakaci=1;
|
||||
|
||||
function initbody(){
|
||||
js.getsplit();
|
||||
showtimessabc();
|
||||
showkqrswz();
|
||||
initupload();
|
||||
kqallrs.push(kqrs);
|
||||
for(var i in kqors)kqallrs.push(kqors[i]);
|
||||
nowtimetime = js.now('time');
|
||||
addkqinfor(0);
|
||||
}
|
||||
|
||||
|
||||
function addkqinfor(bo){
|
||||
js.ajax('kaoqin','getshang',{},function(ret){
|
||||
var sbarr = ret.sbarr,s='',rs;
|
||||
s='<table width="100%" class="r-border-t">';
|
||||
for(var i=0;i<sbarr.length;i++){
|
||||
rs = sbarr[i];
|
||||
if(i>0)s+='<tr><td colspan="2"><div style="margin:0px 10px" class="r-border-t"></div></td></tr>';
|
||||
s+='<tr><td align="center" nowrap height="60px"><div style="padding:0px 20px"><b>'+rs.name+'</b></div></td><td width="99%"><div style="color:#888888;font-size:14px">'+rs.stime.substr(0,5)+'-'+rs.etime.substr(0,5)+'</div><div>'+rs.state+'</div></td></tr>';
|
||||
}
|
||||
s+='</table>';
|
||||
$('#shangbshow').html(s);
|
||||
|
||||
var dkarr = ret.dkarr;
|
||||
var s = '',i,oi=1;
|
||||
for(i=0;i<dkarr.length;i++){
|
||||
s+=','+dkarr[i].dktime+'';
|
||||
oi++;
|
||||
}
|
||||
if(s!='')s=s.substr(1);
|
||||
$('#todyadak').html(s);
|
||||
dakaci = oi;
|
||||
if(bo==0){
|
||||
$('#dkbtn').html('第'+oi+'次打卡');
|
||||
js.dw.init(isgzh); //定位开始
|
||||
}
|
||||
},'mode', false,false, 'get');
|
||||
}
|
||||
|
||||
function showtimessabc(){
|
||||
var dt = js.serverdt('Y年m月d日(星期W) H:i:s').split(' ');
|
||||
$('#dtstr').html(dt[0]);
|
||||
$('#timess').html(dt[1]);
|
||||
setTimeout('showtimessabc()',1000);
|
||||
}
|
||||
|
||||
//显示考勤位置
|
||||
function showkqrswz(){
|
||||
var s = '';
|
||||
if(kqrs){
|
||||
s+=','+kqrs.name+'';
|
||||
if(kqrs.iswgd=='1')s=',无固定位置';
|
||||
if(kqors && kqrs.iswgd=='0')for(var i=0;i<kqors.length;i++){
|
||||
s+=','+kqors[i].name+'';
|
||||
if(kqors[i].iswgd=='1'){
|
||||
s=',无固定位置';
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(s=='')s='没设置考勤位置';
|
||||
if(s!='')s=s.substr(1);
|
||||
$('#weizhi').html(s);
|
||||
}
|
||||
|
||||
js.dw.ondwwait=function(msg){
|
||||
latitude = '';
|
||||
$('#dwshow').html('<img src="images/loadings.gif" height="14px" align="absmiddle"> '+msg+'');
|
||||
return true;
|
||||
}
|
||||
|
||||
js.dw.ondwerr=function(msg){
|
||||
latitude = '';
|
||||
$('#dwshow').html(''+msg+',<a href="javascript:;" onclick="js.dw.start()">[在定位]</a>');
|
||||
}
|
||||
|
||||
//定位成功后回调
|
||||
js.dw.ondwcall = function(res){
|
||||
latitude = res.latitude;
|
||||
longitude = res.longitude;
|
||||
accuracy = res.accuracy;
|
||||
label = res.address;
|
||||
var center = res.center;
|
||||
$('#dwshow').html(''+res.addressinfo+',<a href="javascript:;" onclick="js.dw.start()">[更新]</a>');
|
||||
var i,kqrsa,enddt,juli;
|
||||
|
||||
addbo = true;//可以添加记录
|
||||
for(i=0;i<kqallrs.length;i++){
|
||||
kqrsa = kqallrs[i];
|
||||
enddt = new qq.maps.LatLng(parseFloat(kqrsa.location_x), parseFloat(kqrsa.location_y));
|
||||
juli = parseInt(qq.maps.geometry.spherical.computeDistanceBetween(center, enddt));
|
||||
if(juli<0)juli = 0-juli;
|
||||
if(kqrsa['iswgd']=='1')juli=0; //无固定位置的
|
||||
kqallrs[i]['kqjuli'] = juli;
|
||||
kqjuli = juli;
|
||||
}
|
||||
|
||||
if(!isfenwein()){
|
||||
$('#dkbtnto').addClass('btnwai');
|
||||
$('#dkbtn').html('外出定位');
|
||||
}else{
|
||||
$('#dkbtnto').removeClass('btnwai');
|
||||
$('#dkbtn').html('第'+dakaci+'次打卡');
|
||||
}
|
||||
nowtimetime = js.now('time');
|
||||
}
|
||||
|
||||
//判断有没有在考勤地点上
|
||||
function isfenwein(){
|
||||
var i,kqrsa,slju,sljus,iskqbo=false;
|
||||
for(i=0;i<kqallrs.length;i++){
|
||||
kqrsa = kqallrs[i];
|
||||
slju = parseFloat(kqrsa.precision);
|
||||
sljus = parseFloat(kqrsa.kqjuli);
|
||||
if(sljus<=slju)iskqbo = true;
|
||||
}
|
||||
kqwucha = slju;
|
||||
return iskqbo;
|
||||
}
|
||||
var addkaoqinbool=false,upfileid='';
|
||||
function addkaoqin(o1, lbos){
|
||||
if((js.now('time') - nowtimetime)>60*1000){
|
||||
js.wx.alert('停留页面太久,请刷新页面再试',function(){
|
||||
js.reload();
|
||||
});
|
||||
return;
|
||||
}
|
||||
if(addkaoqinbool){
|
||||
js.wx.alert('已保存过了,请退出页面');
|
||||
return;
|
||||
}
|
||||
if(js.dw.dwbool){js.wx.alert('正在定位,稍后在添加');return;}
|
||||
if(latitude=='' || kqjuli==-1){js.wx.alert('定位没有成功,不能添加');return;}
|
||||
if(!addbo){js.wx.alert('请重新定位后在打卡');return;}
|
||||
|
||||
if(!lbos && ispzs){
|
||||
js.wx.load('<span id="tisssa">处理中</span>...');
|
||||
if(!imagecont){
|
||||
upfaceobj.start();
|
||||
}else{
|
||||
upfaceobj.sendbase64(imagecont,{filename:'打卡图片.png'});
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if(isfenwein()){
|
||||
if(kqrs.ispz=='1' && !ispzs){js.wx.alert('请使用相机拍照才能打卡');return;}
|
||||
adddk('打卡',1);
|
||||
}else{
|
||||
adddk('保存',0);
|
||||
}
|
||||
}
|
||||
|
||||
function adddk(ts, lx){
|
||||
var o1 = get('dkbtn');
|
||||
$(o1).html(''+ts+'中...');
|
||||
var ispz = (kqrs) ? kqrs.ispz : '0';
|
||||
var data = {location_x:latitude,type:lx,location_y:longitude,scale:12,fileid:upfileid,precision:accuracy,label:jm.base64encode(label),sm:jm.base64encode(explain),ispz:ispz};
|
||||
addkaoqinbool = true;
|
||||
js.ajax('weixin','addlocation',data,function(ret){
|
||||
js.wx.unload();
|
||||
js.wx.alert(''+ts+'成功:'+ret.now+'');
|
||||
$(o1).html(''+ts+'成功');
|
||||
addbo = false;
|
||||
addkqinfor(1);
|
||||
if(lx==1)get('notify_sound_audio').play();
|
||||
},'none');
|
||||
}
|
||||
|
||||
function addbeizhu(o1){
|
||||
js.wx.prompt('加备注','请输入备注说明:',function(txt){
|
||||
explain = txt;
|
||||
if(txt){
|
||||
$(o1).html('备注:'+txt+'');
|
||||
}else{
|
||||
$(o1).html('加备注...');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function changetab(lx){
|
||||
var url='?d=we&m=ying&a=location';
|
||||
if(lx==2)url='?m=ying&d=we&num=kqtotal';
|
||||
if(lx==3)url='?m=ying&d=we&num=kqpai';
|
||||
js.location(url);
|
||||
}
|
||||
|
||||
|
||||
function paizhao33(){
|
||||
if(js.jssdkstate!=1){
|
||||
js.wx.alert('非微信下的jssdk无法使用拍照');
|
||||
return;
|
||||
}
|
||||
wx.chooseImage({
|
||||
count: 1,
|
||||
sizeType: ['compressed'],
|
||||
sourceType: ['camera'],
|
||||
defaultCameraMode: "normal",
|
||||
isSaveToAlbum: 0,
|
||||
success: function (res) {
|
||||
var localIds = res.localIds;
|
||||
}
|
||||
});
|
||||
}
|
||||
var imagecont = '';
|
||||
function paizhao(){
|
||||
if(!ispzs){
|
||||
if(apicloud){
|
||||
api.getPicture({
|
||||
sourceType: 'camera',
|
||||
encodingType: 'png',
|
||||
destinationType: 'base64',quality:80,
|
||||
targetWidth:1000,targetHeight:1000
|
||||
}, function(ret, err) {
|
||||
if (ret) {
|
||||
imagecont= ret.base64Data;
|
||||
$('#paizhaoimg').parent().show();
|
||||
get('paizhaoimg').src = imagecont;
|
||||
get('pzbtnicons').className='icon-remove';
|
||||
ispzs = true;
|
||||
}
|
||||
});
|
||||
}else{
|
||||
upfaceobj.click({uptype:'image'});
|
||||
}
|
||||
}else{
|
||||
upfaceobj.clear();
|
||||
imagecont = '';
|
||||
$('#paizhaoimg').parent().hide();
|
||||
get('paizhaoimg').src = 'images/noimg.jpg';
|
||||
get('pzbtnicons').className='icon-camera';
|
||||
ispzs = false;
|
||||
}
|
||||
}
|
||||
|
||||
function showimgs(o1){
|
||||
$.imgview({'url':o1.src,'ismobile':true});
|
||||
}
|
||||
|
||||
var ispzs = false;
|
||||
function initupload(){
|
||||
upfaceobj=$.rockupload({
|
||||
uptype:'image',
|
||||
inputfile:'cameraInput',
|
||||
fileview:'fileview',
|
||||
autoup:false,
|
||||
urlparams:{noasyn:'yes'},
|
||||
onsuccess:function(f,str){
|
||||
var a=js.decode(str);
|
||||
if(imagecont){
|
||||
imagecont= '';
|
||||
upfileid = a.id;
|
||||
addkaoqin(false,true);
|
||||
}
|
||||
},
|
||||
onchange:function(f){
|
||||
$('#paizhaoimg').parent().show();
|
||||
get('paizhaoimg').src = f.imgviewurl;
|
||||
get('pzbtnicons').className='icon-remove';
|
||||
ispzs = true;
|
||||
},
|
||||
onchangebefore:function(f){
|
||||
if(f.lastModified){
|
||||
var btune = js.now('time')-f.lastModified;
|
||||
if(btune>10*1000)return '请使用相机拍照';
|
||||
}
|
||||
},
|
||||
onprogress:function(f,bl){
|
||||
$('#tisssa').html('上传中('+bl+'%)');
|
||||
},
|
||||
allsuccess:function(far, ids){
|
||||
imagecont = '';
|
||||
upfileid = ids;
|
||||
addkaoqin(false,true);
|
||||
}
|
||||
});
|
||||
}
|
||||
function changfile(o1){
|
||||
upfaceobj.change(o1);
|
||||
}
|
||||
|
||||
var yy={
|
||||
iscy:'<?=$iscy?>',
|
||||
clickadd:function(){
|
||||
var str = '应用首页显示';
|
||||
if(this.iscy==1)str='取消应用首页显示';
|
||||
if(apicloud){
|
||||
api.actionSheet({
|
||||
title: '选择菜单',
|
||||
cancelTitle: '取消',
|
||||
buttons: [str,'关闭应用']
|
||||
}, function(ret, err) {
|
||||
var index = ret.buttonIndex;
|
||||
if(index==1)yy.addchangying();
|
||||
if(index==2)js.back();
|
||||
});
|
||||
}else{
|
||||
js.showmenu({
|
||||
data:[{name:str,lx:1}],
|
||||
width:170,
|
||||
onclick:function(d){
|
||||
if(d.lx==1)yy.addchangying();
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
addchangying:function(){
|
||||
js.ajax('indexreim','shecyy',{yynum:'kqdaka'},function(ret){
|
||||
yy.iscy = ret.iscy;
|
||||
js.wx.msgok(ret.msg, false, 1);
|
||||
},'mode', false,false, 'get');
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
.addbtns{ background:#C5E0F7;padding:5px;margin-top:20px;width:100px;height:100px;border-radius:50%}
|
||||
.addbtnss{right:10px;bottom:10px;width:100px;height:100px; background:#4E9CE0;opacity:0.8;z-index:1;border-radius:50%;font-size:16px;color:white;text-align:center;line-height:98px;}
|
||||
.addbtnss:active{opacity:1}
|
||||
|
||||
.btnwai{background:#FCD5BA}
|
||||
.btnwai .addbtnss{background:#ff6600}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
|
||||
<body>
|
||||
<?php if($showheader==1){?>
|
||||
<div>
|
||||
<div class="r-header" style="padding-top:<?=$cenghei?>px" >
|
||||
<div class="r-header-text" onclick="location.reload()" id="header_title"><?=$da['title']?></div>
|
||||
<span onclick="js.back()" class="r-position-left r-header-btn"><i class="icon-chevron-left"></i></span>
|
||||
<span onclick="yy.clickadd()" class="r-position-right r-header-btn"><i class="icon-plus"></i></span>
|
||||
</div>
|
||||
<div class="blank50" id="header_line" style="height:<?=($cenghei+50)?>px"></div>
|
||||
</div>
|
||||
<?php }?>
|
||||
<div align="center" style="background:white;padding-bottom:10px">
|
||||
<div id="timess" onclick="location.reload()" style="font-size:40px">15:10:00</div>
|
||||
<div id="dtstr" style="font-size:14px"><?=date('Y年m月d日')?>(星期三)</div>
|
||||
<div class="blank5"></div>
|
||||
<div id="dwshow" style="font-size:14px;color:#aaaaaa;padding:0px 10px">等待定位</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div style="display:none;position:fixed;z-index:2;left:1px;top:60px;width:120px;height:80px;overflow:hidden;"><img width="100%" onclick="showimgs(this)" id="paizhaoimg" src="images/noimg.jpg"></div>
|
||||
<div style="display:none">
|
||||
<form name="form_cameraInput">
|
||||
<input type="file" <?php if($rock->iswebbro())echo 'capture="camera"';?> onchange="changfile(this)" accept="image/*" id="cameraInput" /></form>
|
||||
</div>
|
||||
<div style="display:none" id="fileview"></div>
|
||||
|
||||
<div class="r-padding10 r-border-t" style="background:white;padding:15px 10px; background-color:#f5f5f5">考勤范围:<font color="#888888" id="weizhi">没设置考勤位置</font></div>
|
||||
<div id="shangbshow" style="background:white">
|
||||
<table width="100%" class="r-border-t">
|
||||
<tr><td align="center" nowrap height="60px"><div style="padding:0px 20px"><b>上班</b></div></td><td width="99%"><div style="color:#888888;font-size:14px">09:00-12:00</div><div><font color=#888888>加载中</font></div></td></tr>
|
||||
<tr><td colspan="2"><div style="margin:0px 10px" class="r-border-t"></div></td></tr><tr><td align="center" nowrap height="60px"><div style="padding:0px 20px"><b>下班</b></div></td><td width="99%"><div style="color:#888888;font-size:14px">13:00-18:00</div><div><font color=#888888>加载中</font></div></td></tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="r-border-t"></div>
|
||||
<div align="center">
|
||||
<div id="dkbtnto" class="addbtns">
|
||||
<div class="addbtnss" id="dkbtn" onclick="addkaoqin(this)">第1次打卡</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="r-padding10" align="center"><a id="beshuomdiv" onclick="addbeizhu(this)" href="javascript:;">加备注...</a> <a href="javascript:;" onclick="paizhao()"><i id="pzbtnicons" class="icon-camera"></i></a></div>
|
||||
<div class="r-padding10 r-wrap" align="center" style="font-size:14px;color:#888888;">今日打卡:<span id="todyadak">无</span></div>
|
||||
|
||||
<audio id="notify_sound_audio" hidden="true" style="display:none" src="web/res/sound/dkcg.mp3"></audio>
|
||||
<div style="height:55px; overflow:hidden"></div>
|
||||
<div style="height:55px;overflow:hidden;z-index:2;position:fixed" class="weui_tabbar">
|
||||
<a href="javascript:;" class="weui_tabbar_item weui_bar_item_on">
|
||||
<div class="weui_tabbar_icon">
|
||||
<i class="icon-time"></i>
|
||||
</div>
|
||||
<p class="weui_tabbar_label"><?=$da['title']?></p>
|
||||
</a>
|
||||
<a href="javascript:;" onclick="changetab(1)" class="weui_tabbar_item">
|
||||
<div class="weui_tabbar_icon">
|
||||
<i class="icon-fighter-jet"></i>
|
||||
</div>
|
||||
<p class="weui_tabbar_label">外勤定位</p>
|
||||
</a>
|
||||
<a href="javascript:;" onclick="changetab(2)" class="weui_tabbar_item">
|
||||
<div class="weui_tabbar_icon">
|
||||
<i class="icon-bar-chart"></i>
|
||||
</div>
|
||||
<p class="weui_tabbar_label">考勤统计</p>
|
||||
</a>
|
||||
<a href="javascript:;" onclick="changetab(3)" class="weui_tabbar_item">
|
||||
<div class="weui_tabbar_icon">
|
||||
<i class="icon-list-alt"></i>
|
||||
</div>
|
||||
<p class="weui_tabbar_label">我的排班</p>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript" src="web/res/js/jquery-rockupload.js"></script>
|
||||
<script type="text/javascript" src="web/res/js/jquery-imgview.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
351
webmain/we/ying/tpl_ying_location.html
Normal file
351
webmain/we/ying/tpl_ying_location.html
Normal file
@@ -0,0 +1,351 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0">
|
||||
<title><?=$da['title']?></title>
|
||||
<link rel="stylesheet" type="text/css" href="mode/weui/weui.min.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="web/res/fontawesome/css/font-awesome.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="webmain/css/rui.css">
|
||||
<script type="text/javascript" src="js/jquery.js"></script>
|
||||
<script type="text/javascript" src="js/js.js"></script>
|
||||
<script type="text/javascript" src="js/jswx.js"></script>
|
||||
<script type="text/javascript" src="js/base64-min.js"></script>
|
||||
<script type="text/javascript" src="web/res/js/jquery-rockupload.js"></script>
|
||||
<script charset="utf-8" src="https://map.qq.com/api/js?v=2.exp&libraries=convertor,geometry&key=<?=$da['qqmapkey']?>"></script>
|
||||
<script type="text/javascript" src="js/dingwei.js"></script>
|
||||
<style>
|
||||
<?php
|
||||
$maincolor = getconfig('apptheme','#1389D3');
|
||||
$maincolora= c('image')->colorTorgb($maincolor);
|
||||
$maincolors= ''.$maincolora[0].','.$maincolora[1].','.$maincolora[2].'';
|
||||
echo 'body{--main-color:'.$maincolor.'}';
|
||||
?>
|
||||
</style>
|
||||
<script>
|
||||
//考勤信息
|
||||
var kqrs = <?=json_encode($kqrs);?>,kqors = <?=json_encode($kqors);?>,kqallrs=[],isgzh = <?=$isgzh?>;
|
||||
js.servernow = '<?=$rock->now?>',openfrom='<?=$openfrom?>';
|
||||
var infoWin,marker,circle;
|
||||
var label='',accuracy=0,latitude='',longitude='',kqjuli=-1,addbo = true;
|
||||
|
||||
function initbody(){
|
||||
initbodyss();
|
||||
initupload();
|
||||
nowtimetime = js.now('time');
|
||||
}
|
||||
|
||||
function initbodyss(){
|
||||
js.getsplit();
|
||||
js.dw.init(isgzh); //定位开始
|
||||
showtimessabc();
|
||||
|
||||
var lata = js.getoption('latlongedu','24.504332,118.141136,12').split(',');
|
||||
if(!lata[2])lata[2]=12;
|
||||
scale = parseFloat(lata[2]);
|
||||
var center = new qq.maps.LatLng(parseFloat(lata[0]), parseFloat(lata[1]));
|
||||
map = new qq.maps.Map(document.getElementById('container'),{
|
||||
center: center,
|
||||
zoom: scale
|
||||
});
|
||||
|
||||
if(kqrs){
|
||||
kqallrs.push(kqrs);
|
||||
var i,kqrsa,enddt,precision;
|
||||
for(i in kqors)kqallrs.push(kqors[i]);
|
||||
|
||||
for(i=0;i<kqallrs.length;i++){
|
||||
kqrsa = kqallrs[i];
|
||||
enddt = new qq.maps.LatLng(parseFloat(kqrsa.location_x), parseFloat(kqrsa.location_y));
|
||||
new qq.maps.Marker({map: map,position:enddt});
|
||||
precision = parseFloat(kqrsa.precision);
|
||||
if(precision>0){
|
||||
new qq.maps.Circle({
|
||||
map:map,
|
||||
center:enddt,
|
||||
radius:precision,
|
||||
fillColor:new qq.maps.Color(255,0,0, 0.3),
|
||||
strokeColor:new qq.maps.Color(255,0,0, 0.5),
|
||||
strokeWeight:1
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function dingweidak(){
|
||||
js.dw.start();
|
||||
}
|
||||
|
||||
//定位成功后回调
|
||||
js.dw.ondwcall = function(res){
|
||||
latitude = res.latitude;
|
||||
longitude = res.longitude;
|
||||
accuracy = res.accuracy;
|
||||
var center = res.center;
|
||||
addbo = true;
|
||||
scale = map.getZoom();
|
||||
js.setoption('latlongedu',''+latitude+','+longitude+','+scale+'');
|
||||
map.setCenter(res.center);
|
||||
label = res.address;
|
||||
showinfo(center ,accuracy, '定位成功<br>地址:'+res.addressinfo+'');
|
||||
|
||||
var i,kqrsa,enddt,juli;
|
||||
for(i=0;i<kqallrs.length;i++){
|
||||
kqrsa = kqallrs[i];
|
||||
enddt = new qq.maps.LatLng(parseFloat(kqrsa.location_x), parseFloat(kqrsa.location_y));
|
||||
juli = parseInt(qq.maps.geometry.spherical.computeDistanceBetween(center, enddt));
|
||||
if(juli<0)juli = 0-juli;
|
||||
if(kqrsa['iswgd']=='1')juli=0; //无固定位置的
|
||||
kqallrs[i]['kqjuli'] = juli;
|
||||
kqjuli = juli;
|
||||
}
|
||||
nowtimetime = js.now('time');
|
||||
}
|
||||
|
||||
function showtimessabc(){
|
||||
var dt = js.serverdt('H:i:s');
|
||||
$('#timess').html(dt);
|
||||
setTimeout('showtimessabc()',1000);
|
||||
}
|
||||
|
||||
function showinfo(center ,fw, str){
|
||||
if(!infoWin)infoWin = new qq.maps.InfoWindow({
|
||||
map: map
|
||||
});
|
||||
infoWin.open();
|
||||
infoWin.setContent(str);
|
||||
infoWin.setPosition(center);
|
||||
|
||||
if(!marker)marker= new qq.maps.Marker({
|
||||
map: map
|
||||
});
|
||||
marker.setPosition(center);
|
||||
if(!circle)circle=new qq.maps.Circle({
|
||||
map:map,
|
||||
strokeWeight:1
|
||||
});
|
||||
circle.setCenter(center);
|
||||
circle.setRadius(parseFloat(fw));
|
||||
}
|
||||
|
||||
//保存
|
||||
var adddkjlcs = {},upfileid='',imagecont='';
|
||||
function adddkjl(lx,ss,sm, uobo){
|
||||
if(!uobo){
|
||||
adddkjlcs.lx=lx;adddkjlcs.ss=ss;adddkjlcs.sm=sm;
|
||||
js.wx.load('<span id="tisssa">'+ss+'中</span>...');
|
||||
if(!imagecont){
|
||||
upfaceobj.start();
|
||||
}else{
|
||||
upfaceobj.sendbase64(imagecont,{filename:'打卡图片.png'});
|
||||
}
|
||||
return;
|
||||
}else{
|
||||
$('#tisssa').html(''+ss+'中');
|
||||
}
|
||||
if(!sm)sm='';
|
||||
scale = map.getZoom();
|
||||
var ispz = (kqrs) ? kqrs.ispz : '0';
|
||||
js.setoption('latlongedu',''+latitude+','+longitude+','+scale+'');
|
||||
var data = {location_x:latitude,type:lx,location_y:longitude,fileid:upfileid,scale:scale,precision:accuracy,label:jm.base64encode(label),sm:jm.base64encode(sm),ispz:ispz};
|
||||
js.ajax('weixin','addlocation',data,function(ret){
|
||||
js.msg('success',''+ss+'成功:'+ret.now+'');
|
||||
$('#dwdiv').after('<div>刚'+ss+'.'+ret.now.substr(10)+'('+label+')</div>');
|
||||
addbo = false;
|
||||
if(lx==1)get('notify_sound_audio').play();
|
||||
},'none');
|
||||
}
|
||||
function adddkjlok(ids){
|
||||
upfileid= ids;
|
||||
adddkjl(adddkjlcs.lx,adddkjlcs.ss,adddkjlcs.sm,true);
|
||||
}
|
||||
function adddkjlsss(){
|
||||
if((js.now('time') - nowtimetime)>60*1000){
|
||||
js.wx.alert('停留页面太久,请刷新页面再试',function(){
|
||||
js.reload();
|
||||
});
|
||||
return;
|
||||
}
|
||||
if(js.dw.dwbool){js.wx.alert('正在定位,稍后在添加');return;}
|
||||
if(latitude==''){js.wx.alert('定位没有成功,不能添加');return;}
|
||||
if(!addbo){js.wx.alert('已保存过了,请重新定位后在保存');return;}
|
||||
js.wx.prompt('保存定位','请输入说明(选填):',function(text){
|
||||
adddkjl(0,'保存', text);
|
||||
});
|
||||
}
|
||||
|
||||
var dwarr = <?=json_encode($dwarr)?>;
|
||||
function showdw(id){
|
||||
var d = dwarr[id];
|
||||
if(isempt(d.location_x)){js.wx.alert('没有位置信息无法查看');return;}
|
||||
if(js.jssdkstate!=1 || isempt(d.location_x)){
|
||||
var url = '?d=main&m=kaoqin&a=location&id='+d.id+'';
|
||||
js.location(url);
|
||||
}else{
|
||||
wx.openLocation({
|
||||
latitude: parseFloat(d.location_x), // 纬度,浮点数,范围为90 ~ -90
|
||||
longitude: parseFloat(d.location_y), // 经度,浮点数,范围为180 ~ -180。
|
||||
name: '定位地址', // 位置名
|
||||
address: d.label, // 地址详情说明
|
||||
scale: parseFloat(d.scale)
|
||||
});
|
||||
}
|
||||
}
|
||||
function addkaoqin(){
|
||||
if((js.now('time') - nowtimetime)>60*1000){
|
||||
js.wx.alert('停留页面太久,请刷新页面再试',function(){
|
||||
js.reload();
|
||||
});
|
||||
return;
|
||||
}
|
||||
if(!kqrs){js.wx.alert('没有设置定位考勤位置');return;}
|
||||
if(js.dw.dwbool){js.wx.alert('正在定位,稍后在添加');return;}
|
||||
if(latitude=='' || kqjuli==-1){js.wx.alert('定位没有成功,不能添加');return;}
|
||||
|
||||
var i,kqrsa,slju,sljus,iskqbo=false;
|
||||
for(i=0;i<kqallrs.length;i++){
|
||||
kqrsa = kqallrs[i];
|
||||
slju = parseFloat(kqrsa.precision);
|
||||
sljus = parseFloat(kqrsa.kqjuli);
|
||||
if(sljus<=slju)iskqbo = true;
|
||||
}
|
||||
if(!iskqbo){js.wx.alert('当前位置距离考勤点有'+kqjuli+'米,考勤设置误差不能超过'+slju+'米,故不能添加考勤打卡!');return;}
|
||||
|
||||
if(!addbo){js.wx.alert('已打卡过了,请重新定位后在打卡');return;}
|
||||
if(kqrs.ispz=='1' && !ispzs){js.wx.alert('请使用相机拍照才能打卡');return;}
|
||||
adddkjl(1,'打卡');
|
||||
}
|
||||
|
||||
var ispzs = false;
|
||||
function initupload(){
|
||||
upfaceobj=$.rockupload({
|
||||
uptype:'image',
|
||||
inputfile:'cameraInput',
|
||||
fileview:'fileview',
|
||||
autoup:false,
|
||||
urlparams:{noasyn:'yes'},
|
||||
onsuccess:function(f,str){
|
||||
var a=js.decode(str);
|
||||
if(imagecont){
|
||||
imagecont= '';
|
||||
adddkjlok(a.id);
|
||||
}
|
||||
},
|
||||
onchange:function(f){
|
||||
$('#paizhaoimg').parent().show();
|
||||
get('paizhaoimg').src = f.imgviewurl;
|
||||
get('pzbtnicons').className='icon-remove';
|
||||
ispzs = true;
|
||||
},
|
||||
onchangebefore:function(f){
|
||||
if(f.lastModified){
|
||||
var btune = js.now('time')-f.lastModified;
|
||||
if(btune>10*1000)return '请使用相机拍照';
|
||||
}
|
||||
},
|
||||
onprogress:function(f,bl){
|
||||
$('#tisssa').html('上传图中('+bl+'%)');
|
||||
},
|
||||
allsuccess:function(far, ids){
|
||||
imagecont = '';
|
||||
adddkjlok(ids);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function paizhao(){
|
||||
if(!ispzs){
|
||||
if(apicloud){
|
||||
api.getPicture({
|
||||
sourceType: 'camera',
|
||||
encodingType: 'png',
|
||||
destinationType: 'base64',quality:80,
|
||||
targetWidth:1000,targetHeight:1000
|
||||
}, function(ret, err) {
|
||||
if (ret) {
|
||||
imagecont= ret.base64Data;
|
||||
$('#paizhaoimg').parent().show();
|
||||
get('paizhaoimg').src = imagecont;
|
||||
get('pzbtnicons').className='icon-remove';
|
||||
ispzs = true;
|
||||
}
|
||||
});
|
||||
}else{
|
||||
upfaceobj.click({uptype:'image'});
|
||||
}
|
||||
}else{
|
||||
upfaceobj.clear();
|
||||
imagecont = '';
|
||||
$('#paizhaoimg').parent().hide();
|
||||
get('paizhaoimg').src = 'images/noimg.jpg';
|
||||
get('pzbtnicons').className='icon-camera';
|
||||
ispzs = false;
|
||||
}
|
||||
}
|
||||
function changfile(o1){
|
||||
upfaceobj.change(o1);
|
||||
}
|
||||
function showimgs(o1){
|
||||
$.imgview({'url':o1.src,'ismobile':true});
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
.addbtnss{position:absolute;right:10px;bottom:10px;width:80px;height:80px; background:rgba(0,0,0,0.5);z-index:1;border-radius:50%;font-size:14px;color:white;text-align:center}
|
||||
.addbtnss:active{background:rgba(0,0,0,0.8)}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
|
||||
<body>
|
||||
<?php if($showheader==1){?>
|
||||
<div>
|
||||
<div class="r-header" style="padding-top:<?=$cenghei?>px" >
|
||||
<div class="r-header-text" onclick="location.reload()" id="header_title"><?=$da['title']?></div>
|
||||
<span onclick="js.back()" class="r-position-left r-header-btn"><i class="icon-chevron-left"></i></span>
|
||||
</div>
|
||||
<div class="blank50" id="header_line" style="height:<?=($cenghei+50)?>px"></div>
|
||||
</div>
|
||||
<?php }?>
|
||||
|
||||
<div>
|
||||
<div style="width:100%;height:300px;position:relative">
|
||||
<div style="display:none;position:absolute;z-index:2;left:1px;top:1px;width:120px;height:80px;overflow:hidden"><img width="100%" onclick="showimgs(this)" id="paizhaoimg" src="images/noimg.jpg"></div>
|
||||
<div id="container" style="position:absolute;width:100%;height:300px;"></div>
|
||||
<div class="addbtnss" onclick="addkaoqin()"><div style="margin-top:20px">考勤打卡<br><span id="timess"><?=date('H:i:s')?></span></div></div>
|
||||
</div>
|
||||
|
||||
<div style="display:none">
|
||||
<form name="form_cameraInput">
|
||||
<input type="file" <?php if($rock->iswebbro())echo 'capture="camera"';?> onchange="changfile(this)" accept="image/*" id="cameraInput" /></form>
|
||||
</div>
|
||||
<div style="padding:10px">
|
||||
<table width="100%"><tr>
|
||||
<td width="35%"><button type="button" onClick="dingweidak()" class="weui_btn weui_btn_default" name="button"><i class="icon-map-marker"></i> 定位</button></td>
|
||||
<td width="10" nowrap></td>
|
||||
<td><button type="button" onClick="adddkjlsss()" class="weui_btn weui_btn_primary" name="button"><i class="icon-plus"></i> 保存定位</button></td>
|
||||
<td width="10" nowrap></td>
|
||||
<td><button type="button" onClick="paizhao()" class="weui_btn weui_btn_default" name="button"><i id="pzbtnicons" class="icon-camera"></i></button></td>
|
||||
</tr></table>
|
||||
</div>
|
||||
<div style="display:none" id="fileview"></div>
|
||||
<div style="padding:0px 10px;line-height:26px">
|
||||
<div id="dwdiv"><b>今日定位:</b></div>
|
||||
<?php
|
||||
foreach($dwarr as $k=>$rs){
|
||||
$imgs = '<img src="web/images/fileicons/jpg.gif" align="absmiddle">';
|
||||
if(isempt($rs['imgpath']) || !file_exists($rs['imgpath']))$imgs='';
|
||||
echo '<div>'.($k+1).'.'.substr($rs['optdt'],11).'('.$rs['label'].')'.$imgs.',<a href="javascript:;" onclick="showdw('.$k.')">[查看]</a></div>';
|
||||
}
|
||||
if($rows)echo '<div class="blank10"></div><div><b>今日我的外勤:</b></div>';
|
||||
foreach($rows as $k=>$rs){
|
||||
echo '<div>'.($k+1).'.['.$rs['atype'].']'.$rs['address'].','.$rs['reason'].'('.$rs['outtime'].')</div>';
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
<audio id="notify_sound_audio" hidden="true" style="display:none" src="web/res/sound/dkcg.mp3"></audio>
|
||||
<div class="blank10"></div>
|
||||
</div>
|
||||
<script type="text/javascript" src="web/res/js/jquery-imgview.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
476
webmain/we/ying/ying.js
Normal file
476
webmain/we/ying/ying.js
Normal file
@@ -0,0 +1,476 @@
|
||||
/**
|
||||
* 来自:信呼开发团队
|
||||
* 作者:磐石(rainrock)
|
||||
* 网址:http://www.rockoa.com/
|
||||
* 修改时间:2020-03-20
|
||||
* 移动端应用主js文件,请不要去修改
|
||||
*/
|
||||
|
||||
var myScroll=false,yy={
|
||||
sousoukey:'',
|
||||
onshowdata:function(){},
|
||||
loadci:0,
|
||||
searchparams:{},
|
||||
resizehei:function(){
|
||||
var hei= this.getheight();
|
||||
if(agentlx==0){
|
||||
var ob = this.showobj.css({'height':''+hei+'px'});
|
||||
return ob;
|
||||
}
|
||||
},
|
||||
getheight:function(ss){
|
||||
return this.geth(ss);
|
||||
},
|
||||
scrollnew:function(){
|
||||
var top = $(document).scrollTop();
|
||||
if(top>50){
|
||||
if(!get('backtuodiv')){
|
||||
var s = '<div id="backtuodiv" onclick="js.backtop()" style="position:fixed;right:5px;bottom:10px;width:30px;height:30px; background:rgba(0,0,0,0.4);z-index:9;border-radius:50%;font-size:14px;color:white;text-align:center;line-height:30px"><i class="icon-angle-up"></i></div>';
|
||||
$('body').append(s);
|
||||
}
|
||||
}else{
|
||||
$('#backtuodiv').remove();
|
||||
}
|
||||
},
|
||||
loadshow:function(){
|
||||
var url = location.href,arr = json.menu;
|
||||
var urla= url.split('#'),darr = this.getfirstnum(arr);
|
||||
var dkey= darr[0];
|
||||
if(urla[1])dkey = urla[1];
|
||||
this.getdata(dkey,1);
|
||||
if(darr[1]>-1){
|
||||
var tit = arr[darr[1]].name;
|
||||
if(darr[2]>-1)tit = arr[darr[1]].submenu[darr[2]].name;
|
||||
this.showtabstr(darr[1], tit);
|
||||
}
|
||||
},
|
||||
getfirstnum:function(d){
|
||||
var dbh = 'def',bh='',a = d[0],i,len,lens,subs;
|
||||
if(a){
|
||||
bh = a.url;
|
||||
if(a.submenu[0])bh=a.submenu[0].url;
|
||||
}
|
||||
try{
|
||||
var site = sessionStorage.getItem(''+json.num+'_event');
|
||||
if(site)bh = site;
|
||||
}catch(e){}
|
||||
|
||||
if(isempt(bh))bh=dbh;
|
||||
len = d.length;
|
||||
var goi = -1,goj=-1;
|
||||
for(i=0;i<len;i++){
|
||||
subs = d[i].submenu;
|
||||
lens = subs.length;
|
||||
if(goi>-1)break;
|
||||
if(lens>0){
|
||||
for(var j=0;j<lens;j++){
|
||||
if(subs[j].url==bh){
|
||||
goi = i;
|
||||
goj = j;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}else{
|
||||
if(d[i].url==bh){
|
||||
goi = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return [bh,goi,goj];
|
||||
},
|
||||
showtabstr:function(oi, tit){
|
||||
$('[temp="tablx"]').removeClass('active');
|
||||
$('[temp="tablx"]:eq('+oi+')').addClass('active');
|
||||
$('[temp="taby"]').css({'color':'','border-top':''});
|
||||
$('[temp="taby"]:eq('+oi+')').css({'color':maincolor,'border-top':'1px '+maincolor+' solid'});
|
||||
$('[temp="taby"]:eq('+oi+')').find('font').html(tit);
|
||||
this.settitle(tit);
|
||||
},
|
||||
clickmenu:function(oi,o1){
|
||||
if(o1.className.indexOf('disabled')>0)return;
|
||||
var sid='menushoess_'+oi+'';
|
||||
if(get(sid)){
|
||||
$('#'+sid+'').remove();
|
||||
return;
|
||||
}
|
||||
$("div[id^='menushoess']").remove();
|
||||
var a = json.menu[oi],slen=a.submenu.length,i,a1;
|
||||
this.menuname1 = a.name;
|
||||
this.menuname2 = '';
|
||||
if(slen<=0){
|
||||
this.clickmenus(a,oi);
|
||||
}else{
|
||||
if(agentlx==0){
|
||||
var o=$(o1),w=1/json.menu.length*100;
|
||||
var s='<div id="'+sid+'" style="position:fixed;z-index:5;left:'+(o.offset().left)+'px;bottom:50px; background:white;width:'+w+'%" class="menulist r-border-r r-border-l">';
|
||||
for(i=0;i<slen;i++){
|
||||
a1=a.submenu[i];
|
||||
s+='<div onclick="yy.clickmenua('+oi+','+i+')" class="r-border-t" style="color:'+a1.color+';">'+a1.name+'</div>';
|
||||
}
|
||||
s+='</div>';
|
||||
$('body').append(s);
|
||||
}
|
||||
if(agentlx==1){
|
||||
var da = [];
|
||||
for(i=0;i<slen;i++){
|
||||
a1=a.submenu[i];
|
||||
a1.oi = oi;
|
||||
a1.i = i;
|
||||
da.push(a1);
|
||||
}
|
||||
js.showmenu({
|
||||
data:da,
|
||||
width:150,
|
||||
onclick:function(d){
|
||||
yy.clickmenua(d.oi,d.i);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
seuser:function(){
|
||||
$('#searsearch_bar').addClass('weui_search_focusing');
|
||||
$('#s_inp').focus();
|
||||
},
|
||||
sqxs:function(){
|
||||
$('#s_inp').blur();
|
||||
$('#searsearch_bar').removeClass('weui_search_focusing');
|
||||
},
|
||||
scle:function(){
|
||||
$('#s_inp').val('').focus();
|
||||
},
|
||||
sous:function(){
|
||||
var key = $('#s_inp').blur().val();
|
||||
this.keysou(key);
|
||||
},
|
||||
clickmenua:function(i,j){
|
||||
var a = json.menu[i].submenu[j];
|
||||
this.menuname2 = a.name;
|
||||
this.clickmenus(a,i);
|
||||
},
|
||||
onclickmenu:function(a){
|
||||
return true;
|
||||
},
|
||||
|
||||
settitle:function(tit){
|
||||
document.title = tit;
|
||||
$('#header_title').html(tit);
|
||||
js.setapptitle();
|
||||
},
|
||||
|
||||
clickmenus:function(a,oi){
|
||||
$("div[id^='menushoess']").remove();
|
||||
if(!this.onclickmenu(a))return;
|
||||
var tit = this.menuname1;
|
||||
if(this.menuname2!='')tit=this.menuname2;
|
||||
if(a.type==0){
|
||||
this.sqxs();
|
||||
this.sousoukey='';
|
||||
this.clickevent(a);
|
||||
this.showtabstr(oi, tit);
|
||||
}
|
||||
if(a.type==1){
|
||||
var url=a.url,amod=this.num;
|
||||
if(url.substr(0,3)=='add'){
|
||||
if(url!='add')amod=url.replace('add_','');
|
||||
url='index.php?a=lum&m=input&d=flow&num='+amod+'&show=we';
|
||||
}
|
||||
js.location(url);
|
||||
}
|
||||
},
|
||||
clickevent:function(a){
|
||||
this.getdata(a.url, 1);return;
|
||||
if(agentlx==1){
|
||||
js.location('#'+a.url+'');
|
||||
}else{
|
||||
this.getdata(a.url, 1);
|
||||
}
|
||||
},
|
||||
data:[],
|
||||
_showstotal:function(d){
|
||||
var d1,v,s,o1;
|
||||
for(d1 in d){
|
||||
v=d[d1];
|
||||
if(v==0)v='';
|
||||
o1= $('#'+d1+'_stotal');
|
||||
o1.html(v);
|
||||
}
|
||||
},
|
||||
regetdata:function(o,p){
|
||||
var mo = 'mode';
|
||||
if(o){
|
||||
o.innerHTML='<img src="images/loading.gif" align="absmiddle">';
|
||||
mo = 'none';
|
||||
}
|
||||
this.getdata(this.nowevent,p, mo);
|
||||
},
|
||||
|
||||
reload:function(){
|
||||
this.getdata(this.nowevent,this.nowpage);
|
||||
},
|
||||
search:function(cans){
|
||||
if(!cans)cans={};
|
||||
this.searchparams=cans;
|
||||
this.getdata(this.nowevent,1, '', cans);
|
||||
},
|
||||
keysou:function(key){
|
||||
if(this.sousoukey == key)return;
|
||||
this.sousoukey = key;
|
||||
this.regetdata(false,1);
|
||||
},
|
||||
xiang:function(oi){
|
||||
var d = this.data[oi-1];
|
||||
if(d.xiangurl){
|
||||
js.location(d.xiangurl+'&show=we');
|
||||
return;
|
||||
}
|
||||
var ids = d.id,nus=d.modenum,modne=d.modename;
|
||||
if(!ids)return;
|
||||
if(!nus||nus=='undefined')nus = this.num;
|
||||
var url='task.php?a=x&num='+nus+'&mid='+ids+'&show=we';
|
||||
js.location(url);
|
||||
},
|
||||
suboptmenu:{},
|
||||
showmenu:function(oi){
|
||||
var a = this.data[oi-1],ids = a.id,i;
|
||||
var nus=a.modenum;if(!nus||nus=='undefined')nus = this.num;
|
||||
if(a.type=='applybill' && nus){
|
||||
var url='index.php?a=lum&m=input&d=flow&num='+nus+'&show=we';
|
||||
js.location(url);return;
|
||||
}
|
||||
if(!ids)return;
|
||||
this.tempid = ids;
|
||||
this.tempnum = nus;
|
||||
this.temparr = {oi:oi,da:a};
|
||||
var da = [{name:this.bd6('6K!m5oOF'),lx:998,oi:oi}];
|
||||
var subdata = this.suboptmenu[''+nus+'_'+ids+''];
|
||||
if(typeof(subdata)=='object'){
|
||||
for(i=0;i<subdata.length;i++)da.push(subdata[i]);
|
||||
}else{
|
||||
da.push({name:'<img src="images/loadings.gif" align="absmiddle"> '+this.bd6('5Yqg6L296I!c5Y2V5LitLi4u')+'',lx:999});
|
||||
this.loadoptnum(nus,ids);
|
||||
}
|
||||
js.showmenu({
|
||||
data:da,
|
||||
width:150,
|
||||
onclick:function(d){
|
||||
yy.showmenuclick(d);
|
||||
}
|
||||
});
|
||||
this.suboptmenu={};
|
||||
},
|
||||
loadoptnum:function(nus,id){
|
||||
js.ajax('agent','getoptnum',{num:nus,mid:id},function(ret){
|
||||
yy.suboptmenu[''+nus+'_'+id+'']=ret;
|
||||
yy.showmenu(yy.temparr.oi);
|
||||
},'none',false,function(estr){
|
||||
yy.suboptmenu[''+nus+'_'+id+'']=[];
|
||||
yy.showmenu(yy.temparr.oi);
|
||||
});
|
||||
},
|
||||
getupgurl:function(str){
|
||||
if(str.substr(0,4)=='http')return str;
|
||||
var a1 = str.split('|'),lx = a1[0],mk = a1[1],cs=a1[2];
|
||||
var url= '';
|
||||
if(lx=='add')url='?a=lum&m=input&d=flow&num='+mk+'';
|
||||
if(lx=='xiang')url='task.php?a=x&num='+mk+'';
|
||||
if(cs)url+='&'+cs;
|
||||
return url;
|
||||
},
|
||||
showmenuclick:function(d){
|
||||
d.num=this.num;d.mid=this.tempid;
|
||||
d.modenum = this.tempnum;
|
||||
var lx = d.lx;if(!lx)lx=0;
|
||||
if(lx==999)return;
|
||||
if(lx==998){this.xiang(d.oi);return;}
|
||||
if(lx==996){this.xiang(this.temparr.oi);return;}
|
||||
this.changdatsss = d;
|
||||
if(lx==2 || lx==3){
|
||||
var clx='changeuser';if(lx==3)clx='changeusercheck';
|
||||
$('body').chnageuser({
|
||||
'changetype':clx,
|
||||
'titlebool':get('header_title'),
|
||||
'onselect':function(sna,sid){
|
||||
yy.xuanuserok(sna,sid);
|
||||
}
|
||||
});
|
||||
return;
|
||||
}
|
||||
if(lx==5){
|
||||
var upg = d.upgcont;
|
||||
if(isempt(upg)){
|
||||
js.msg('msg',this.bd6('5rKh5pyJ6K6!572u5omT5byA55qE5pON5L2c5Zyw5Z2A'));
|
||||
}else{
|
||||
var url = this.getupgurl(upg);
|
||||
js.location(url);
|
||||
}
|
||||
return;
|
||||
}
|
||||
if(lx==7){
|
||||
var upg = d.upgcont;
|
||||
if(isempt(upg)){
|
||||
js.msg('msg',this.bd6('5rKh5pyJ6K6!572u6Ieq5a6a5LmJ5pa55rOV'));
|
||||
}else{
|
||||
if(!window[upg]){
|
||||
js.msg('msg',this.bd6('6K6!572u55qE5pa55rOV4oCcezB94oCd5LiN5a2Y5ZyoJw::').replace('{0}',upg));
|
||||
}else{
|
||||
window[upg](this.temparr.da,d);
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
if(lx==1 || lx==9 || lx==10 || lx==13 || lx==15 || lx==16 || lx==17){
|
||||
var bts = (d.issm==1)?'必填':'选填';
|
||||
js.wx.prompt(d.name,'请输入['+d.name+']说明('+bts+'):',function(text){
|
||||
if(!text && d.issm==1){
|
||||
js.msg('msg','没有输入['+d.name+']说明');
|
||||
}else{
|
||||
yy.showmenuclicks(d, text);
|
||||
}
|
||||
});
|
||||
return;
|
||||
}
|
||||
if(lx==14){
|
||||
var url='index.php?a=lum&m=input&d=flow&num=remind&mid='+d.djmid+'&def_modenum='+d.modenum+'&def_mid='+d.mid+'&def_explain=basejm_'+jm.base64encode(d.smcont)+'&show=we';
|
||||
js.location(url);
|
||||
return;
|
||||
}
|
||||
if(lx==18){
|
||||
var url='index.php?a=lum&m=input&d=flow&num=receipt&mid='+d.djmid+'&def_modenum='+d.modenum+'&def_mid='+d.mid+'&def_modename=basejm_'+jm.base64encode(d.modename)+'&def_explain=basejm_'+jm.base64encode(d.smcont)+'&show=we';
|
||||
js.location(url);
|
||||
return;
|
||||
}
|
||||
if(lx==11){
|
||||
var url='index.php?a=lum&m=input&d=flow&num='+d.modenum+'&mid='+d.mid+'&show=we';
|
||||
js.location(url);
|
||||
return;
|
||||
}
|
||||
this.showmenuclicks(d,'');
|
||||
},
|
||||
xuanuserok:function(nas,sid){
|
||||
if(!sid)return;
|
||||
var d = this.changdatsss,sm='';
|
||||
d.changename = nas;
|
||||
d.changenameid = sid;
|
||||
this.showmenuclicks(d,sm);
|
||||
},
|
||||
showmenuclicks:function(d, sm){
|
||||
if(!sm)sm='';
|
||||
d.sm = sm;
|
||||
for(var i in d)if(d[i]==null)d[i]='';
|
||||
js.ajax('index','yyoptmenu',d,function(ret){
|
||||
yy.suboptmenu[''+d.modenum+'_'+d.mid+'']=false;
|
||||
yy.getdata(yy.nowevent, 1);
|
||||
});
|
||||
},
|
||||
showdata:function(a){
|
||||
this.overend = true;
|
||||
var s='',i,len=a.rows.length,d,st='',oi;
|
||||
$('#showblank').remove();
|
||||
$('#notrecord').remove();
|
||||
if(typeof(a.stotal)=='object')this._showstotal(a.stotal);
|
||||
if(a.page==1){
|
||||
this.showobj.html('');
|
||||
this.data=[];
|
||||
}
|
||||
for(i=0;i<len;i++){
|
||||
d=a.rows[i];
|
||||
oi=this.data.push(d);
|
||||
if(d.showtype=='line' && d.title){
|
||||
s='<div class="contline">'+d.title+'</div>';
|
||||
}else{
|
||||
if(!d.statuscolor)d.statuscolor='';
|
||||
st='';
|
||||
if(d.ishui==1)st='color:#aaaaaa;';
|
||||
s='<div style="'+st+'" class="r-border contlist">';
|
||||
if(d.title){
|
||||
if(d.face){
|
||||
s+='<div onclick="yy.showmenu('+oi+')" class="face"><img src="'+d.face+'" align="absmiddle">'+d.title+'</div>';
|
||||
}else{
|
||||
s+='<div onclick="yy.showmenu('+oi+')" class="tit">'+d.title+'</div>';
|
||||
}
|
||||
}
|
||||
if(d.optdt)s+='<div class="dt">'+d.optdt+'</div>';
|
||||
if(d.picurl)s+='<div onclick="yy.showmenu('+oi+')" class="imgs"><img src="'+d.picurl+'" width="100%"></div>';
|
||||
if(d.cont)s+='<div onclick="yy.showmenu('+oi+')" class="cont">'+d.cont.replace(/\n/g,'<br>')+'</div>';
|
||||
if(d.id && d.modenum && !d.noshowopt){
|
||||
s+='<div class="xq r-border-t"><font onclick="yy.showmenu('+oi+')">操作<i class="icon-angle-down"></i></font><span onclick="yy.xiang('+oi+')">详情>></span>';
|
||||
s+='</div>';
|
||||
}
|
||||
if(d.xiangurl){
|
||||
s+='<div class="xq r-border-t" onclick="yy.xiang('+oi+')"><font>详情>></font></div>';
|
||||
}
|
||||
if(d.statustext)s+='<div style="background-color:'+d.statuscolor+';opacity:0.7" class="zt">'+d.statustext+'</div>';
|
||||
s+='</div>';
|
||||
}
|
||||
this.showobj.append(s);
|
||||
}
|
||||
var count=a.count;
|
||||
if(count==0)count=len;
|
||||
if(count>0){
|
||||
this.nowpage = a.page;
|
||||
s = '<div class="showblank" id="showblank">共'+count+'条记录';
|
||||
if(a.maxpage>1)s+=',当前'+a.maxpage+'/'+a.page+'页';
|
||||
if(a.page<a.maxpage){
|
||||
s+=', <a id="showblankss" onclick="yy.regetdata(this,'+(a.page+1)+')" href="javascript:;">点击加载</a>';
|
||||
this.overend = false;
|
||||
}
|
||||
s+= '</div>';
|
||||
this.showobj.append(s);
|
||||
if(a.count==0)$('#showblank').html('');
|
||||
}else{
|
||||
this.showobj.html('<div class="notrecord" id="notrecord">暂无记录</div>');
|
||||
}
|
||||
this.onshowdata(a);
|
||||
},
|
||||
scrollEndevent:function(){
|
||||
yy.regetdata(get('showblankss'),yy.nowpage+1);
|
||||
},
|
||||
clad:function(){
|
||||
var str = this.bd6('5bqU55So6aaW6aG15pi!56S6');
|
||||
if(json.iscy==1)str=this.bd6('5Y!W5raI5bqU55So6aaW6aG15pi!56S6');
|
||||
if(apicloud){
|
||||
api.actionSheet({
|
||||
title: this.bd6('6YCJ5oup6I!c5Y2V'),
|
||||
cancelTitle: this.bd6('5Y!W5raI'),
|
||||
buttons: [str,this.bd6('5YWz6Zet5bqU55So')]
|
||||
}, function(ret, err) {
|
||||
var index = ret.buttonIndex;
|
||||
if(index==1)yy.addchangying();
|
||||
if(index==2)js.back();
|
||||
});
|
||||
}else{
|
||||
js.showmenu({
|
||||
data:[{name:str,lx:1}],
|
||||
width:170,
|
||||
onclick:function(d){
|
||||
if(d.lx==1)yy.addchangying();
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
addchangying:function(){
|
||||
js.ajax('indexreim','shecyy',{yynum:json.num},function(ret){
|
||||
json.iscy = ret.iscy;
|
||||
js.wx.msgok(ret.msg, false, 1);
|
||||
},'mode', false,false, 'get');
|
||||
},
|
||||
init:function(){
|
||||
for(var i in js.main)this[i]=js.main[i];
|
||||
this.zhuinit();
|
||||
this.num = json.num;
|
||||
this.showobj = $('#mainbody');
|
||||
$('.weui_navbar').click(function(){return false;});
|
||||
$('body').click(function(){
|
||||
$("div[id^='menushoess']").remove();
|
||||
});
|
||||
this.resizehei();
|
||||
$(window).resize(function(){yy.resizehei();});
|
||||
if(agentlx==1){$(window).scroll(function(){yy.scrollnew();});}
|
||||
if(!this.checkyz()){this.clickmenu=this.showdata=function(){};return;}
|
||||
},
|
||||
getdata:function(st,p, mo, cas){
|
||||
this.getdatamain(st,p, mo, cas);
|
||||
}
|
||||
}
|
||||
200
webmain/we/ying/yingAction.php
Normal file
200
webmain/we/ying/yingAction.php
Normal file
@@ -0,0 +1,200 @@
|
||||
<?php
|
||||
/**
|
||||
* 移动端应用控制器页面
|
||||
* 主页:http://www.rockoa.com/
|
||||
* 软件:信呼
|
||||
* 作者:雨中磐石(rainrock)
|
||||
* 日期:2016-10-10
|
||||
*/
|
||||
|
||||
class yingClassAction extends ActionNot{
|
||||
|
||||
public $openfrom = '';
|
||||
|
||||
public function initAction()
|
||||
{
|
||||
$this->mweblogin(0, true);
|
||||
$openfrom = $this->get('openfrom');
|
||||
if(isempt($openfrom))$openfrom = $this->get('cfrom');
|
||||
if(!isempt($openfrom)){
|
||||
$this->rock->setsession('openfrom', $openfrom);
|
||||
}else{
|
||||
$openfrom = $this->rock->session('openfrom');
|
||||
}
|
||||
$this->openfrom = $openfrom;
|
||||
$this->assign('openfrom', $this->openfrom);
|
||||
}
|
||||
|
||||
private function bd6($str)
|
||||
{
|
||||
return $this->jm->base64decode($str);
|
||||
}
|
||||
|
||||
public function defaultAction()
|
||||
{
|
||||
$ybarr = $this->option->authercheck();
|
||||
if(is_string($ybarr))return $ybarr;
|
||||
$authkey = $ybarr['authkey'];
|
||||
$num = $this->get('num');
|
||||
$mnum = $this->get('mnum'); //模块编号
|
||||
$this->assign('xhauthkey', getconfig('authkey', $authkey));
|
||||
if(!isempt($mnum)){
|
||||
$this->showmodenum($mnum);
|
||||
return;
|
||||
}
|
||||
$reim = m('reim');
|
||||
$arr = $reim->getagent(0, "and `num`='$num'");
|
||||
if(!$arr)exit('应用['.$num.']不存在');
|
||||
$rs = $arr[0];
|
||||
$this->title = $rs['name'];
|
||||
$yyurl = ''.P.'/we/ying/yingyong/'.$num.'.html';
|
||||
if(!file_exists($yyurl))$yyurl='';
|
||||
$yyurljs = ''.P.'/we/ying/yingyong/'.$num.'.js';
|
||||
if(!file_exists($yyurljs))$yyurljs='';
|
||||
|
||||
|
||||
$rs['iscy'] = $this->iscy($num);
|
||||
$this->assign('arr', $rs);
|
||||
$this->assign('num', $num);
|
||||
|
||||
|
||||
$this->assign('yyurl', $yyurl);
|
||||
$this->assign('yyurljs', $yyurljs);
|
||||
$this->assign('searchmsg', '输入关键词搜索');
|
||||
$this->assign('typename', '');
|
||||
$gid = $rs['id'];
|
||||
$reim->setallyd('agent', $this->adminid, $gid);
|
||||
|
||||
$clasne = 'ying_'.$num.'Class';
|
||||
$classpath = ''.P.'/we/ying/yingyong/'.$clasne.'.php';
|
||||
if(file_exists($classpath)){
|
||||
include_once($classpath);
|
||||
$yingobj = new $clasne();
|
||||
$yingobj->initYing($this);
|
||||
}
|
||||
if(getconfig('useropt')=='1')m('log')->addlog('打开应用', '应用['.$num.'.'.$this->title.']');
|
||||
}
|
||||
|
||||
//默认根据模块显示
|
||||
private function showmodenum($mnum)
|
||||
{
|
||||
$typename = '';
|
||||
$flow = m('flow')->initflow($mnum);
|
||||
$mrs = $flow->moders;
|
||||
|
||||
if($mrs['status']=='0')exit('模块['.$mnum.','.$mrs['name'].']已停用');
|
||||
$souarr = $flow->flowwesearchdata(0);
|
||||
$searchmsg = arrvalue($souarr, 'searchmsg','输入关键词搜索');
|
||||
$typename = arrvalue($souarr, 'typename');
|
||||
|
||||
$this->title = $mrs['name'];
|
||||
$pnum = $this->get('pnum');
|
||||
$menu = array();
|
||||
$atypearr = m('where')->getmywhere($mrs['id'], $this->adminid, $pnum);
|
||||
if(!$atypearr)exit('请到【流程模块→流程模块条件】建条件,分组编号要为空');
|
||||
if(isempt($pnum)){
|
||||
if($mrs['iscs']>0)$atypearr[] = array('id' => 0,'num' => 'chaos','name' => '抄送给我');
|
||||
if($mrs['isflow']>0)$atypearr[] = array('id' => 0,'num' => 'mychuli','name' => '经我处理');
|
||||
}
|
||||
$isadd = m('view')->isadd($mrs['id'], $this->adminid);
|
||||
if($isadd)$atypearr[] = array('id' => 0,'num' => 'add','type' => 1,'name' => '+新增');
|
||||
foreach($atypearr as $k1=>$rs1){
|
||||
$uar = array('type' => 0,'name' => $rs1['name'],'url' => $rs1['num'].'|'.$mnum.'','num' => '','submenu'=> array());
|
||||
if(arrvalue($rs1,'type')==1){$uar['type']=1;$uar['url']='add_'.$mnum.'';}
|
||||
$menu[] = $uar;
|
||||
if($k1>1)break;
|
||||
}
|
||||
if(count($atypearr)>3){
|
||||
$submenu = array();
|
||||
foreach($atypearr as $k1=>$rs1){
|
||||
$uar = array('type' => 0,'name' => $rs1['name'],'url' => $rs1['num'].'|'.$mnum.'','num' => '','submenu'=> array());
|
||||
if(arrvalue($rs1,'type')==1){$uar['type']=1;$uar['url']='add_'.$mnum.'';}
|
||||
if($k1>1)$submenu[] = $uar;
|
||||
}
|
||||
$menu[2] = array(
|
||||
'name' => '更多>>',
|
||||
'num' => '',
|
||||
'submenu' => $submenu,
|
||||
);
|
||||
}
|
||||
if(!$menu)$menu[] = array(
|
||||
'name' => $mrs['name'],
|
||||
'url' => 'my|'.$mnum.'',
|
||||
'num' => '',
|
||||
'submenu' => array(),
|
||||
);
|
||||
|
||||
$arr = array(
|
||||
'face' => '',
|
||||
'leixing'=>$mnum,
|
||||
'menu' => $menu,
|
||||
'num' => 'base',
|
||||
'name' => $mrs['name'],
|
||||
);
|
||||
$yyurl = '';
|
||||
$yyurljs = '';
|
||||
$this->assign('searchmsg', $searchmsg);
|
||||
$this->assign('yyurl', $yyurl);
|
||||
$this->assign('arr', $arr);
|
||||
$this->assign('yyurljs', $yyurljs);
|
||||
$this->assign('typename', $typename);
|
||||
if(getconfig('useropt')=='1')m('log')->addlog('打开模块应用', '模块['.$mnum.'.'.$this->title.']');
|
||||
}
|
||||
|
||||
|
||||
|
||||
private function iscy($num)
|
||||
{
|
||||
$myyyid= $this->option->getval('yinghomeshow_'.$this->adminid.'');
|
||||
$iscy = 0;
|
||||
if(!isempt($myyyid) && contain(','.$myyyid.',',','.$num.','))$iscy=1;
|
||||
return $iscy;
|
||||
}
|
||||
|
||||
public function locationAction()
|
||||
{
|
||||
$this->title = '考勤定位';
|
||||
$kq = m('kaoqin');
|
||||
$arr = m('waichu')->getoutrows($this->date,$this->adminid);
|
||||
$this->assign('rows', $arr);
|
||||
$dt = $this->rock->date;
|
||||
$dwarr = m('location')->getrows("uid='$this->adminid' and `optdt` like '$dt%'",'*','`id` desc');
|
||||
$this->assign('dwarr', $dwarr);
|
||||
$kqrs = $kq->dwdkrs($this->adminid, $this->date);
|
||||
$isgzh = m('wxgzh:index')->isusegzh();
|
||||
$this->assign('isgzh', $isgzh);
|
||||
$this->assign('kqrs', $kqrs);
|
||||
$dwids = arrvalue($kqrs, 'dwids');
|
||||
$kqors = array();
|
||||
if(!isempt($dwids)){
|
||||
$kqors = m('kqdw')->getrows("id in($dwids) and `id`<>".$kqrs['id']."");
|
||||
}
|
||||
$this->assign('kqors', $kqors);
|
||||
$this->smartydata['qqmapkey'] = getconfig('qqmapkey','55QBZ-JGYLO-BALWX-SZE4H-5SV5K-JCFV7');
|
||||
}
|
||||
|
||||
/**
|
||||
* 最新打卡使用
|
||||
*/
|
||||
public function dakaAction()
|
||||
{
|
||||
$this->title = '考勤打卡';
|
||||
|
||||
$kq = m('kaoqin');
|
||||
$dt = $this->rock->date;
|
||||
$dwarr = m('location')->getrows("uid='$this->adminid' and `optdt` like '$dt%'",'*','`id` desc');
|
||||
$this->assign('dwarr', $dwarr);
|
||||
$kqrs = $kq->dwdkrs($this->adminid, $this->date);
|
||||
$isgzh = m('wxgzh:index')->isusegzh();
|
||||
$this->assign('isgzh', $isgzh);
|
||||
$this->assign('iscy', $this->iscy('kqdaka'));
|
||||
$this->assign('kqrs', $kqrs);
|
||||
$dwids = arrvalue($kqrs, 'dwids');
|
||||
$kqors = array();
|
||||
if(!isempt($dwids)){
|
||||
$kqors = m('kqdw')->getrows("id in($dwids) and `id`<>".$kqrs['id']."");
|
||||
}
|
||||
$this->assign('kqors', $kqors);
|
||||
$this->smartydata['qqmapkey'] = getconfig('qqmapkey','55QBZ-JGYLO-BALWX-SZE4H-5SV5K-JCFV7');
|
||||
}
|
||||
}
|
||||
27
webmain/we/ying/yingyong/calendar.html
Normal file
27
webmain/we/ying/yingyong/calendar.html
Normal file
@@ -0,0 +1,27 @@
|
||||
<script type="text/javascript" src="web/res/mode/calendar/jquery-rockcalendar.js"></script>
|
||||
<script type="text/javascript" src="web/res/mode/calendar/jquery-rocklunar.js"></script>
|
||||
<script type="text/javascript">
|
||||
yingyonginit = function(){
|
||||
monthobj = $('#mainbody').rockcalendar({
|
||||
height:yy.getheight(-2),headerbgcolor:'#dddddd',
|
||||
selbgcolor:'#DEF7F2',
|
||||
changemonth:function(y, m){
|
||||
var dt = ''+y+'年'+xy10(m)+'月';
|
||||
setTimeout(function(){
|
||||
yy.settitle(dt);
|
||||
},10);
|
||||
},
|
||||
align:'center',
|
||||
valign:'center',
|
||||
renderer:function(day, s, s1,s2,col1,col2){
|
||||
var s = '<div><font color='+col1+'>'+s1+'</font><br><div style="font-size:11px;height:16px;overflow:hidden;color:'+col2+'">'+s2+'</div></div>';
|
||||
return s;
|
||||
}
|
||||
});
|
||||
}
|
||||
yy.clickevent=function(d){
|
||||
if(d.url=='nowmonth')monthobj.nowmonth();
|
||||
if(d.url=='prevmonth')monthobj.fanmonth(-1);
|
||||
if(d.url=='nextmonth')monthobj.fanmonth(1);
|
||||
}
|
||||
</script>
|
||||
30
webmain/we/ying/yingyong/daiban.js
Normal file
30
webmain/we/ying/yingyong/daiban.js
Normal file
@@ -0,0 +1,30 @@
|
||||
var soumodeid = 0;
|
||||
yy.onclickmenu=function(d){
|
||||
if(this.nowevent!=d.url)soumodeid=0;
|
||||
return true;
|
||||
}
|
||||
function myyingsinit(){
|
||||
var s = '<select id="modeid" style="width:100px;border:none;background:white;font-size:14px"><option value="0">选择模块</option></select>';
|
||||
$('#searsearch_bar').prepend(s);
|
||||
$('#modeid').change(function(){
|
||||
soumodeid = this.value;
|
||||
yy.search({'modeid':this.value});
|
||||
});
|
||||
}
|
||||
yy.onshowdata=function(da){
|
||||
if(da.modearr){
|
||||
var s = '<option value="0">选择模块</option>',len=da.modearr.length,i,csd,types='';
|
||||
for(i=0;i<len;i++){
|
||||
csd = da.modearr[i];
|
||||
if(types!=csd.type){
|
||||
if(types!='')s+='</optgroup>';
|
||||
s+='<optgroup label="'+csd.type+'">';
|
||||
}
|
||||
s+='<option value="'+csd.id+'">'+csd.name+'</option>';
|
||||
types = csd.type;
|
||||
}
|
||||
$('#modeid').html(s);
|
||||
if(soumodeid>0)get('modeid').value = soumodeid;
|
||||
}
|
||||
}
|
||||
myyingsinit();
|
||||
9
webmain/we/ying/yingyong/flow.html
Normal file
9
webmain/we/ying/yingyong/flow.html
Normal file
@@ -0,0 +1,9 @@
|
||||
<script type="text/javascript">
|
||||
yy.onclickmenu=function(d){
|
||||
if(d.url=='moreapply'){
|
||||
js.location('?d=we&m=flow&a=apply');
|
||||
}else{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
30
webmain/we/ying/yingyong/flow.js
Normal file
30
webmain/we/ying/yingyong/flow.js
Normal file
@@ -0,0 +1,30 @@
|
||||
yy.onclickmenu=function(d){
|
||||
if(d.url=='moreapply'){
|
||||
js.location('?d=we&m=flow&a=apply');
|
||||
}else{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
function myyingsinit(){
|
||||
var s = '<select id="modeid" style="width:100px;border:none;background:white;font-size:14px"><option value="0">选择模块</option></select>';
|
||||
$('#searsearch_bar').prepend(s);
|
||||
$('#modeid').change(function(){
|
||||
yy.search({'modeid':this.value});
|
||||
});
|
||||
}
|
||||
yy.onshowdata=function(da){
|
||||
if(da.modearr){
|
||||
var s = '<option value="0">选择模块</option>',len=da.modearr.length,i,csd,types='';
|
||||
for(i=0;i<len;i++){
|
||||
csd = da.modearr[i];
|
||||
if(types!=csd.type){
|
||||
if(types!='')s+='</optgroup>';
|
||||
s+='<optgroup label="'+csd.type+'">';
|
||||
}
|
||||
s+='<option value="'+csd.id+'">'+csd.name+'</option>';
|
||||
types = csd.type;
|
||||
}
|
||||
if(len>0)$('#modeid').html(s);
|
||||
}
|
||||
}
|
||||
myyingsinit();
|
||||
13
webmain/we/ying/yingyong/gong.js
Normal file
13
webmain/we/ying/yingyong/gong.js
Normal file
@@ -0,0 +1,13 @@
|
||||
function myyingsinit(){
|
||||
var s = '<select id="typeid" style="width:100px;border:none;background:white;font-size:14px"><option value="">所有分类</option></select>';
|
||||
$('#searsearch_bar').prepend(s);
|
||||
$('#typeid').change(function(){
|
||||
yy.search({'typeid':this.value});
|
||||
});
|
||||
}
|
||||
yy.onshowdata=function(da){
|
||||
if(da.typearr){
|
||||
js.setselectdata(get('typeid'), da.typearr, 'id');
|
||||
}
|
||||
}
|
||||
myyingsinit();
|
||||
23
webmain/we/ying/yingyong/jiankong.js
Normal file
23
webmain/we/ying/yingyong/jiankong.js
Normal file
@@ -0,0 +1,23 @@
|
||||
function myyingsinit(){
|
||||
var s = '<select id="modeid" style="width:100px;border:none;background:white;font-size:14px"><option value="0">选择模块</option></select>';
|
||||
$('#searsearch_bar').prepend(s);
|
||||
$('#modeid').change(function(){
|
||||
yy.search({'modeid':this.value});
|
||||
});
|
||||
}
|
||||
yy.onshowdata=function(da){
|
||||
if(da.modearr){
|
||||
var s = '<option value="0">选择模块</option>',len=da.modearr.length,i,csd,types='';
|
||||
for(i=0;i<len;i++){
|
||||
csd = da.modearr[i];
|
||||
if(types!=csd.type){
|
||||
if(types!='')s+='</optgroup>';
|
||||
s+='<optgroup label="'+csd.type+'">';
|
||||
}
|
||||
s+='<option value="'+csd.id+'">'+csd.name+'</option>';
|
||||
types = csd.type;
|
||||
}
|
||||
if(len>0)$('#modeid').html(s);
|
||||
}
|
||||
}
|
||||
myyingsinit();
|
||||
56
webmain/we/ying/yingyong/kqbiao.html
Normal file
56
webmain/we/ying/yingyong/kqbiao.html
Normal file
@@ -0,0 +1,56 @@
|
||||
<div id="mainbodyobjdse"></div>
|
||||
<div id="dayabc" style="height:24px;line-height:24px;overflow:hidden;font-size:12px;background-color:#d4e3f7;border-top:1px #dddddd solid;position:absolute;bottom:50px;left:0px;width:100%">空白为休息日</div>
|
||||
<script type="text/javascript" src="web/res/mode/calendar/jquery-rockcalendar.js"></script>
|
||||
<script type="text/javascript" src="web/res/mode/calendar/jquery-rocklunar.js"></script>
|
||||
<script type="text/javascript">
|
||||
yingyonginit = function(){
|
||||
monthobj = $('#mainbodyobjdse').rockcalendar({
|
||||
height:yy.getheight(-25),headerbgcolor:'#dddddd',
|
||||
selbgcolor:'#d4e3f7',
|
||||
overShow:false,
|
||||
bordercolor:'#dddddd',
|
||||
changemonth:function(y, m){
|
||||
var dt = ''+y+'年'+xy10(m)+'月';
|
||||
setTimeout(function(){
|
||||
yy.settitle(dt);
|
||||
},10);
|
||||
getpaibang(''+y+'-'+xy10(m)+'');
|
||||
},
|
||||
align:'left',
|
||||
valign:'top',
|
||||
renderer:function(day, s0, s1,s2,col1,col2){
|
||||
var s = '<div><font color='+col1+'>'+s1+'</font><br><div style="font-size:11px;color:'+col2+'" id="day'+day+'">'+s2+'</div></div>';
|
||||
return s;
|
||||
}
|
||||
});
|
||||
var hei= yy.getheight(-25);
|
||||
yy.showobj.css({'height':''+hei+'px'});
|
||||
}
|
||||
yy.clickevent=function(d){
|
||||
if(d.url=='nowmonth')monthobj.nowmonth();
|
||||
if(d.url=='prevmonth')monthobj.fanmonth(-1);
|
||||
if(d.url=='refenxi')refenxiss();
|
||||
}
|
||||
var monthnow = '';
|
||||
function getpaibang(month){
|
||||
monthnow = month;
|
||||
$.get(js.getajaxurl('getmyanaykq','kaoqin','main', {month:month,uid:js.request('uid')}), function(strss){
|
||||
var d1,s='',da=js.decode(strss);
|
||||
for(d1 in da){
|
||||
s=da[d1];
|
||||
if(s!='')$('#day'+d1+'').html(s);
|
||||
}
|
||||
s='';var toarr = da['total'];
|
||||
for(d1 in toarr)s+=','+d1+':'+toarr[d1]+'';
|
||||
if(s!='')s=s.substr(1);
|
||||
$('#dayabc').html(s);
|
||||
});
|
||||
}
|
||||
function refenxiss(){
|
||||
js.loading('分析中...');
|
||||
$.get(js.getajaxurl('reladanaymy','kaoqin','main', {month:monthnow,uid:js.request('uid')}), function(da){
|
||||
getpaibang(monthnow);
|
||||
js.unloading();
|
||||
});
|
||||
}
|
||||
</script>
|
||||
7
webmain/we/ying/yingyong/kqdkjl.js
Normal file
7
webmain/we/ying/yingyong/kqdkjl.js
Normal file
@@ -0,0 +1,7 @@
|
||||
yy.onclickmenu=function(a){
|
||||
if(a.url=='add_kqdkjl'){
|
||||
js.location('?d=we&m=ying&a=location');
|
||||
return;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
42
webmain/we/ying/yingyong/kqpai.html
Normal file
42
webmain/we/ying/yingyong/kqpai.html
Normal file
@@ -0,0 +1,42 @@
|
||||
<div id="mainbodyobjdse"></div>
|
||||
<div id="dayabc" style="height:24px;line-height:24px;overflow:hidden;font-size:12px;padding:0px 5px; background-color:#d4e3f7;border-top:1px #dddddd solid">空白为休息日</div>
|
||||
<script type="text/javascript" src="web/res/mode/calendar/jquery-rockcalendar.js"></script>
|
||||
<script type="text/javascript" src="web/res/mode/calendar/jquery-rocklunar.js"></script>
|
||||
<script type="text/javascript">
|
||||
yingyonginit = function(){
|
||||
monthobj = $('#mainbodyobjdse').rockcalendar({
|
||||
height:yy.getheight(-25),headerbgcolor:'#dddddd',
|
||||
selbgcolor:'#d4e3f7',
|
||||
overShow:false,
|
||||
bordercolor:'#dddddd',
|
||||
changemonth:function(y, m){
|
||||
var dt = ''+y+'年'+xy10(m)+'月';
|
||||
setTimeout(function(){
|
||||
yy.settitle(dt);
|
||||
},10);
|
||||
getpaibang(''+y+'-'+xy10(m)+'');
|
||||
},
|
||||
align:'center',
|
||||
valign:'center',
|
||||
renderer:function(day, s0, s1,s2,col1,col2){
|
||||
var s = '<div><font color='+col1+'>'+s1+'</font><br><div style="font-size:11px;height:16px;overflow:hidden;color:'+col2+'" id="day'+day+'">'+s2+'</div></div>';
|
||||
return s;
|
||||
}
|
||||
});
|
||||
}
|
||||
yy.clickevent=function(d){
|
||||
if(d.url=='nowmonth')monthobj.nowmonth();
|
||||
if(d.url=='prevmonth')monthobj.fanmonth(-1);
|
||||
if(d.url=='nextmonth')monthobj.fanmonth(1);
|
||||
}
|
||||
function getpaibang(month){
|
||||
js.ajax('kaoqin','getpaib',{'month':month,'uid':js.request('uid')},function(ret){
|
||||
for(var d1 in ret){
|
||||
var s1 = ret[d1];
|
||||
if(s1=='')s1='休息';
|
||||
if(d1!='abc')s1 = '['+s1+']';
|
||||
$('#day'+d1+'').html(s1);
|
||||
}
|
||||
},'mode', false,false, 'get');
|
||||
}
|
||||
</script>
|
||||
5
webmain/we/ying/yingyong/kqtotal.js
Normal file
5
webmain/we/ying/yingyong/kqtotal.js
Normal file
@@ -0,0 +1,5 @@
|
||||
yy.showmenu=function(oi){
|
||||
var a = this.data[oi-1];
|
||||
var url = '?m=ying&d=we&num=kqbiao&uid='+a.uid+'';
|
||||
js.location(url);
|
||||
}
|
||||
13
webmain/we/ying/yingyong/news.js
Normal file
13
webmain/we/ying/yingyong/news.js
Normal file
@@ -0,0 +1,13 @@
|
||||
function myyingsinit(){
|
||||
var s = '<select id="typeid" style="width:100px;border:none;background:white;font-size:14px"><option value="">所有分类</option></select>';
|
||||
$('#searsearch_bar').prepend(s);
|
||||
$('#typeid').change(function(){
|
||||
yy.search({'typeid':this.value});
|
||||
});
|
||||
}
|
||||
yy.onshowdata=function(da){
|
||||
if(da.typearr){
|
||||
js.setselectdata(get('typeid'), da.typearr, 'id');
|
||||
}
|
||||
}
|
||||
myyingsinit();
|
||||
334
webmain/we/ying/yingyong/word.html
Normal file
334
webmain/we/ying/yingyong/word.html
Normal file
@@ -0,0 +1,334 @@
|
||||
<style>
|
||||
.progresscls{height:24px;overflow:hidden;line-height:24px;border:0px #eeeeee solid; position:relative;;width:100%;background-color:#f1f1f1;margin-top:3px}
|
||||
.progressclssse{background-color:#B0D6FC;height:24px;overflow:hidden;width:5%;position:absolute;z-index:0;left:0px;top:0px}
|
||||
.progressclstext{font-size:10px;color:#0556A8;height:24px;overflow:hidden;line-height:24px;text-align:left;position:absolute;z-index:1;left:5px;top:0px}
|
||||
.workheader span{float:left;display:block;padding:0px 10px; border-right:1px #dddddd solid;cursor:pointer;}
|
||||
.workheader span:active{background:#e1e1e1}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
var cqids = '<?=$worcarr['ids']?>';
|
||||
yingyonginit = function(){
|
||||
c.init();
|
||||
}
|
||||
yy.regetdata=function(){
|
||||
c.getfile(0,0);
|
||||
}
|
||||
var c = {
|
||||
typeid:0,
|
||||
cqid:0,
|
||||
ismanage:0,
|
||||
isup:0,
|
||||
uptype:'',
|
||||
officebj:'',
|
||||
init:function(){
|
||||
c.getfile(0,0);
|
||||
c.upobj = $.rockupload({
|
||||
'inputfile' : 'wordupfile',
|
||||
onchange:function(a){
|
||||
c.onchange(a);
|
||||
},
|
||||
onprogress:function(a,bl){
|
||||
c.onprogress(a,bl);
|
||||
},
|
||||
onsuccess:function(a,str){
|
||||
c.onsuccess(a,str);
|
||||
},
|
||||
onerror:function(str){
|
||||
js.msg('msg', str);
|
||||
$('#progresstext_heheheh').html('<font color=red>上传失败</font>');
|
||||
}
|
||||
});
|
||||
},
|
||||
onchange:function(a){
|
||||
$('#progresscls_hehehehsss').remove();
|
||||
$('body').append('<div id="progresscls_hehehehsss" style="position:absolute;bottom:50px;" class="progresscls"><div id="progresscls_heheheh" class="progressclssse"></div><div class="progressclstext" id="progresstext_heheheh" >'+a.filename+','+a.filesizecn+'(0%)</div></div>');
|
||||
},
|
||||
onprogress:function(a,per){
|
||||
$('#progresscls_heheheh').css('width',''+per+'%');
|
||||
$('#progresstext_heheheh').html(''+a.filename+','+a.filesizecn+'('+per+'%)');
|
||||
},
|
||||
onsuccess:function(a,str){
|
||||
var f = js.decode(str);
|
||||
$('#progresstext_heheheh').html(''+a.filename+','+a.filesizecn+',上传成功,保存中...');
|
||||
var fileid = f.id;
|
||||
js.ajax('word','savefile',{typeid:c.typeid,sid:fileid,cqid:this.cqid},function(a){
|
||||
$('#progresscls_hehehehsss').remove();
|
||||
js.msg('success',''+a.filename+'上传成功');
|
||||
a.fileid=a.id;
|
||||
a.name = a.filename;
|
||||
$('#wordlisttable').append(c.showlist(a));
|
||||
},'none');
|
||||
},
|
||||
create:function(){
|
||||
js.wx.prompt('新建文件夹','请输入文件夹名称:',function(text){
|
||||
if(!text){js.msg('msg','没有输入文件夹名称');return;}
|
||||
js.ajax('word','createfolder',{name:text,typeid:c.typeid,cqid:c.cqid},function(a){
|
||||
c.createshow(a);
|
||||
});
|
||||
});
|
||||
},
|
||||
createshow:function(a){
|
||||
$('#wordlisttable').append(this.showlist(a));
|
||||
},
|
||||
up:function(){
|
||||
c.upobj.click({'uptype':this.uptype});
|
||||
},
|
||||
|
||||
//切换分区
|
||||
changfenqu:function(fq){
|
||||
yy.sousoukey='';
|
||||
yy.sqxs();
|
||||
$('#workheader span:gt(0)').remove();
|
||||
this.uptype = $(fq.options[fq.selectedIndex]).attr('uptype');
|
||||
this.getfile(0, fq.value);
|
||||
},
|
||||
disabedgl:function(lx){
|
||||
var clas = 'weui_navbar_item_disabled';
|
||||
if(lx){
|
||||
$('div[tempxu=2]').addClass(clas);
|
||||
}else{
|
||||
$('div[tempxu=2]').removeClass(clas);
|
||||
}
|
||||
},
|
||||
disableup:function(lx){
|
||||
var clas = 'weui_navbar_item_disabled';
|
||||
if(lx){
|
||||
$('div[tempxu=0]').addClass(clas);
|
||||
}else{
|
||||
$('div[tempxu=0]').removeClass(clas);
|
||||
}
|
||||
},
|
||||
getfile:function(pid,cid,alx,padg){
|
||||
this.typeid = pid;
|
||||
this.cqid = cid;
|
||||
this.disabedgl(true);
|
||||
this.disableup(true);
|
||||
if(!alx)alx='';
|
||||
this.atype = alx;
|
||||
if(!padg)padg=1;
|
||||
this.page = padg;
|
||||
get('cpselect').value = this.cqid;
|
||||
js.ajax('word','getdata',{typeid:pid,cqid:this.cqid,cqids:cqids,atype:alx,page:padg,key:yy.sousoukey},function(a){
|
||||
c.ismanage = a.ismanage;
|
||||
c.isup = a.isup;
|
||||
c.officebj = a.officebj;
|
||||
if(a.ismanage==1)c.disabedgl(false);//有权限
|
||||
if(a.isup==1)c.disableup(false);//有权限
|
||||
c.data=[];
|
||||
c.showdata(a);
|
||||
},'mode');
|
||||
},
|
||||
reload:function(){
|
||||
this.getfile(this.typeid,this.cqid,this.atype);
|
||||
},
|
||||
nextpage:function(){
|
||||
this.getfile(this.typeid,this.cqid,this.atype,this.page+1);
|
||||
},
|
||||
showdata:function(a){
|
||||
$('#showblank').remove();
|
||||
var rows = a.rows;
|
||||
var i,len=rows.length,s;
|
||||
s='<table id="wordlisttable" style="width:100%; background-color:white">';
|
||||
for(i=0;i<len;i++){
|
||||
s+=c.showlist(rows[i]);
|
||||
}
|
||||
s+='</table>';
|
||||
s+='<div style="margin-top:10px" class="showblank" id="showblank">共'+a.count+'条记录';
|
||||
if(a.maxpage>1)s+=',当前'+a.maxpage+'/'+a.page+'页';
|
||||
if(a.page<a.maxpage){
|
||||
s+=', <a id="showblankss" onclick="c.nextpage(this)" href="javascript:;">点击加载</a>';
|
||||
}
|
||||
s+='</div>';
|
||||
if(a.page<=1){
|
||||
$('#mainbody_show').html(s);
|
||||
}else{
|
||||
$('#mainbody_show').append(s);
|
||||
}
|
||||
},
|
||||
showlist:function(d){
|
||||
if(!d.id)d.id=d.fileid;
|
||||
if(!d.fileext)d.fileext='folder';
|
||||
var oi = this.data.push(d),s1='';
|
||||
var s='';
|
||||
s+='<tr style="height:60px;border-top:1px #f1f1f1 solid" id="'+d.fileext+'_'+d.id+'" onclick="c.clicksse('+oi+',event,this)" >';
|
||||
s1='<div id="filename_'+oi+'">'+d.name+'</div>';
|
||||
if(d.fileid){
|
||||
s1+='<div style="font-size:12px;color:#888888">大小:'+d.filesizecn+'';
|
||||
if(!isempt(d.shate))s1+=',共享给:'+d.shate+'';
|
||||
s1+='</div>';
|
||||
}
|
||||
if(d.fileext=='folder'){
|
||||
s+='<td align="center" width="40"><img src="images/folder.png" height="24" width="24"></td><td>'+s1+'</td>';
|
||||
}else{
|
||||
var slx = d.fileext;
|
||||
if(js.fileall.indexOf(','+slx+',')<0)slx='wz';
|
||||
var fstr = 'web/images/fileicons/'+slx+'.gif';
|
||||
if(d.thumbpath)fstr = d.thumbpath;
|
||||
s+='<td align="center" width="40"><img src="'+fstr+'" height="16" width="16"></td><td>'+s1+'</td>';
|
||||
}
|
||||
s+='</tr>';
|
||||
return s;
|
||||
},
|
||||
chentcolor:function(oi,e,o1){
|
||||
if(this._olodwet)$(this._olodwet).css('background','');
|
||||
$(o1).css('background','#f3f3f3');
|
||||
this._olodwet = o1;
|
||||
},
|
||||
isoffice:function(ext){
|
||||
var strs = ',doc,dot,wps,wpt,docx,dotx,docm,dotm,xls,xlt,et,xlsx,xltx,csv,xlsm,xltm,ppt,pptx,pptm,ppsx,ppsm,pps,potx,potm,dpt,dps,';
|
||||
return strs.indexOf(','+ext+',')>=0;
|
||||
},
|
||||
clicksse:function(oi,e,o1){
|
||||
this.chentcolor(oi,e,o1);
|
||||
var d = this.data[oi-1];
|
||||
this.tempoi = oi;
|
||||
this.tempda = d;
|
||||
var a = [{name:(d.fileext=='folder')?'打开':'下载',lx:0}];
|
||||
if(d.fileext!='folder'){
|
||||
a.push({name:'预览',lx:7});
|
||||
}
|
||||
if(this.ismanage==1){
|
||||
a.push({name:'重命名',lx:1});
|
||||
a.push({name:'删除',lx:4});
|
||||
a.push({name:'共享给...',lx:5});
|
||||
a.push({name:'移动',lx:2});
|
||||
if(this.officebj=='1' && this.isoffice(d.fileext))a.push({name:'编辑',lx:8});
|
||||
}
|
||||
if(d.fileext!='folder'){
|
||||
a.push({name:'转发给...',lx:6});
|
||||
}
|
||||
js.showmenu({data:a,onclick:function(d){c.clickmenuss(d)}});
|
||||
},
|
||||
clickmenuss:function(d){
|
||||
var lx=d.lx;
|
||||
if(lx==0)this.celdblckc(this.tempoi);
|
||||
if(lx==1)this.cmmr();
|
||||
if(lx==2)this.movesss();
|
||||
if(lx==3)this.moveokzh();
|
||||
if(lx==4)this.delfload();
|
||||
if(lx==5)this.fenxiang();
|
||||
if(lx==6)this.zhuanfagei();
|
||||
if(lx==7)this.yulans();
|
||||
if(lx==8)js.fileopt(this.tempda.fileid,2);
|
||||
},
|
||||
celdblckc:function(oi){
|
||||
var d = this.data[oi-1];
|
||||
if(d.fileext=='folder'){
|
||||
var s = '<span onclick="c.clickheadeer('+d.id+', this)">'+d.name+'></span>';
|
||||
$('#workheader').append(s);
|
||||
this.getfile(d.id,d.cid);
|
||||
}else{
|
||||
js.fileopt(d.fileid,1);
|
||||
}
|
||||
},
|
||||
yulans:function(){
|
||||
var d = this.tempda;
|
||||
js.fileopt(d.fileid,0);
|
||||
},
|
||||
clickheadeer:function(pid,o1){
|
||||
var as = $('#workheader span');
|
||||
var rb = false;
|
||||
for(var i=0;i<as.length;i++){
|
||||
if(rb)$(as[i]).remove();
|
||||
if(o1==as[i])rb=true;
|
||||
}
|
||||
|
||||
c.getfile(pid,this.cqid);
|
||||
},
|
||||
cmmr:function(){
|
||||
js.wx.prompt('重命名','请输入新的名称:',function(text){
|
||||
if(!text){js.msg('msg','没有输入新的名称');return;}
|
||||
if(c.tempda.name==text)return;
|
||||
c.data[c.tempoi-1].name=text;
|
||||
$('#filename_'+c.tempoi+'').html(text);
|
||||
c.cmmrssok(text);
|
||||
},this.tempda.name);
|
||||
},
|
||||
cmmrssok:function(txt){
|
||||
var d={id:this.tempda.id,type:this.tempda.fileext,name:jm.base64encode(txt)};
|
||||
js.ajax('word','rename',d,function(a){},'none');
|
||||
},
|
||||
movesss:function(){
|
||||
$.selectdata({
|
||||
title:'选择移动的分区/目录',
|
||||
url:js.apiurl('word','moveget'),
|
||||
checked:false,
|
||||
onselect:function(sda,sna, sid){
|
||||
js.ajax('word','movefile',{'cqid':sda.cqid,'typeid':sda.typeid,'ids':c.tempda.id},function(a){
|
||||
js.msg('success','移动成功');
|
||||
c.reload();
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
delfload:function(){
|
||||
js.wx.confirm('确定要删除吗?',function(lx){
|
||||
if(lx=='yes')c.delfloadok();
|
||||
});
|
||||
},
|
||||
delfloadok:function(){
|
||||
var d = this.tempda;
|
||||
this.movedata=false;
|
||||
js.ajax('word','delfile',{type:d.fileext,id:d.id},function(a){
|
||||
$('#'+d.fileext+'_'+d.id+'').remove();
|
||||
js.msg('success','删除成功');
|
||||
});
|
||||
},
|
||||
fenxiang:function(){
|
||||
$('body').chnageuser({
|
||||
'changetype':'changedeptusercheck',
|
||||
'title':'共享给...',
|
||||
'titlebool':get('header_title'),
|
||||
'onselect':function(sna,sid){
|
||||
c.fenxiangok(sna,sid);
|
||||
}
|
||||
});
|
||||
},
|
||||
zhuanfagei:function(){
|
||||
$('body').chnageuser({
|
||||
'changetype':'changeusercheck',
|
||||
'title':'转发给...',
|
||||
'titlebool':get('header_title'),
|
||||
'onselect':function(sna,sid){
|
||||
c.zhuanfageiok(sna,sid);
|
||||
}
|
||||
});
|
||||
},
|
||||
zhuanfageiok:function(sna,sid){
|
||||
var d = this.tempda;
|
||||
var ds = {'tuid':sid,'type':'user','cont':'','fileid':d.fileid};
|
||||
js.ajax('reim','forward', ds, function(){
|
||||
js.msg('success','已转发给【'+sna+'】')
|
||||
});
|
||||
},
|
||||
fenxiangok:function(sna,sid){
|
||||
var d = this.tempda;
|
||||
js.ajax('word','shatefile',{type:d.fileext,ids:d.id,sid:sid,sna:sna},function(a){
|
||||
if(sid==''){
|
||||
js.msg('success','已取消共享');
|
||||
}else{
|
||||
js.msg('success','已共享给【'+sna+'】');
|
||||
}
|
||||
c.reload();
|
||||
});
|
||||
},
|
||||
wfenxx:function(lx){
|
||||
this.getfile(this.typeid,0, lx);
|
||||
}
|
||||
};
|
||||
yy.clickevent=function(d){
|
||||
if(d.url=='create')c.create();
|
||||
if(d.url=='up')c.up();
|
||||
if(d.url=='shate')c.wfenxx('shateall');
|
||||
if(d.url=='fxgw')c.wfenxx('shatewfx');
|
||||
}
|
||||
yy.initScroll=function(){}
|
||||
</script>
|
||||
<div><select id="cpselect" onchange="c.changfenqu(this)" style="width:100%;border:none;height:40px;font-size:16px;padding:5px"><option uptype="" value="0">所有分区</option><?php
|
||||
foreach($worcarr['rows'] as $k=>$rs){
|
||||
echo '<option uptype="'.$rs['uptype'].'" value="'.$rs['id'].'">'.$rs['name'].'</option>';
|
||||
}
|
||||
?></select></div>
|
||||
<div class="workheader" id="workheader" style="line-height:50px; background-color:#ffffff;overflow:hidden;border-top:1px #dddddd solid"><span onclick="c.clickheadeer(0, this)">顶级目录></span></div>
|
||||
<div id="mainbody_show"></div>
|
||||
7
webmain/we/ying/yingyong/wordxie.js
Normal file
7
webmain/we/ying/yingyong/wordxie.js
Normal file
@@ -0,0 +1,7 @@
|
||||
openxieeditfile=function(d,d1){
|
||||
if(!d1.officebj){
|
||||
js.msg('msg','移动端在线编辑需要用“在线编辑服务”,请到“系统设置”下设置');
|
||||
}else{
|
||||
js.fileopt(d.fileid,2);
|
||||
}
|
||||
}
|
||||
11
webmain/we/ying/yingyong/work.js
Normal file
11
webmain/we/ying/yingyong/work.js
Normal file
@@ -0,0 +1,11 @@
|
||||
|
||||
yy.onshowdata=function(da){
|
||||
if(da.projectarr){
|
||||
var s = '<select id="projcetid" style="width:100px;border:none;background:white;font-size:14px"><option value="">所有项目</option></select>';
|
||||
$('#searsearch_bar').prepend(s);
|
||||
$('#projcetid').change(function(){
|
||||
yy.search({'projcetid':this.value});
|
||||
});
|
||||
js.setselectdata(get('projcetid'), da.projectarr, 'id');
|
||||
}
|
||||
}
|
||||
27
webmain/we/ying/yingyong/ying_wordClass.php
Normal file
27
webmain/we/ying/yingyong/ying_wordClass.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
/**
|
||||
* 移动端应用【word.文档】的接口程序
|
||||
* 主页:http://www.rockoa.com/
|
||||
* 软件:信呼
|
||||
* 作者:雨中磐石(rainrock)
|
||||
* 日期:2017-11-21
|
||||
*/
|
||||
|
||||
class ying_wordClass extends yingClassAction{
|
||||
private $mobj;
|
||||
|
||||
private $searchtool = true; //需要搜索拦
|
||||
|
||||
|
||||
public function initYing($mobj)
|
||||
{
|
||||
$this->mobj = $mobj;
|
||||
|
||||
//获取分区
|
||||
$worcarr = m('worc')->getmywroc();
|
||||
|
||||
$this->mobj->assign('worcarr', $worcarr);
|
||||
$this->mobj->assign('searchtool', $this->searchtool);
|
||||
$this->mobj->assign('searchmsg', '文件名/文件夹');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user