信呼v2.5.3版本
This commit is contained in:
@@ -6,11 +6,11 @@
|
|||||||
官网网站:http://www.rockoa.com/
|
官网网站:http://www.rockoa.com/
|
||||||
源码仅供学习二次开发使用,禁止二次发布,禁止用于商业用途出售等(违者必究)
|
源码仅供学习二次开发使用,禁止二次发布,禁止用于商业用途出售等(违者必究)
|
||||||
版权:Copyright @2016-2023 信呼开发团队
|
版权:Copyright @2016-2023 信呼开发团队
|
||||||
版本整理时间:2023-01-12 23:59:59
|
版本整理时间:2023-02-16 23:59:59
|
||||||
版本号:V2.5.2
|
版本号:V2.5.3
|
||||||
|
|
||||||
|
|
||||||
### V2.5.2更新说明
|
### V2.5.3更新说明
|
||||||
1、完善系统安全性。
|
1、完善系统安全性。
|
||||||
2、更多升级日志详见:http://www.rockoa.com/view_core.html
|
2、更多升级日志详见:http://www.rockoa.com/view_core.html
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
<?php
|
<?php
|
||||||
//版本2.5.2的了2023。
|
//版本2.5.3嘿嘿。
|
||||||
return '2.5.2';
|
return '2.5.3';
|
||||||
@@ -786,6 +786,7 @@ var reim={
|
|||||||
if(video_bool && type=='user')s+=' <span title="音视频通话" tools="tonghua" class="cursor"><i class="icon-facetime-video"></i></span>';
|
if(video_bool && type=='user')s+=' <span title="音视频通话" tools="tonghua" class="cursor"><i class="icon-facetime-video"></i></span>';
|
||||||
s+=' <span title="收藏消息" tools="star" class="cursor"><i class="icon-star"></i></span>';
|
s+=' <span title="收藏消息" tools="star" class="cursor"><i class="icon-star"></i></span>';
|
||||||
s+=' <span title="消息记录" tools="jilu" class="cursor"><i class="icon-time"></i></span>';
|
s+=' <span title="消息记录" tools="jilu" class="cursor"><i class="icon-time"></i></span>';
|
||||||
|
if(type=='gout')s+=' <span title="@信呼客服" tools="atkf" class="cursor"><i class="icon-headphones"></i></span>';
|
||||||
s+='</div>';
|
s+='</div>';
|
||||||
|
|
||||||
s+='<div style="height:80px;overflow:hidden;"><div style="height:70px;margin:5px"><textarea onpaste="im.readclip(\''+num+'\',event)" class="content" style="background:none;" id="input_content_'+num+'"></textarea></div></div>';
|
s+='<div style="height:80px;overflow:hidden;"><div style="height:70px;margin:5px"><textarea onpaste="im.readclip(\''+num+'\',event)" class="content" style="background:none;" id="input_content_'+num+'"></textarea></div></div>';
|
||||||
@@ -1612,6 +1613,10 @@ function chatcreate(cans){
|
|||||||
}
|
}
|
||||||
if(this.rightqipaoobj)this.rightqipaoobj.hide();
|
if(this.rightqipaoobj)this.rightqipaoobj.hide();
|
||||||
};
|
};
|
||||||
|
this.kefuat=function(){
|
||||||
|
this.atid = 2;
|
||||||
|
this.addinput('@信呼客服 ');
|
||||||
|
};
|
||||||
this.exitgroups=function(){
|
this.exitgroups=function(){
|
||||||
js.msg('wait','退出中...');
|
js.msg('wait','退出中...');
|
||||||
reim.ajax(this.getapiurl('reim','exitgroup'),{gid:this.gid,aid:this.sendinfo.id}, function(da){
|
reim.ajax(this.getapiurl('reim','exitgroup'),{gid:this.gid,aid:this.sendinfo.id}, function(da){
|
||||||
@@ -1801,6 +1806,7 @@ function chatcreate(cans){
|
|||||||
if(lx=='sou0' || lx=='sou1' || lx=='sou2')this.recordsearch(lx);
|
if(lx=='sou0' || lx=='sou1' || lx=='sou2')this.recordsearch(lx);
|
||||||
if(lx=='sou3')this.searchjilu();
|
if(lx=='sou3')this.searchjilu();
|
||||||
if(lx=='star')this.showstar();
|
if(lx=='star')this.showstar();
|
||||||
|
if(lx=='atkf')this.kefuat();
|
||||||
};
|
};
|
||||||
this.getemts=function(o){
|
this.getemts=function(o){
|
||||||
if(!get('aemtsdiv')){
|
if(!get('aemtsdiv')){
|
||||||
|
|||||||
@@ -376,7 +376,10 @@ var inputtwo={
|
|||||||
var sna = d1.sna;
|
var sna = d1.sna;
|
||||||
if(form(sna))form(sna).value=d1.address+'|'+d1.lat+','+d1.lng+'';
|
if(form(sna))form(sna).value=d1.address+'|'+d1.lat+','+d1.lng+'';
|
||||||
var sna1 = d1.snall;
|
var sna1 = d1.snall;
|
||||||
if(sna1 && form(sna1))form(sna1).value=''+d1.lat+','+d1.lng+','+d1.zoom+'';
|
if(sna1 && form(sna1)){
|
||||||
|
form(sna1).value=''+d1.lat+','+d1.lng+','+d1.zoom+'';
|
||||||
|
form(sna).value=d1.address;
|
||||||
|
}
|
||||||
c.onselectmap(sna,d1);
|
c.onselectmap(sna,d1);
|
||||||
});
|
});
|
||||||
this.geocoderObj.setError(function() {
|
this.geocoderObj.setError(function() {
|
||||||
|
|||||||
4
webmain/flow/input/inputjs/mode_custgys.js
Normal file
4
webmain/flow/input/inputjs/mode_custgys.js
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
//流程模块【custgys.供应商】下录入页面自定义js页面,初始函数
|
||||||
|
function initbodys(){
|
||||||
|
|
||||||
|
}
|
||||||
33
webmain/flow/input/mode_custgysAction.php
Normal file
33
webmain/flow/input/mode_custgysAction.php
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* 此文件是流程模块【custgys.供应商】对应控制器接口文件。
|
||||||
|
*/
|
||||||
|
class mode_custgysClassAction extends inputAction{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 重写函数:保存前处理,主要用于判断是否可以保存
|
||||||
|
* $table String 对应表名
|
||||||
|
* $arr Array 表单参数
|
||||||
|
* $id Int 对应表上记录Id 0添加时,大于0修改时
|
||||||
|
* $addbo Boolean 是否添加时
|
||||||
|
* return array('msg'=>'错误提示内容','rows'=> array()) 可返回空字符串,或者数组 rows 是可同时保存到数据库上数组
|
||||||
|
*/
|
||||||
|
protected function savebefore($table, $arr, $id, $addbo){
|
||||||
|
$rows['isgys'] = '1';//不能去掉
|
||||||
|
return array(
|
||||||
|
'rows'=>$rows
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 重写函数:保存后处理,主要保存其他表数据
|
||||||
|
* $table String 对应表名
|
||||||
|
* $arr Array 表单参数
|
||||||
|
* $id Int 对应表上记录Id
|
||||||
|
* $addbo Boolean 是否添加时
|
||||||
|
*/
|
||||||
|
protected function saveafter($table, $arr, $id, $addbo){
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
1
webmain/flow/page/input_custgys.html
Normal file
1
webmain/flow/page/input_custgys.html
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<table width="100%" border="0" class="ke-zeroborder"><tbody><tr class="autoyijianview"><td height="34" width="15%" align="right" class="ys1">*^name^</td><td width="35%" class="ys2">{name}{addresslatlng}</td><td height="34" width="15%" align="right" class="ys1">*^type^</td><td width="35%" class="ys2">{type}</td></tr><tr><td height="34" width="15%" align="right" class="ys1">^unitname^</td><td width="35%" class="ys2">{unitname}</td><td height="34" width="15%" align="right" class="ys1">^linkname^</td><td width="35%" class="ys2">{linkname}</td></tr><tr><td height="34" width="15%" align="right" class="ys1">^mobile^</td><td width="35%" class="ys2">{mobile}</td><td height="34" width="15%" align="right" class="ys1">^tel^</td><td width="35%" class="ys2">{tel}</td></tr><tr><td height="34" align="right" class="ys1">^address^</td><td colspan="3" class="ys2">{address}</td></tr><tr><td height="34" align="right" class="ys1">^explain^</td><td colspan="3" class="ys2">{explain}</td></tr><tr><td height="34" width="15%" align="right" class="ys1">*^status^</td><td width="35%" class="ys2">{status}</td><td height="34" align="right" class="ys1"></td><td class="ys2"></td></tr><tr><td height="34" align="right" class="ys1">^file_content^</td><td colspan="3" class="ys2">{file_content}</td></tr></tbody></table>
|
||||||
59
webmain/flow/page/rock_page_custgys.php
Normal file
59
webmain/flow/page/rock_page_custgys.php
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* 模块:custgys.供应商
|
||||||
|
* 说明:自定义区域内可写你想要的代码
|
||||||
|
* 来源:流程模块→表单元素管理→[模块.供应商]→生成列表页
|
||||||
|
*/
|
||||||
|
defined('HOST') or die ('not access');
|
||||||
|
?>
|
||||||
|
<script>
|
||||||
|
$(document).ready(function(){
|
||||||
|
{params}
|
||||||
|
var modenum = 'custgys',modename='供应商',isflow=0,modeid='142',atype = params.atype,pnum=params.pnum,modenames='',listname='Y3VzdG9tZXI:';
|
||||||
|
if(!atype)atype='';if(!pnum)pnum='';
|
||||||
|
var fieldsarr = [],fieldsselarr= [],chufarr= [];
|
||||||
|
|
||||||
|
<?php
|
||||||
|
include_once('webmain/flow/page/rock_page.php');
|
||||||
|
?>
|
||||||
|
|
||||||
|
//[自定义区域start]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//[自定义区域end]
|
||||||
|
c.initpagebefore();
|
||||||
|
js.initbtn(c);
|
||||||
|
var a = $('#view'+modenum+'_{rand}').bootstable(bootparams);
|
||||||
|
c.init();
|
||||||
|
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<!--SCRIPTend-->
|
||||||
|
<!--HTMLstart-->
|
||||||
|
<div>
|
||||||
|
<table width="100%">
|
||||||
|
<tr>
|
||||||
|
<td style="padding-right:10px;" id="tdleft_{rand}" nowrap><button id="addbtn_{rand}" class="btn btn-primary" click="clickwin,0" disabled type="button"><i class="icon-plus"></i> 新增</button></td>
|
||||||
|
|
||||||
|
<td><select class="form-control" style="width:110px;border-top-right-radius:0;border-bottom-right-radius:0;padding:0 2px" id="fields_{rand}"></select></td>
|
||||||
|
<td><select class="form-control" style="width:60px;border-radius:0px;border-left:0;padding:0 2px" id="like_{rand}"><option value="0">包含</option><option value="1">等于</option><option value="2">大于等于</option><option value="3">小于等于</option><option value="4">不包含</option></select></td>
|
||||||
|
<td><select class="form-control" style="width:130px;border-radius:0;border-left:0;display:none;padding:0 5px" id="selkey_{rand}"><option value="">-请选择-</option></select><input class="form-control" style="width:130px;border-radius:0;border-left:0;padding:0 5px" id="keygj_{rand}" placeholder="关键词"><input class="form-control" style="width:130px;border-radius:0;border-left:0;padding:0 5px;display:none;" id="key_{rand}" placeholder="关键字">
|
||||||
|
</td>
|
||||||
|
<td><select class="form-control" style="width:120px;border-left:0;border-radius:0;" id="selstatus_{rand}"><option value="">-全部状态-</option><option style="color:blue" value="0">停用</option><option style="color:green" value="1">启用</option><option style="color:#888888" value="5">已作废</option></select></td>
|
||||||
|
<td>
|
||||||
|
<div style="white-space:nowrap">
|
||||||
|
<button style="border-right:0;border-radius:0;border-left:0" class="btn btn-default" click="searchbtn" type="button">搜索</button><button class="btn btn-default" id="downbtn_{rand}" type="button" style="padding-left:8px;padding-right:8px;border-top-left-radius:0;border-bottom-left-radius:0"><i class="icon-angle-down"></i></button>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
<td width="90%" style="padding-left:10px"><div id="changatype{rand}" class="btn-group"></div></td>
|
||||||
|
|
||||||
|
<td align="right" id="tdright_{rand}" nowrap>
|
||||||
|
<span style="display:none" id="daoruspan_{rand}"><button class="btn btn-default" click="daoru,1" type="button">导入</button> </span><button class="btn btn-default" style="display:none" id="daobtn_{rand}" disabled click="daochu" type="button">导出 <i class="icon-angle-down"></i></button>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="blank10"></div>
|
||||||
|
<div id="viewcustgys_{rand}"></div>
|
||||||
|
<!--HTMLend-->
|
||||||
@@ -62,6 +62,7 @@ $(document).ready(function(){
|
|||||||
if(tlx!='pie'){
|
if(tlx!='pie'){
|
||||||
option.xAxis={data: xAxis};
|
option.xAxis={data: xAxis};
|
||||||
option.yAxis={type : 'value'};
|
option.yAxis={type : 'value'};
|
||||||
|
option.tooltip.formatter="{b} : {c}元";
|
||||||
}
|
}
|
||||||
myChart[oi].setOption(option);
|
myChart[oi].setOption(option);
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ c.view=function(){
|
|||||||
var d=a.changedata;
|
var d=a.changedata;
|
||||||
openxiangs('详情',d.modenumshow,d.mid,'opegs{rand}');
|
openxiangs('详情',d.modenumshow,d.mid,'opegs{rand}');
|
||||||
}
|
}
|
||||||
|
$('#tdleft_{rand}').hide();
|
||||||
|
|
||||||
//[自定义区域end]
|
//[自定义区域end]
|
||||||
c.initpagebefore();
|
c.initpagebefore();
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ c.setcolumns('modenum',{
|
|||||||
c.clickwin=function(){
|
c.clickwin=function(){
|
||||||
js.msg('msg','不能从这里新增提醒');
|
js.msg('msg','不能从这里新增提醒');
|
||||||
}
|
}
|
||||||
|
$('#tdleft_{rand}').hide();
|
||||||
|
|
||||||
//[自定义区域end]
|
//[自定义区域end]
|
||||||
c.initpagebefore();
|
c.initpagebefore();
|
||||||
|
|||||||
@@ -3,10 +3,15 @@ class indexClassAction extends Action{
|
|||||||
|
|
||||||
public $homestylebool = false;
|
public $homestylebool = false;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public function defaultAction()
|
public function defaultAction()
|
||||||
{
|
{
|
||||||
if(strlen(getconfig('randkey'))!=26)exit('配置文件randkey不正确,请重新设置为:'.$this->jm->getRandkey().'');
|
if(strlen(getconfig('randkey'))!=26)exit('配置文件randkey不正确,请重新设置为:'.$this->jm->getRandkey().'');
|
||||||
|
|
||||||
|
$notuserids = getconfig('notuserids');
|
||||||
|
$this->pannouser();
|
||||||
|
|
||||||
$homestyle = getconfig('homestyle');
|
$homestyle = getconfig('homestyle');
|
||||||
if($homestyle>=1 && !$this->homestylebool){
|
if($homestyle>=1 && !$this->homestylebool){
|
||||||
$temshot = $this->getsession('homestyle');
|
$temshot = $this->getsession('homestyle');
|
||||||
@@ -247,6 +252,7 @@ class indexClassAction extends Action{
|
|||||||
*/
|
*/
|
||||||
public function getshtmlAction()
|
public function getshtmlAction()
|
||||||
{
|
{
|
||||||
|
$this->pannouser();
|
||||||
$surl = $this->jm->base64decode($this->get('surl'));
|
$surl = $this->jm->base64decode($this->get('surl'));
|
||||||
$num = $this->get('num');
|
$num = $this->get('num');
|
||||||
$menuname = $this->jm->base64decode($this->get('menuname'));
|
$menuname = $this->jm->base64decode($this->get('menuname'));
|
||||||
|
|||||||
@@ -90,6 +90,15 @@ function initbody(){
|
|||||||
history.pushState(null, null, document.URL);
|
history.pushState(null, null, document.URL);
|
||||||
});
|
});
|
||||||
}catch(e){}
|
}catch(e){}
|
||||||
|
|
||||||
|
/*
|
||||||
|
var o1 = $('#index-navbar-center');
|
||||||
|
var hei = $('#index-navbar-left').width()+$('#index-navbar-right').width();
|
||||||
|
var wid = winWb()-hei;
|
||||||
|
if(o1.width()>wid){
|
||||||
|
o1.css({width:''+(wid-30)+'px',height:''+$('#index-navbar-right').height()+'px'});
|
||||||
|
$('#index-navbar-right').prepend('<li><a href="javascript:;" onclick="openmobile()"><i class="icon-chevron-down"></i></a></li>');
|
||||||
|
}*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ echo 'body{--main-color:'.$maincolor.'}';
|
|||||||
<div id="topheaderid">
|
<div id="topheaderid">
|
||||||
<nav class="navbar navbar-<?=$da['styledev']?> navbar-static-top" id="navtopheader" style="margin:0px;z-index:0">
|
<nav class="navbar navbar-<?=$da['styledev']?> navbar-static-top" id="navtopheader" style="margin:0px;z-index:0">
|
||||||
<div>
|
<div>
|
||||||
<div class="navbar-header">
|
<div class="navbar-header" id="index-navbar-left">
|
||||||
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#app-navbar-collapse">
|
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#app-navbar-collapse">
|
||||||
<span class="sr-only">Toggle</span>
|
<span class="sr-only">Toggle</span>
|
||||||
<span class="icon-bar"></span>
|
<span class="icon-bar"></span>
|
||||||
@@ -67,7 +67,7 @@ echo 'body{--main-color:'.$maincolor.'}';
|
|||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="collapse navbar-collapse" id="app-navbar-collapse">
|
<div class="collapse navbar-collapse" id="app-navbar-collapse">
|
||||||
<ul class="nav navbar-nav">
|
<ul class="nav navbar-nav" id="index-navbar-center" style="overflow:hidden;">
|
||||||
<?php foreach($da['topmenu'] as $k=>$rs){
|
<?php foreach($da['topmenu'] as $k=>$rs){
|
||||||
$str = '<li pmenuid="'.$rs['id'].'" title="'.$rs['name'].'" icon="'.$rs['icons'].'"><a>';
|
$str = '<li pmenuid="'.$rs['id'].'" title="'.$rs['name'].'" icon="'.$rs['icons'].'"><a>';
|
||||||
if($rs['icons'])$str.='<i class="icon-'.$rs['icons'].'"></i> ';
|
if($rs['icons'])$str.='<i class="icon-'.$rs['icons'].'"></i> ';
|
||||||
@@ -76,7 +76,7 @@ echo 'body{--main-color:'.$maincolor.'}';
|
|||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
</ul>
|
</ul>
|
||||||
<ul class="nav navbar-nav navbar-right">
|
<ul class="nav navbar-nav navbar-right" id="index-navbar-right">
|
||||||
<?php
|
<?php
|
||||||
if(getconfig('mobile_show',true))echo '<li><a href="javascript:;" onclick="openmobile()"><i class="icon-tablet"></i> 手机版</a></li>';
|
if(getconfig('mobile_show',true))echo '<li><a href="javascript:;" onclick="openmobile()"><i class="icon-tablet"></i> 手机版</a></li>';
|
||||||
if(getconfig('reim_show', true))echo '<li><a href="javascript:;" onclick="openreim(this)"><span title="REIM即时通信"><i class="icon-comments-alt"></i> REIM <font class="badge red" id="reim_stotal" style="font-size:12px;background:red;color:white"></font></span></a></li>';
|
if(getconfig('reim_show', true))echo '<li><a href="javascript:;" onclick="openreim(this)"><span title="REIM即时通信"><i class="icon-comments-alt"></i> REIM <font class="badge red" id="reim_stotal" style="font-size:12px;background:red;color:white"></font></span></a></li>';
|
||||||
|
|||||||
@@ -475,9 +475,9 @@ class adminClassModel extends Model
|
|||||||
//读取我可查看权限
|
//读取我可查看权限
|
||||||
if(contain($where,'1=1')){
|
if(contain($where,'1=1')){
|
||||||
$where = '';
|
$where = '';
|
||||||
if($this->rock->get('gtype')=='change'){
|
if($this->rock->get('gtype')=='change' && getconfig('userhoucache')=='1'){
|
||||||
//$this->allshow = true;
|
$this->allshow = true;
|
||||||
//if(!ISMORECOM && c('cache')->get('deptuserjson'))return array();
|
if(!ISMORECOM && c('cache')->get('deptuserjson'))return array();
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
$where = 'and ((1 '.$where.') or (`id`='.$uid.'))';
|
$where = 'and ((1 '.$where.') or (`id`='.$uid.'))';
|
||||||
|
|||||||
15
webmain/model/flow/custgysModel.php
Normal file
15
webmain/model/flow/custgysModel.php
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
//供应商
|
||||||
|
class flow_custgysClassModel extends flowModel
|
||||||
|
{
|
||||||
|
|
||||||
|
public function flowrsreplace($rs, $lx=0)
|
||||||
|
{
|
||||||
|
$rs['statusval']=$rs['status'];
|
||||||
|
if($rs['status']=='0')$rs['status']='<font color="gray">停用</font>';
|
||||||
|
if($rs['status']=='1')$rs['status']='<font color="green">启用</font>';
|
||||||
|
|
||||||
|
return $rs;
|
||||||
|
}
|
||||||
|
}
|
||||||
File diff suppressed because one or more lines are too long
@@ -346,6 +346,7 @@ $rstr = "".$hstart."
|
|||||||
$arr['crm'] = '18,17,56,19,34,35,36';
|
$arr['crm'] = '18,17,56,19,34,35,36';
|
||||||
$arr['bianjian'] = '59';
|
$arr['bianjian'] = '59';
|
||||||
$arr['gong'] = '3';
|
$arr['gong'] = '3';
|
||||||
|
$arr['wyxiaoqu'] = '67,68,69,70';
|
||||||
return $arr;
|
return $arr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -8,6 +8,7 @@ class cogClassAction extends Action
|
|||||||
'url' => '系统URL地址',
|
'url' => '系统URL地址',
|
||||||
'localurl' => '系统本地地址',
|
'localurl' => '系统本地地址',
|
||||||
'outurl' => '外网地址',
|
'outurl' => '外网地址',
|
||||||
|
'rootpath' => '系统根目录',
|
||||||
'db_drive' => '操作数据库驱动',
|
'db_drive' => '操作数据库驱动',
|
||||||
'db_host' => '数据库地址',
|
'db_host' => '数据库地址',
|
||||||
'db_name' => '数据库名称',
|
'db_name' => '数据库名称',
|
||||||
@@ -32,6 +33,7 @@ class cogClassAction extends Action
|
|||||||
'xinhukey' => getconfig('xinhukey'),
|
'xinhukey' => getconfig('xinhukey'),
|
||||||
'db_host' => DB_HOST,
|
'db_host' => DB_HOST,
|
||||||
'db_name' => DB_BASE,
|
'db_name' => DB_BASE,
|
||||||
|
'rootpath' => ROOT_PATH,
|
||||||
'db_drive' => getconfig('db_drive'),
|
'db_drive' => getconfig('db_drive'),
|
||||||
'version' => '信呼V'.VERSION.'',
|
'version' => '信呼V'.VERSION.'',
|
||||||
'phpos' => PHP_OS,
|
'phpos' => PHP_OS,
|
||||||
|
|||||||
@@ -165,7 +165,7 @@ $(document).ready(function(){
|
|||||||
<span style="color:#aaaaaa;">单位分钟,默认是0没有限制</span></td></tr>
|
<span style="color:#aaaaaa;">单位分钟,默认是0没有限制</span></td></tr>
|
||||||
<tr><td height="10"></td></tr>
|
<tr><td height="10"></td></tr>
|
||||||
|
|
||||||
<tr><td align="right" style="color:gray">读取人员缓存方式:</td><td><select style="width:200px" name="usercache" class="form-control"><option value="">默认本地浏览器缓存</option><option <?php if(getconfig('usercache')=='1')echo 'selected';?> value="1">不缓存本地浏览器</option></select></td></tr>
|
<tr><td align="right" style="color:gray">读取人员本地缓存方式:</td><td><select style="width:200px" name="usercache" class="form-control"><option value="">默认本地浏览器缓存</option><option <?php if(getconfig('usercache')=='1')echo 'selected';?> value="1">不缓存本地浏览器</option></select></td></tr>
|
||||||
<tr><td height="10"></td></tr>
|
<tr><td height="10"></td></tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
|
|||||||
@@ -72,6 +72,13 @@ class optionClassAction extends Action
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function downshubefore()
|
||||||
|
{
|
||||||
|
$pid = (int)$this->post('pid','0');
|
||||||
|
$this->pid = $pid;
|
||||||
|
return 'and `pid`='.$pid.'';
|
||||||
|
}
|
||||||
|
|
||||||
public function downshuafter($table, $rows)
|
public function downshuafter($table, $rows)
|
||||||
{
|
{
|
||||||
$db = m($table);
|
$db = m($table);
|
||||||
@@ -79,8 +86,26 @@ class optionClassAction extends Action
|
|||||||
$dcount = $db->rows('pid='.$rs['id'].'');
|
$dcount = $db->rows('pid='.$rs['id'].'');
|
||||||
if($dcount>0)$rows[$k]['dcount'] = $dcount;
|
if($dcount>0)$rows[$k]['dcount'] = $dcount;
|
||||||
}
|
}
|
||||||
|
$darr = array();
|
||||||
|
if($this->pid>0){
|
||||||
|
$this->getdonwds($db,$this->pid);
|
||||||
|
$darr = $this->downarr;
|
||||||
|
}
|
||||||
return array(
|
return array(
|
||||||
'rows' => $rows
|
'rows' => $rows,
|
||||||
|
'darr' => $darr
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private $downarr = array();
|
||||||
|
private function getdonwds($db,$id)
|
||||||
|
{
|
||||||
|
if($id>1){
|
||||||
|
$rs = $db->getone('`id`='.$id.'','id,pid,name,num');
|
||||||
|
if($rs){
|
||||||
|
$this->getdonwds($db, $rs['pid']);
|
||||||
|
$this->downarr[] = $rs;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -29,8 +29,8 @@ $(document).ready(function(){
|
|||||||
});
|
});
|
||||||
|
|
||||||
var a = $('#view_{rand}').bootstable({
|
var a = $('#view_{rand}').bootstable({
|
||||||
tablename:'option',celleditor:true,sort:'sort',dir:'asc',modedir:'{mode}:{dir}',storeafteraction:'downshuafter',
|
tablename:'option',celleditor:true,sort:'sort',dir:'asc',modedir:'{mode}:{dir}',storeafteraction:'downshuafter',storebeforeaction:'downshubefore',
|
||||||
autoLoad:false,where:'and pid=-1',bodyStyle:'height:'+(viewheight-72)+'px;overflow:auto',
|
autoLoad:false,params:{pid:-1},bodyStyle:'height:'+(viewheight-72)+'px;overflow:auto',
|
||||||
columns:[{
|
columns:[{
|
||||||
text:'名称',dataIndex:'name',sortable:true,editor:true
|
text:'名称',dataIndex:'name',sortable:true,editor:true
|
||||||
},{
|
},{
|
||||||
@@ -54,9 +54,10 @@ $(document).ready(function(){
|
|||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
}],
|
}],
|
||||||
load:function(){
|
load:function(d){
|
||||||
get('add_{rand}').disabled=false;
|
get('add_{rand}').disabled=false;
|
||||||
get('del_{rand}').disabled=true;
|
get('del_{rand}').disabled=true;
|
||||||
|
c.showdownlist(d.darr);
|
||||||
},
|
},
|
||||||
itemclick:function(){
|
itemclick:function(){
|
||||||
get('del_{rand}').disabled=false;
|
get('del_{rand}').disabled=false;
|
||||||
@@ -72,8 +73,19 @@ $(document).ready(function(){
|
|||||||
var c = {
|
var c = {
|
||||||
zhankai:function(ad){
|
zhankai:function(ad){
|
||||||
$('#downshow_{rand}').html('<b>['+ad.id+'.'+ad.name+']</b>的下级选项');
|
$('#downshow_{rand}').html('<b>['+ad.id+'.'+ad.name+']</b>的下级选项');
|
||||||
nowid = ad.id;
|
this.showdown(ad.id);
|
||||||
a.search("and `pid`="+ad.id+"");
|
},
|
||||||
|
showdownlist:function(dl){
|
||||||
|
var str='<b>路径:</b>';
|
||||||
|
for(var i=0;i<dl.length;i++){
|
||||||
|
if(i>0)str+=' <font color="#cccccc">></font> ';
|
||||||
|
str+=' <a href="javascript:;" onclick="option{rand}.showdown('+dl[i].id+')">'+dl[i].name+'</a> ';
|
||||||
|
}
|
||||||
|
$('#downshow_{rand}').html(str);
|
||||||
|
},
|
||||||
|
showdown:function(id1){
|
||||||
|
nowid = id1;
|
||||||
|
a.setparams({'pid':id1}, true);
|
||||||
},
|
},
|
||||||
search:function(){
|
search:function(){
|
||||||
var s = get('key_{rand}').value;
|
var s = get('key_{rand}').value;
|
||||||
@@ -95,7 +107,8 @@ $(document).ready(function(){
|
|||||||
var ad = this.optdata;
|
var ad = this.optdata;
|
||||||
if(d.lx==0){
|
if(d.lx==0){
|
||||||
$('#downshow_{rand}').html('<b>['+ad.id+'.'+ad.name+']</b>的下级选项');
|
$('#downshow_{rand}').html('<b>['+ad.id+'.'+ad.name+']</b>的下级选项');
|
||||||
a.search("and `pid`="+ad.id+"");
|
//a.search("and `pid`="+ad.id+"");
|
||||||
|
a.setparams({'pid':ad.id}, true);
|
||||||
}
|
}
|
||||||
if(d.lx==1){
|
if(d.lx==1){
|
||||||
c.xiajili();
|
c.xiajili();
|
||||||
@@ -123,9 +136,9 @@ $(document).ready(function(){
|
|||||||
this.showdwon(num);
|
this.showdwon(num);
|
||||||
},
|
},
|
||||||
clickwin:function(o, lx){
|
clickwin:function(o, lx){
|
||||||
var a = this.clicktypewin(false, 0);
|
var as = this.clicktypewin(false, 0);
|
||||||
optlx = 1;
|
optlx = 1;
|
||||||
a.setValue('pid', nowid);
|
as.setValue('pid', nowid);
|
||||||
},
|
},
|
||||||
clicktypeeidt:function(){
|
clicktypeeidt:function(){
|
||||||
var d = at.changedata;
|
var d = at.changedata;
|
||||||
@@ -165,6 +178,8 @@ $(document).ready(function(){
|
|||||||
};
|
};
|
||||||
js.initbtn(c);
|
js.initbtn(c);
|
||||||
$('#optionview_{rand}').css('height',''+(viewheight-142)+'px');
|
$('#optionview_{rand}').css('height',''+(viewheight-142)+'px');
|
||||||
|
|
||||||
|
option{rand} = c;
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,8 @@ class dayClassAction extends runtAction
|
|||||||
|
|
||||||
if($this->moderock('meet'))m('flow')->initflow('meet')->createmeet(); //会议生成
|
if($this->moderock('meet'))m('flow')->initflow('meet')->createmeet(); //会议生成
|
||||||
|
|
||||||
|
if($this->moderock('wysnwork'))m('flow')->initflow('wysnwork')->creatework();//物业维保生成
|
||||||
|
|
||||||
$this->crmrun();
|
$this->crmrun();
|
||||||
|
|
||||||
return 'success';
|
return 'success';
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ class kaoqinClassAction extends runtAction
|
|||||||
*/
|
*/
|
||||||
public function todoAction()
|
public function todoAction()
|
||||||
{
|
{
|
||||||
|
if(getconfig('systype')=='demo')return 'success';
|
||||||
$dt = date('Y-m-d', time()-3600*20);//昨天
|
$dt = date('Y-m-d', time()-3600*20);//昨天
|
||||||
$sql = "SELECT a.uid FROM `[Q]kqanay` a left join `[Q]userinfo` b on a.uid=b.id where a.dt='$dt' and b.iskq=1 and a.state<>'正常' and a.states is null and a.iswork=1 group by a.uid;";
|
$sql = "SELECT a.uid FROM `[Q]kqanay` a left join `[Q]userinfo` b on a.uid=b.id where a.dt='$dt' and b.iskq=1 and a.state<>'正常' and a.states is null and a.iswork=1 group by a.uid;";
|
||||||
$rows = $this->db->getall($sql);
|
$rows = $this->db->getall($sql);
|
||||||
@@ -38,6 +39,7 @@ class kaoqinClassAction extends runtAction
|
|||||||
//分析工作日报统计
|
//分析工作日报统计
|
||||||
public function dailyfxAction()
|
public function dailyfxAction()
|
||||||
{
|
{
|
||||||
|
if(getconfig('systype')=='demo')return 'success';
|
||||||
$dt = c('date')->adddate($this->rock->date, 'd', -1);
|
$dt = c('date')->adddate($this->rock->date, 'd', -1);
|
||||||
$flow = m('flow')->initflow('daily');
|
$flow = m('flow')->initflow('daily');
|
||||||
$flow->dailyanay(0, $dt);
|
$flow->dailyanay(0, $dt);
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ class indexClassAction extends ActionNot{
|
|||||||
|
|
||||||
public function defaultAction()
|
public function defaultAction()
|
||||||
{
|
{
|
||||||
|
$this->pannouser();
|
||||||
$this->title = getconfig('apptitle',$this->bd6('5L!h5ZG8T0E:'));
|
$this->title = getconfig('apptitle',$this->bd6('5L!h5ZG8T0E:'));
|
||||||
if(COMPANYNUM){
|
if(COMPANYNUM){
|
||||||
$companyinfo = m('company')->getone(1);
|
$companyinfo = m('company')->getone(1);
|
||||||
|
|||||||
@@ -39,6 +39,12 @@ class Action extends mainAction
|
|||||||
$this->rock->adminuser = $user;
|
$this->rock->adminuser = $user;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function pannouser()
|
||||||
|
{
|
||||||
|
$nots = getconfig('notuserids');
|
||||||
|
if($nots && contain(','.$nots.',',','.$this->adminid.','))exit('无效用户登录');
|
||||||
|
}
|
||||||
|
|
||||||
//免登录验证,用于订阅报表的
|
//免登录验证,用于订阅报表的
|
||||||
private function loginsubscribe()
|
private function loginsubscribe()
|
||||||
{
|
{
|
||||||
@@ -93,6 +99,7 @@ class Action extends mainAction
|
|||||||
|
|
||||||
private function iszclogin()
|
private function iszclogin()
|
||||||
{
|
{
|
||||||
|
$this->pannouser();
|
||||||
if($this->loginsubscribe())return;//免验证
|
if($this->loginsubscribe())return;//免验证
|
||||||
$token = $this->admintoken;
|
$token = $this->admintoken;
|
||||||
if(isempt($token))exit('sorry1');
|
if(isempt($token))exit('sorry1');
|
||||||
|
|||||||
Reference in New Issue
Block a user