发布v2.5.7版本

This commit is contained in:
雨中磐石
2023-05-11 16:19:42 +08:00
parent 8145b2df84
commit 8c2983b577
63 changed files with 1371 additions and 162 deletions

View File

@@ -6,11 +6,11 @@
官网网站http://www.rockoa.com/
源码仅供学习二次开发使用,禁止二次发布,禁止用于商业用途出售等(违者必究)
版权Copyright @2016-2023 信呼开发团队
版本整理时间2023-04-26 23:59:59
版本号V2.5.6
版本整理时间2023-05-11 23:59:59
版本号V2.5.7
### V2.5.6更新说明
### V2.5.7更新说明
1、完善系统安全性。
2、更多升级日志详见http://www.rockoa.com/view_core.html

View File

@@ -1,3 +1,3 @@
<?php
//版本2.5.6的
return '2.5.6';
//版本2.5.7的版本
return '2.5.7';

View File

@@ -81,6 +81,7 @@ class inputChajian extends Chajian
$type = $a['fieldstype'];
$placeholder = arrvalue($a, 'placeholder');
$isbt = arrvalue($a, 'isbt');
$zdsm = arrvalue($a, 'zdsm');
$data = $a['data'];
$val = $a['dev'];
if(isset($a['value']))$val=$a['value'];
@@ -221,7 +222,7 @@ class inputChajian extends Chajian
if($type=='checkbox'){
$chk = '';
if($val=='1'||$val=='true')$chk='checked';
$str = '<input name="'.$fname.'" '.$chk.' '.$attr.''.$styles.' type="checkbox" value="1"> ';
$str = '<label><input name="'.$fname.'" '.$chk.' '.$attr.''.$styles.' type="checkbox" value="1">'.$placeholder.'</label> ';
}
if($type=='uploadimg'){
$str1= '<a href="javascript:;" onclick="c.uploadfileis(\''.$fname.'\',1)">库中选</a>&nbsp;';
@@ -248,6 +249,7 @@ class inputChajian extends Chajian
}
}
}
if(!isempt($zdsm))$str.='<br><font color="#888888">'.$zdsm.'</font>';
if($iszb>0)return $str;
if($isasm==1){
$lx = 'span';if($ism==1)$lx='div';

View File

@@ -5,8 +5,9 @@
class langChajian extends Chajian{
//支持的语言包
private $langArray = array('zh-CN','en-US','zh-TW','jp');
private $locallang = 'zh-CN'; //默认的语言包
public $langArray = array('zh-CN','zh-FT','en-US');
public $langArraycn = array('简体中文','繁体中文','英文');
public $locallang = 'zh-CN'; //默认的语言包
/**
* 初始化语言包
@@ -17,14 +18,120 @@ class langChajian extends Chajian{
$lang = $this->rock->get('locallang', $moren);
if(!in_array($lang, $this->langArray))$lang = $moren;
if(!defined('LANG'))define('LANG', $lang);
$langs = str_replace('-','_', $lang);
$langr = str_replace('-','_', $moren);
$obj = c('lang_'.$langs.'');
$objmr = c('lang_'.$langr.'');
$data[$moren] = method_exists($objmr, 'getLang') ? $objmr->getLang() : array();
$data[$lang] = method_exists($obj, 'getLang') ? $obj->getLang() : $data[$moren];
$GLOBALS['langdata'] = $data;
$xuhao= 0;
foreach($this->langArray as $k=>$v){
if($v==$lang)$xuhao = $k;
}
$GLOBALS['langdata'] = array(
'lang' => $lang,
'xuhao' => $xuhao
);
}
public function getLocal()
{
return array(
'arr' => $this->langArray,
'arrcn' => $this->langArraycn,
);
}
/**
* 生成语言包文件
*/
public function createlocal()
{
$bar = glob('include/langlocal/langtxt/*.txt');
$path= 'include/langlocal/langphp/lang.php';
$pats= 'include/langlocal/langphp/langjs.php';
$sss = $ssb = '';
if(is_array($bar))foreach($bar as $k=>$fil1){
$str = $this->getcontarr($fil1);
if($str){
$isph = 1;
$isjs = 0;
if(contain($fil1,'_onlyjs')){
$isph = 0;
$isjs = 1;
}
if(contain($fil1,'_onlyphp')){
$isph = 0;
}
if($isph==1){
if($sss)$sss.=',';
$sss.=''.$str.'';
}
if($isjs==1){
if($ssb)$ssb.=',';
$ssb.=''.$str.'';
}
if($isph==0 && $isjs==0){
$fname = str_replace('_onlyphp.txt','.php',str_replace('include/langlocal/langtxt/','',$fil1));
$spath = 'include/langlocal/langphp/'.$fname.'';
$this->rock->createtxt($spath, '<?php'.chr(10).'return array('.$str.');');
}
}
}
$str = '<?php'.chr(10).'return array('.$sss.');';
$this->rock->createtxt($path, $str);
$str = '<?php'.chr(10).'return array('.$ssb.');';
$this->rock->createtxt($pats, $str);
$nrs = require($pats);
$nrs = 'var rocklang = \'\',rocklangxu=0,langdata = '.json_encode($nrs).';';
$ss1 = '';
foreach($this->langArray as $k=>$v){
$ss1.='if(rocklang==\''.$v.'\')rocklangxu='.$k.';';
}
$nrs.="
function lang(ky){
if(!rocklang){rocklang = $('html').attr('lang');if(!rocklang)rocklang='".$this->locallang."';".$ss1."}
var d = langdata[ky];
if(!d)return ky;
var str = d[rocklangxu];
if(!str)str = ky;
return str;
}";
$this->rock->createtxt('js/lang.js', $nrs);
unlink($pats);
return returnsuccess();
}
public function getcontarr($file,$lx=0)
{
if(!file_exists($file))return '';
$cont = file_get_contents($file);
$arra = explode("\n", $cont);
$str = '';
$ssb = '';
foreach($arra as $k=>$strb){
if(!$strb)continue;
$strb = str_replace(array('^M',"\n","\r"),'', $strb);
$arrx = explode('|', $strb);
if($k>0){
$str.=',';
$ssb.=',';
}
$keys= $arrx[0];
$v001= '';
if(contain($keys,'::')){
$arr1 = explode('::', $keys);
$keys = $arr1[0];
$v001 = $arr1[1];
}
$str.='\''.$keys.'\'=>array(\''.$v001.'\'';
$ssb.='"'.$keys.'":["'.$v001.'"';
$len = count($arrx);
foreach($arrx as $k1=>$v1)if($k1>0){
$str.=',\''.$v1.'\'';
$ssb.=',"'.$v1.'"';
}
$str.=')';
$ssb.=']';
}
if($lx==0)return $str;
if($lx==1)return $ssb;
}
}

View File

@@ -1,15 +0,0 @@
<?php
/**
* 语言包(英文),需要自行翻译
*/
class lang_en_USChajian extends Chajian{
public function getLang()
{
$da = array(
);
return $da;
}
}

View File

@@ -1,15 +0,0 @@
<?php
/**
* 语言包
*/
class lang_zh_CNChajian extends Chajian{
public function getLang()
{
$da = array(
);
return $da;
}
}

View File

@@ -682,4 +682,21 @@ final class rockClass
if(substr($path,0,4)!='http')$path = ''.$url.''.$path.'';
return $path;
}
/**
* 根据value获取name
*/
public function valtoname($arr, $val, $fid1='',$fid2='')
{
if($fid1=='')$fid1='value';
if($fid2=='')$fid2='name';
$nval = $val;
foreach($arr as $k=>$rs){
if($rs[$fid1]==$val){
$nval = $rs[$fid2];
break;
}
}
return $nval;
}
}

View File

@@ -0,0 +1,2 @@
<?php
return array('新增'=>array('','','add'),'更多'=>array('','','more'),'我的申请'=>array('','我的申請','My Apply'),'刷新'=>array('','','Refresh'),'刷新统计中'=>array('','刷新統計中','RefreshTotaling'),'编辑'=>array('','編輯','edit'),'删除'=>array('','刪除','delete'),'菜单'=>array('','菜單','menu'),'评论'=>array('','評論','pinglun'),'编号'=>array('','編号','num'),'状态'=>array('','狀態','state'),'申请人'=>array('','申請人','Apply'),'申请人部门'=>array('','申請人部門','color'),'单号'=>array('','單号','level'),'搜索'=>array('','','Search'),'关键字'=>array('','關鍵字','keyword'),'提交人'=>array('','','Turn'),'包含'=>array('','','contain'),'等于'=>array('','等瘀','equal to'),'小于'=>array('','小瘀','less than'),'大于'=>array('','大瘀','greater than'),'请选择'=>array('','請選擇','Please select'),'不包含'=>array('','','not contain'),'已审核'=>array('','乙審核',''),'待处理'=>array('','待處理',''),'不同意'=>array('','不同逸',''),'已作废'=>array('','乙作廢',''),'退回'=>array('','','back'),'流程'=>array('','','Flow'),'授权查看'=>array('','授權查看',''),'经我处理'=>array('','經我處理',''));

View File

@@ -0,0 +1,2 @@
<?php
return array('notcolumns'=>array('列表页没设置好,数据无法显示,没有可切换选择卡,去看帮助设置','列表頁沒設置好,數據無法顯示,沒友可切换選擇卡,去看幫助設置',''));

View File

@@ -0,0 +1,2 @@
<?php
return array('个人办公'=>array('','個人辦公',''),'任务资源'=>array('','任務資塬',''),'学校'=>array('','學校',''));

View File

@@ -0,0 +1,31 @@
新增||add
更多||more
我的申请|我的申請|My Apply
刷新||Refresh
刷新统计中|刷新統計中|RefreshTotaling
编辑|編輯|edit
删除|刪除|delete
菜单|菜單|menu
评论|評論|pinglun
编号|編号|num
状态|狀態|state
申请人|申請人|Apply
申请人部门|申請人部門|color
单号|單号|level
搜索||Search
关键字|關鍵字|keyword
提交人||Turn
包含||contain
等于|等瘀|equal to
小于|小瘀|less than
大于|大瘀|greater than
请选择|請選擇|Please select
不包含||not contain
已审核|乙審核|
待处理|待處理|
不同意|不同逸|
已作废|乙作廢|
退回||back
流程||Flow
授权查看|授權查看|
经我处理|經我處理|

View File

@@ -0,0 +1,2 @@
编辑|編輯|edit
删除|刪除|delete

View File

@@ -0,0 +1 @@
notcolumns::列表页没设置好,数据无法显示,没有可切换选择卡,去看帮助设置|列表頁沒設置好,數據無法顯示,沒友可切换選擇卡,去看幫助設置|

View File

@@ -0,0 +1,3 @@
个人办公|個人辦公|
任务资源|任務資塬|
学校|學校|

View File

@@ -273,19 +273,23 @@ function getparams($key, $dev='')
/**
* 多语言返回
*/
function lang($key)
function lang($str,$lx='')
{
$data = arrvalue($GLOBALS,'langdata');
$val = '';
if(!$data)return $val;
if(strpos($key,'.')>0){
$skad = explode('.', $key);
$key1 = $skad[0];
$key2 = $skad[1];
$sdat = arrvalue($data[LANG], $key1);
if($sdat)$val = arrvalue($sdat, $key2);
if(!$str)return $str;
$da = arrvalue($GLOBALS,'langdata');
if(!$da)return $str;
$xuhao = $da['xuhao'];
$key = 'data'.$lx.'';
if(!isset($da[$key])){
$path = ''.ROOT_PATH.'/include/langlocal/langphp/lang'.$lx.'.php';
$data = array();
if(file_exists($path))$data = require($path);
$GLOBALS['langdata'][$key] = $data;
}else{
$val = arrvalue($data[LANG], $key);
$data = $da[$key];
}
return $val;
if(!isset($data[$str]))return $str;
$nstr = arrvalue($data[$str], $xuhao);
if(!$nstr)$nstr = $str;
return $nstr;
}

View File

@@ -1180,4 +1180,8 @@ js.sendevent=function(typ,na,d){
d.opttype=typ;
if(!na)na='xinhuhome';
if(api.sendEvent)api.sendEvent({name: na,extra:d});
}
function lang(ky){
return ky;
}

9
js/lang.js Normal file
View File

@@ -0,0 +1,9 @@
var rocklang = '',rocklangxu=0,langdata = {"\u7f16\u8f91":["","\u7de8\u8f2f","edit"],"\u5220\u9664":["","\u522a\u9664","delete"]};
function lang(ky){
if(!rocklang){rocklang = $('html').attr('lang');if(!rocklang)rocklang='zh-CN';if(rocklang=='zh-CN')rocklangxu=0;if(rocklang=='zh-FT')rocklangxu=1;if(rocklang=='en-US')rocklangxu=2;}
var d = langdata[ky];
if(!d)return ky;
var str = d[rocklangxu];
if(!str)str = ky;
return str;
}

View File

@@ -186,15 +186,23 @@
}
return ssu;
};
this._showdeptci = 0;
this._showdept=function(pid,oi,s1,type,sel,dob,uob){
var a,len,i,wwj,s2='',s='';
var a,len,i,wwj,s2='',s='',zs;
a=this.deptarr;
len=a.length;
this._showdeptci++;
for(i=0;i<len;i++){
//if(this._showdeptci==1)this._showdepticons(i);
if(a[i].pid==pid || sel=='2'){
this.fid = a[i].id;
wjj= 'images/files.png';
if(a[i].ntotal=='0' && uob)wjj= 'images/file.png';
if(this.changetype=='changedept' || this.changetype=='changedeptcheck'){
//zs = a[i].dtotal;
//wjj= 'images/files.png';
//if(zs==0)wjj= 'images/file.png';
}
s2 = '<input name="changeuserinput_'+rand+'" xls="d" xname="'+a[i].name+'" xu="'+i+'" value="'+a[i].id+'" style="width:18px;height:18px;" onclick="rchanguserclick(this)" type="'+type+'">';
if(dob)s2='';
if(s2!='' && !this._isdeptcheck(a[i]))s2='';
@@ -206,6 +214,18 @@
}
return s;
};
this._showdepticons=function(xu){
var a,len,i,d,zs=0;
a=this.deptarr;
len=a.length;
d = a[xu];
if(!isempt(d.dtotal))return zs;
for(i=0;i<len;i++){
if(a[i].pid==d.id)zs++;
}
this.deptarr[xu].dtotal=zs;
return zs;
};
this._showgorup=function(type){
var a,len,i,ssu='',s1;
a=this.grouparr;

View File

@@ -629,7 +629,7 @@ class inputAction extends Action
}
foreach($courses as $k=>$rs1){
$na = $rs1['name'];
if(!$this->isempt($rs1['explain']))$na.= '<br><span style="font-size:12px">('.$rs1['explain'].')</span>';
//if(!$this->isempt($rs1['explain']))$na.= '<br><span style="font-size:12px">('.$rs1['explain'].')</span>';
$rs1['name'] = $na;
$rs1['k'] = $k;
$rs1['isnow']= $rs1['id']==$nowcourseid;
@@ -829,22 +829,23 @@ class inputAction extends Action
$this->atypearr[] = array(
'id' => 0,
'num' => 'grant',
'name' => ''.$this->flow->modename.'授权查看',
'name' => ''.$this->flow->modename.''.lang('授权查看').'',
);
}else if($this->loadci==1 && $this->adminid>0){
$this->atypearr = m('where')->getmywhere($this->modeid, $this->adminid, $pnum);
if(LANG!='zh-CN' && $this->atypearr)foreach($this->atypearr as $k1=>$rs1)$this->atypearr[$k1]['name'] = $this->flow->lang($rs1['name']);
if(isempt($pnum)){
$mors = $this->flow->moders;
if((int)arrvalue($mors,'iscs','0')>0)$this->atypearr[] = array(
'id' => 0,
'num' => 'chaos',
'name' => ''.$mors['name'].'抄送给我',
'name' => ''.$mors['name'].''.lang('抄送给我').'',
);
if($mors['isflow']>0){
$this->atypearr[] = array(
'id' => 0,
'num' => 'mychuli',
'name' => ''.$mors['name'].'经我处理',
'name' => ''.$mors['name'].''.lang('经我处理').'',
);
}
}
@@ -903,6 +904,7 @@ class inputAction extends Action
$souarr = array();
$this->input= c('input');
$this->flow = $flow;
$this->input->flow = $flow;
foreach($flow->fieldsarra as $k=>$rs){
if($rs['issou']==1){

View File

@@ -0,0 +1,56 @@
//流程模块【flowelement.表单元素管理】下录入页面自定义js页面,初始函数
function initbodys(){
c.fieldshide('xiaoshu');
if(mid==0){
form('mid').value = js.request('mkid');
if(!form('mid').value){
js.msgerror('没有选择模块,无法新增');
c.formdisabled();
return;
}
}
form('attr').readOnly=false;
form('fields').readOnly=false;
form('dev').readOnly=false;
c.onselectdata['attr']=function(sav,sna,sid){
form('attr').value = sid;
}
c.onselectdata['fields']=function(sav,sna,sid){
if(sav.subname)form('name').value = sav.subname;
}
$(form('fieldstype')).change(function(){
c.changetypes();
});
}
c.onselectdatabefore=function(fid){
if(fid=='fields')return {mkid:form('mid').value,iszb:form('iszb').value};
}
c.changetypes=function(){
var val = form('fieldstype').value;
if(val=='number'){
c.fieldsshow('xiaoshu');
}else{
c.fieldshide('xiaoshu');
}
}
function changesubmit(d){
if(d.fieldstype.indexOf('change')==0){
if(d.data=='' || d.data==d.fields)return '此字段元素类型时数据源必须填写用来存储选择来的Id请填写为'+d.fields+'id';
}
if(d.islu=='1' && d.fields=='id')return 'id字段是不可以做录入项字段';
}
c.xuanchangs=function(){
var val = form('fieldstype').value;
if(val.indexOf('change')==0){
var cans1 = {
idobj:form('gongsi')
};
js.changeuser('AltS', 'deptusercheck', '选择范围', cans1);
}else{
js.msg('msg','元素类型不是选择人员部门的');
}
}

View File

@@ -0,0 +1,4 @@
//流程模块【flowmenu.菜单管理】下录入页面自定义js页面,初始函数
function initbodys(){
}

View File

@@ -0,0 +1,4 @@
//流程模块【flowset.流程模块列表】下录入页面自定义js页面,初始函数
function initbodys(){
}

View File

@@ -0,0 +1,114 @@
<?php
/**
* 此文件是流程模块【flowelement.表单元素管理】对应控制器接口文件。
*/
class mode_flowelementClassAction extends inputAction{
public $pobj;
protected function savebefore($table, $arr, $id, $addbo){
include_once('webmain/main/flow/flowAction.php');
$this->pobj = new flowClassAction();
$strs= $this->pobj->elemensavefieldsbefore($table, $arr, $id);
if($strs)return $strs;
$rows = array();
if($arr['zdsm'])$rows['zdsm'] = htmlspecialchars_decode($arr['zdsm']);
return array(
'rows' => $rows
);
}
protected function saveafter($table, $arr, $id, $addbo){
$this->pobj->elemensavefields($table, $arr);
}
public function iszbdata()
{
$mkid = (int)$this->get('mkid','0');
$mid = (int)$this->get('mid','0');
$mkrs = array();
$talbe = '';
if($mid>0){
$mkid = m('flow_element')->getmou('mid', $mid);
}
if($mkid){
$mkrs = m('flow_set')->getone($mkid);
$talbe = $mkrs['table'];
}
$arr[] = array('value'=>'0','name'=>'主表('.$talbe.')字段');
if($mkrs){
$tables = $mkrs['tables'];
$names = $mkrs['names'];
if(!isempt($tables)){
$tablesa = explode(',', $tables);
$namesa = explode(',', $names);
foreach($tablesa as $k=>$v)$arr[] = array('value'=>$k+1,'name'=>'第个'.($k+1).'子表('.arrvalue($namesa, $k).'.'.$v.')字段');
}
}
return $arr;
}
public function attrdata()
{
$arr[] = array('value'=>'readonly','name'=>'只读');
$arr[] = array('value'=>'onlyen','name'=>'不能有中文');
$arr[] = array('value'=>'onlycn','name'=>'必须包含中文');
$arr[] = array('value'=>'maxhang','name'=>'布局占整行');
$arr[] = array('value'=>'email','name'=>'邮件格式');
$arr[] = array('value'=>'mobile','name'=>'中文手机号');
$arr[] = array('value'=>'number','name'=>'必须是数字');
$arr[] = array('value'=>'date','name'=>'必须是日期格式如2020-02-02');
return $arr;
}
public function devdata()
{
$arr[] = array('value'=>'admin','name'=>'{admin}','subname'=>'当前用户姓名');
$arr[] = array('value'=>'deptname','name'=>'{deptname}','subname'=>'当前用户部门');
$arr[] = array('value'=>'uid','name'=>'{uid}','subname'=>'当前用户ID');
$arr[] = array('value'=>'date','name'=>'{date}','subname'=>'当前日期');
$arr[] = array('value'=>'optdt','name'=>'{optdt}','subname'=>'当前时间');
$arr[] = array('value'=>'ranking','name'=>'{urs.ranking}','subname'=>'当前用户职位');
$arr[] = array('value'=>'urs','name'=>'{urs.mobile}','subname'=>'当前用户其他信息字段mobile改成需要字段名');
return $arr;
}
protected function storeafter($table, $rows)
{
$mkid = (int)$this->post('mkid','0');
$mkrs = false;
if($mkid>0)$mkrs = m('flow_set')->getone($mkid);
if($this->loadci>1)return array(
'rows' => $rows,
'mkrs' => $mkrs,
);
return array(
'rows' => $rows,
'modearr' => m('mode')->getmodearr(),
'mkrs' => $mkrs,
);
}
public function fieldsstore()
{
$mkid = (int)$this->get('mkid','0');
$iszb = (int)$this->get('iszb','0');
$mkrs = m('flow_set')->getone($mkid);
$table = $mkrs['table'];
$tables = $mkrs['tables'];
if($iszb>0 && !isempt($tables)){
$tablesa = explode(',', $tables);
$table = $tablesa[$iszb-1];
}
$farrs = array();
$farr = $this->db->gettablefields('[Q]'.$table.'');
foreach($farr as $k=>$rs){
$farrs[]= array('value'=>$rs['name'],'name'=>$rs['name'],'subname'=>$rs['explain']);
}
return $farrs;
}
}

View File

@@ -0,0 +1,52 @@
<?php
/**
* 此文件是流程模块【flowmenu.菜单管理】对应控制器接口文件。
*/
class mode_flowmenuClassAction extends inputAction{
protected function savebefore($table, $arr, $id, $addbo){
}
protected function saveafter($table, $arr, $id, $addbo){
}
public $alldata = array();
protected function storeafter($table, $rows)
{
$pid = (int)$this->post('pid','0');
if($pid>0){
$this->showgetmenu($rows,0,1,1);
$rows = $this->alldata;
}
return array(
'rows' => $rows
);
}
private function showgetmenu($rows,$pid, $oi, $zt)
{
$zh = 0;
foreach($rows as $k=>$rs){
if($pid==$rs['pid']){
$zh++;
$rs['level'] = $oi;
$zthui = $rs['status'];
if($zt==0){
$rs['ishui']=1;
$zthui = 0;
}
$this->alldata[] = $rs;
$len = count($this->alldata)-1;
$cd = $this->showgetmenu($rows,$rs['id'], $oi+1, $zthui);
$this->alldata[$len]['stotal']=$cd;
}
}
return $zh;
}
}

View File

@@ -0,0 +1,40 @@
<?php
/**
* 此文件是流程模块【flowset.流程模块列表】对应控制器接口文件。
*/
class mode_flowsetClassAction extends inputAction{
public $pobj;
protected function savebefore($table, $arr, $id, $addbo){
include_once('webmain/main/flow/flowAction.php');
$this->pobj = new flowClassAction();
return $this->pobj->flowsetsavebefore($table, $arr);
}
protected function saveafter($table, $arr, $id, $addbo){
$this->pobj->flowsetsaveafter($table, $arr);
}
public function typedata()
{
$arr = array();
$rows = $this->db->getall('select `type` from `[Q]flow_set` group by `type` order by `sort`');
foreach($rows as $k=>$rs)$arr[] = array('value'=>'','name'=>$rs['type']);
return $arr;
}
public function getothernrAjax()
{
$mkid = (int)$this->get('mkid','0');
$ind = (int)$this->get('ind','0');
$bh = 'flowelement';
$atype = 'all';
//读取数据
$flow = m('flow')->initflow($bh);//初始化模块
$cont = $flow->getrowstable($atype, 'and `mid`='.$mkid.'', 100,'name,fields,fieldstype,islu,isbt,iszb');//读取表格数据
return $cont;
}
}

View File

@@ -38,12 +38,32 @@ class mode_userinfoClassAction extends inputAction{
public function storeafter($table, $rows)
{
$deptdata = false;
if($this->loadci==1 && $this->post('showdept')=='1'){
$drows = m('dept')->getall('1=1','`id`,`name`,`pid`');
$deptdata = $this->depttreeshu($drows, '0', '0');
}
return array(
'statearr' => $this->flow->statearrs,
'isadd' => false
'isadd' => false,
'deptdata' => $deptdata,
);
}
//组织结构活动得到树形数据
private function depttreeshu($rows, $pid, $fids)
{
$barr = array();
foreach($rows as $k=>$rs){
if($rs['pid']==$pid){
$rs['children'] = $this->depttreeshu($rows, $rs['id'], $fids);
$rs['expanded'] = $pid==$fids;
$barr[] = $rs;
}
}
return $barr;
}
//人员状态切换保存后处理
public function userstateafter($table, $cans, $id)
{

View File

@@ -96,7 +96,7 @@ echo 'body{--main-color:'.$maincolor.';--main-border:rgba('.$maincolors.',0.2)}'
$stsp = '<div style="padding-top:20px"><table width="100%"><tr><td width="15%" nowrap height="30" align="right">';
if($firstrs['checktype']=='change'){
$stsp.='<font color=red>*</font>';
$placeholder = '必须指定人员';
$placeholder = '必须指定人员'.arrvalue($firstrs,'explain').'';
$firstrs['isbt'] = 1;
}
$stsp.= ''.$firstrs['name'].'</td>';

View File

@@ -152,7 +152,7 @@ if($showheader==1)echo '<div id="header_title" style="padding-top:'.$cenghei.'px
$stsp.= '<td class="lurim" nowrap>';
if($firstrs['checktype']=='change'){
$stsp.='<font color=red>*</font>';
$placeholder = '必须指定人员';
$placeholder = '必须指定人员'.arrvalue($firstrs,'explain').'';
$firstrs['isbt'] = 1;
}
$stsp.= ''.$firstrs['name'].':</td>';

View 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">*^mid^</td><td width="35%" class="ys2">{mid}</td><td height="34" width="15%" align="right" class="ys1">*^iszb^</td><td width="35%" class="ys2">{iszb}</td></tr><tr><td height="34" width="15%" align="right" class="ys1">*^name^</td><td width="35%" class="ys2">{name}</td><td height="34" width="15%" align="right" class="ys1">*^fields^</td><td width="35%" class="ys2">{fields}</td></tr><tr><td height="34" width="15%" align="right" class="ys1">*^fieldstype^</td><td width="35%" class="ys2">{fieldstype}</td><td height="34" width="15%" align="right" class="ys1">^dev^</td><td width="35%" class="ys2">{dev}</td></tr><tr><td height="34" width="15%" align="right" class="ys1">^ftype^</td><td width="35%" class="ys2">{ftype}</td><td height="34" width="15%" align="right" class="ys1">^lens^</td><td width="35%" class="ys2">{lens}</td></tr><tr><td height="34" width="15%" align="right" class="ys1">^xiaoshu^</td><td width="35%" class="ys2">{xiaoshu}</td><td height="34" align="right" class="ys1"></td><td class="ys2"></td></tr><tr><td height="34" align="right" class="ys1">^data^</td><td colspan="3" class="ys2">{data}</td></tr><tr><td height="34" align="right" class="ys1">^attr^</td><td colspan="3" class="ys2">{attr}</td></tr><tr><td height="34" align="right" class="ys1">^placeholder^</td><td colspan="3" class="ys2">{placeholder}</td></tr><tr><td height="34" align="right" class="ys1">^gongsi^</td><td colspan="3" class="ys2">{gongsi}</td></tr><tr><td height="34" align="right" class="ys1">^savewhere^</td><td colspan="3" class="ys2">{savewhere}</td></tr><tr><td height="34" width="15%" align="right" class="ys1">^sort^</td><td width="35%" class="ys2">{sort}</td><td height="34" width="15%" align="right" class="ys1">^isalign^</td><td width="35%" class="ys2">{isalign}</td></tr><tr><td height="34" width="15%" align="right" class="ys1">^islu^</td><td width="35%" class="ys2">{islu}</td><td height="34" width="15%" align="right" class="ys1">^isbt^</td><td width="35%" class="ys2">{isbt}</td></tr><tr><td height="34" width="15%" align="right" class="ys1">^iszs^</td><td width="35%" class="ys2">{iszs}</td><td height="34" width="15%" align="right" class="ys1">^islb^</td><td width="35%" class="ys2">{islb}</td></tr><tr><td height="34" width="15%" align="right" class="ys1">^ispx^</td><td width="35%" class="ys2">{ispx}</td><td height="34" width="15%" align="right" class="ys1">^issou^</td><td width="35%" class="ys2">{issou}</td></tr><tr><td height="34" width="15%" align="right" class="ys1">^isonly^</td><td width="35%" class="ys2">{isonly}</td><td height="34" width="15%" align="right" class="ys1">^isdr^</td><td width="35%" class="ys2">{isdr}</td></tr><tr><td height="34" width="15%" align="right" class="ys1">^istj^</td><td width="35%" class="ys2">{istj}</td><td height="34" width="15%" align="right" class="ys1">^iseditlx^</td><td width="35%" class="ys2">{iseditlx}</td></tr><tr><td height="34" align="right" class="ys1">^zdsm^</td><td colspan="3" class="ys2">{zdsm}</td></tr></tbody></table>

View 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}</td><td height="34" width="15%" align="right" class="ys1">^num^</td><td width="35%" class="ys2">{num}</td></tr><tr><td height="34" align="right" class="ys1">^url^</td><td colspan="3" class="ys2">{url}</td></tr><tr><td height="34" width="15%" align="right" class="ys1">*^pid^</td><td width="35%" class="ys2">{pid}</td><td height="34" width="15%" align="right" class="ys1">^icons^</td><td width="35%" class="ys2">{icons}</td></tr><tr><td height="34" width="15%" align="right" class="ys1">^status^</td><td width="35%" class="ys2">{status}</td><td height="34" width="15%" align="right" class="ys1">^ispir^</td><td width="35%" class="ys2">{ispir}</td></tr><tr><td height="34" width="15%" align="right" class="ys1">^ishs^</td><td width="35%" class="ys2">{ishs}</td><td height="34" width="15%" align="right" class="ys1">^sort^</td><td width="35%" class="ys2">{sort}</td></tr><tr><td height="34" width="15%" align="right" class="ys1">^color^</td><td width="35%" class="ys2">{color}</td><td height="34" width="15%" align="right" class="ys1">^type^</td><td width="35%" class="ys2">{type}</td></tr></tbody></table>

View File

@@ -0,0 +1 @@
<br /><div><b>基本信息</b></div><table width="100%" border="0" class="ke-zeroborder"><tbody><tr class="autoyijianview"><td height="34" width="15%" align="right" class="ys1">*^type^</td><td width="35%" class="ys2">{type}</td><td height="34" width="15%" align="right" class="ys1">*^name^</td><td width="35%" class="ys2">{name}</td></tr><tr><td height="34" width="15%" align="right" class="ys1">*^num^</td><td width="35%" class="ys2">{num}</td><td height="34" width="15%" align="right" class="ys1">*^table^</td><td width="35%" class="ys2">{table}</td></tr><tr><td height="34" width="15%" align="right" class="ys1">^where^</td><td width="35%" class="ys2">{where}</td><td height="34" width="15%" align="right" class="ys1">^tables^</td><td width="35%" class="ys2">{tables}</td></tr><tr><td height="34" width="15%" align="right" class="ys1">^sort^</td><td width="35%" class="ys2">{sort}</td><td height="34" width="15%" align="right" class="ys1">^names^</td><td width="35%" class="ys2">{names}</td></tr><tr><td height="34" align="right" class="ys1">*^recename^</td><td colspan="3" class="ys2">{recename}</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></tbody></table><br /><div><b>流程</b></div><table width="100%" border="0" class="ke-zeroborder"><tbody><tr class="autoyijianview"><td height="34" width="15%" align="right" class="ys1">*^isflow^</td><td width="35%" class="ys2">{isflow}</td><td height="34" width="15%" align="right" class="ys1">^sericnum^</td><td width="35%" class="ys2">{sericnum}</td></tr><tr><td height="34" width="15%" align="right" class="ys1">*^isflowlx^</td><td width="35%" class="ys2">{isflowlx}</td><td height="34" width="15%" align="right" class="ys1">^isys^</td><td width="35%" class="ys2">{isys}</td></tr><tr><td height="34" width="15%" align="right" class="ys1">^isbxs^</td><td width="35%" class="ys2">{isbxs}</td><td height="34" width="15%" align="right" class="ys1">*^iscs^</td><td width="35%" class="ys2">{iscs}</td></tr><tr><td height="34" width="15%" align="right" class="ys1">^zfeitime^</td><td width="35%" class="ys2">{zfeitime}</td><td height="34" align="right" class="ys1"></td><td class="ys2"></td></tr></tbody></table><br /><div><b>摘要设置</b></div><table width="100%" border="0" class="ke-zeroborder"><tbody><tr class="autoyijianview"><td height="34" align="right" class="ys1">^summary^</td><td colspan="3" class="ys2">{summary}</td></tr><tr><td height="34" align="right" class="ys1">^summarx^</td><td colspan="3" class="ys2">{summarx}</td></tr><tr><td height="34" width="15%" align="right" class="ys1">^sortdir^</td><td width="35%" class="ys2">{sortdir}</td><td height="34" align="right" class="ys1"></td><td class="ys2"></td></tr></tbody></table><br /><div><b>提醒设置</b></div><table width="100%" border="0" class="ke-zeroborder"><tbody><tr class="autoyijianview"><td height="34" width="15%" align="right" class="ys1">^pctx^</td><td width="35%" class="ys2">{pctx}</td><td height="34" width="15%" align="right" class="ys1">^emtx^</td><td width="35%" class="ys2">{emtx}</td></tr><tr><td height="34" width="15%" align="right" class="ys1">^mctx^</td><td width="35%" class="ys2">{mctx}</td><td height="34" width="15%" align="right" class="ys1">^wxtx^</td><td width="35%" class="ys2">{wxtx}</td></tr><tr><td height="34" width="15%" align="right" class="ys1">^ddtx^</td><td width="35%" class="ys2">{ddtx}</td><td height="34" width="15%" align="right" class="ys1">^istxset^</td><td width="35%" class="ys2">{istxset}</td></tr></tbody></table><br /><div><b>详情显示</b></div><table width="100%" border="0" class="ke-zeroborder"><tbody><tr class="autoyijianview"><td height="34" width="15%" align="right" class="ys1">^isgbjl^</td><td width="35%" class="ys2">{isgbjl}</td><td height="34" width="15%" align="right" class="ys1">^isgbcy^</td><td width="35%" class="ys2">{isgbcy}</td></tr><tr><td height="34" width="15%" align="right" class="ys1">^ispl^</td><td width="35%" class="ys2">{ispl}</td><td height="34" align="right" class="ys1"></td><td class="ys2"></td></tr></tbody></table><br /><div><b>其他</b></div><table width="100%" border="0" class="ke-zeroborder"><tbody><tr class="autoyijianview"><td height="34" width="15%" align="right" class="ys1">^islu^</td><td width="35%" class="ys2">{islu}</td><td height="34" width="15%" align="right" class="ys1">^isup^</td><td width="35%" class="ys2">{isup}</td></tr><tr><td height="34" align="right" class="ys1">^statusstr^</td><td colspan="3" class="ys2">{statusstr}</td></tr><tr><td height="34" width="15%" align="right" class="ys1">^ishz^</td><td width="35%" class="ys2">{ishz}</td><td height="34" width="15%" align="right" class="ys1">^lbztxs^</td><td width="35%" class="ys2">{lbztxs}</td></tr></tbody></table>

View File

@@ -1 +1 @@
<table width="100%" bordercolor="#000000" border="0" class="ke-zeroborder"><tbody><tr><td height="34" align="right" class="ys1">*^title^</td><td class="ys2" colspan="3">{title}</td></tr><tr><td height="34" align="right" class="ys1">封面图片</td><td class="ys2" colspan="3">{fengmian}</td></tr><tr><td height="34" width="15%" align="right" class="ys1">*类型名称</td><td width="35%" class="ys2">{typename}</td><td align="right" width="15%" class="ys1">发手机短信</td><td width="35%" class="ys2"><label>{issms}短信提醒</label>&nbsp;<label>{appxs}APP首页显示</label></td></tr><tr><td height="34" align="right" class="ys1">发送给</td><td colspan="3" class="ys2">{recename}</td></tr><tr><td height="34" align="right" class="ys1">*内容</td><td colspan="3" class="ys2">{content}</td></tr><tr><td height="34" align="right" class="ys1">相关文件</td><td colspan="3" class="ys2">{file_content}</td></tr><tr><td height="34" align="right" class="ys1">相应地址</td><td colspan="3" class="ys2">{url}</td></tr><tr><td height="34" align="right" class="ys1">*来源</td><td class="ys2">{zuozhe}</td><td align="right" class="ys1">*日期</td><td class="ys2">{indate}</td></tr><tr><td height="34" align="right" class="ys1">展示日期</td><td class="ys2">{zstart}</td><td align="right" class="ys1">展示截止</td><td class="ys2">{zsend}</td></tr><tr><td height="34" align="right" class="ys1">至少投票</td><td class="ys2">{mintou}</td><td align="right" class="ys1">最多投票</td><td class="ys2">{maxtou}</td></tr><tr><td height="34" align="right" class="ys1">开始时间</td><td class="ys2">{startdt}</td><td align="right" class="ys1">截止时间</td><td class="ys2">{enddt}</td></tr><tr id="subtitletou"><td class="ys2" style="background-color:#CCCCCC;" colspan="4"><strong>投票选项</strong> </td></tr><tr><td class="ys0" colspan="4"><table class="tablesub ke-zeroborder" id="tablesub0" style="width:100%;" border="0" cellspacing="0" cellpadding="0"><tbody><tr><td width="10%">序号</td><td>*投票选项</td><td width="5%">操作</td></tr><tr><td>[xuhao0,0]</td><td>[touitems0,0]</td><td>{删,0}</td></tr><tr><td>[xuhao0,1]</td><td>[touitems0,1]</td><td>{删,0}</td></tr></tbody></table><div style="background-color:#F1F1F1;">{新增,0}</div></td></tr></tbody></table>
<table width="100%" bordercolor="#000000" border="0" class="ke-zeroborder"><tbody><tr><td height="34" align="right" class="ys1">*^title^</td><td class="ys2" colspan="3">{title}</td></tr><tr><td height="34" align="right" class="ys1">^fengmian^</td><td class="ys2" colspan="3">{fengmian}</td></tr><tr><td height="34" width="15%" align="right" class="ys1">*^typename^</td><td width="35%" class="ys2">{typename}</td><td align="right" width="15%" class="ys1">^issms^</td><td width="35%" class="ys2">{issms}&nbsp;<label>{appxs}</label></td></tr><tr><td height="34" align="right" class="ys1">^recename^</td><td colspan="3" class="ys2">{recename}</td></tr><tr><td height="34" align="right" class="ys1">*^content^</td><td colspan="3" class="ys2">{content}</td></tr><tr><td height="34" align="right" class="ys1">^file_content^</td><td colspan="3" class="ys2">{file_content}</td></tr><tr><td height="34" align="right" class="ys1">^url^</td><td colspan="3" class="ys2">{url}</td></tr><tr><td height="34" align="right" class="ys1">*^zuozhe^</td><td class="ys2">{zuozhe}</td><td align="right" class="ys1">*^indate^</td><td class="ys2">{indate}</td></tr><tr><td height="34" align="right" class="ys1">^zstart^</td><td class="ys2">{zstart}</td><td align="right" class="ys1">^zsend^</td><td class="ys2">{zsend}</td></tr><tr><td height="34" align="right" class="ys1">^mintou^</td><td class="ys2">{mintou}</td><td align="right" class="ys1">^maxtou^</td><td class="ys2">{maxtou}</td></tr><tr><td height="34" align="right" class="ys1">^startdt^</td><td class="ys2">{startdt}</td><td align="right" class="ys1">^enddt^</td><td class="ys2">{enddt}</td></tr><tr id="subtitletou"><td class="ys2" style="background-color:#CCCCCC;" colspan="4"><strong>投票选项</strong> </td></tr><tr><td class="ys0" colspan="4"><table class="tablesub ke-zeroborder" id="tablesub0" style="width:100%;" border="0" cellspacing="0" cellpadding="0"><tbody><tr><td width="10%">序号</td><td>*投票选项</td><td width="5%">操作</td></tr><tr><td>[xuhao0,0]</td><td>[touitems0,0]</td><td>{删,0}</td></tr><tr><td>[xuhao0,1]</td><td>[touitems0,1]</td><td>{删,0}</td></tr></tbody></table><div style="background-color:#F1F1F1;">{新增,0}</div></td></tr></tbody></table>

View File

@@ -1,5 +1,6 @@
//<script>
var c = {
optalign:'',
reload:function(){
a.reload();
},
@@ -49,7 +50,7 @@
searchuname:function(d){
js.getuser({
type:'deptusercheck',
title:'搜索'+d.name,
title:'<?=lang('搜索')?>'+d.name,
changevalue:this.search_value,
callback:function(sna,sid){
c.searchunames(d,sna,sid);
@@ -94,7 +95,7 @@
this.initpage();
this.soudownobj = $('#downbtn_{rand}').rockmenu({
width:120,top:35,donghua:false,
data:[{name:'高级搜索',lx:0}],
data:[{name:'<?=lang('高级搜索')?>',lx:0}],
itemsclick:function(d, i){
if(d.lx==0)c.searchhigh();
if(d.lx==1)c.printlist();
@@ -133,7 +134,7 @@
loaddata:function(d){
this.setdownsodata(d.souarr);
if(d.modeid)modeid = d.modeid;
if(modeid>101 && d.loadci==1 && (!d.atypearr || d.atypearr.length==0))js.confirm('列表页没设置好,数据无法显示,没有可切换选择卡,去看帮助设置',function(){window.open('<?=URLY?>view_columns.html')});
if(modeid>101 && d.loadci==1 && (!d.atypearr || d.atypearr.length==0))js.confirm('<?=lang('notcolumns','base')?>',function(){window.open('<?=URLY?>view_columns.html')});
if(!d.atypearr)return;
get('addbtn_{rand}').disabled=(d.isadd!=true);
get('daobtn_{rand}').disabled=(d.isdaochu!=true);
@@ -148,14 +149,14 @@
js.initbtn(c);
},
setdownsodata:function(darr){
var ddata = [{name:'高级搜索',lx:0}],dsd,i;
var ddata = [{name:'<?=lang('高级搜索')?>',lx:0}],dsd,i;
if(darr)for(i=0;i<darr.length;i++){
dsd = darr[i];
dsd.lx=3;
ddata.push(dsd);
}
if(admintype==1)ddata.push({name:'自定义列显示',lx:2});
ddata.push({name:'打印',lx:1});
if(admintype==1)ddata.push({name:'<?=lang('自定义列显示')?>',lx:2});
ddata.push({name:'<?=lang('打印')?>',lx:1});
this.soudownobj.setData(ddata);
},
setcinfo:{},
@@ -176,18 +177,19 @@
},
daoru:function(){
window['managelist'+modenum+''] = a;
addtabs({num:'daoru'+modenum+'',url:'flow,input,daoru,modenum='+modenum+'',icons:'plus',name:'导入'+modename+''});
addtabs({num:'daoru'+modenum+'',url:'flow,input,daoru,modenum='+modenum+'',icons:'plus',name:'<?=lang('导入')?>'+modename+''});
},
initcolumns:function(bots){
var num = 'columns_'+modenum+'_'+pnum+'',d=[],d1,d2={},i,len=fieldsarr.length,bok,sa=[{name:'默认搜索',fields:'','inputtype':'dev'}];
var num = 'columns_'+modenum+'_'+pnum+'',d=[],d1,d2={},i,len=fieldsarr.length,ebo,bok,sa=[{name:'<?=lang('默认搜索')?>',fields:'','inputtype':'dev'}];
var nstr= fieldsselarr[num];if(!nstr)nstr='';
if(nstr)nstr=','+nstr+',';
if(nstr=='' && isflow>0){
var nes = chufarr.base_name;if(!nes)nes='申请人';
var nes = chufarr.base_name;if(!nes)nes='<?=lang('申请人')?>';
d.push({text:nes,dataIndex:'base_name',sortable:true});
nes = chufarr.base_deptname;if(!nes)nes='申请人部门';
nes = chufarr.base_deptname;if(!nes)nes='<?=lang('申请人部门')?>';
d.push({text:nes,dataIndex:'base_deptname',sortable:true});
}
var celleditor = 0;
for(i=0;i<len;i++){
d1 = fieldsarr[i];
bok= false;
@@ -197,11 +199,24 @@
if(nstr.indexOf(','+d1.fields+',')>=0)bok=true;
}
if(bok){
ebo = 0;
d2={text:d1.name,dataIndex:d1.fields};
if(d1.ispx=='1')d2.sortable=true;
if(d1.width)d2.width=d1.width;
if(d1.isalign=='1')d2.align='left';
if(d1.isalign=='2')d2.align='right';
if(d1.iseditlx=='1')ebo=1;
if(d1.iseditlx=='2' && admintype=='1')ebo=1;
if(d1.iseditlx=='3' && admintype=='1' && adminid=='1')ebo=1;
if(ebo==1){
d2.editor = true;
celleditor= 1;
d2.type = d1.fieldstype;
if(d1.fieldstype=='select' || d1.fieldstype=='rockcombo'){
d2.type='select';
d2.store=this.editorstore(d1.store);
}
}
d.push(d2);
}
if(d1['issou']=='1'){
@@ -209,10 +224,14 @@
sa.push(d2);
}
}
if(isflow>0)d.push({text:'流程状态',dataIndex:'statustext'});
if(nstr=='' || nstr.indexOf(',caozuo,')>=0)d.push({text:'',dataIndex:'caozuo',callback:'opegs{rand}'});
if(isflow>0)d.push({text:'<?=lang('流程')?><?=lang('状态')?>',dataIndex:'statustext'});
if(nstr=='' || nstr.indexOf(',caozuo,')>=0){
d1 = {text:'',dataIndex:'caozuo',callback:'opegs{rand}'};
(this.optalign=='left')?d.unshift(d1):d.push(d1);
}
for(i=0;i<d.length;i++)if(this.setcinfo[d[i].dataIndex])d[i] = js.apply(d[i],this.setcinfo[d[i].dataIndex]);
d = this.oncolumns(d);
if(celleditor==1)a.setCans({celleditor:true});
bootparams.columns = d;
if(bots)a.setColumns(d);
d1 = this.fieldzarr;
@@ -227,6 +246,11 @@
this.changefields();
return d;
},
editorstore:function(d){
var d1=[],i;
if(d)for(i=0;i<d.length;i++)d1.push([d[i].value,d[i].name]);
return d1;
},
changefields:function(){
var o1 = get('fields_{rand}');
if(!o1)return;
@@ -251,7 +275,7 @@
$('#selkey_{rand}').show();
o2.value='1';
var o3 = get('selkey_{rand}');
$(o3).html('<option value="">-请选择-</option>');
$(o3).html('<option value="">-<?=lang('请选择')?>-</option>');
js.setselectdata(o3,xa.store,'value');
}else{
$('#keygj_{rand}').show();
@@ -277,10 +301,15 @@
}
window.open('?d=public&m=print&table='+rnd+'&modenum='+modenum+'&modename='+jm.base64encode(modename)+'');
},
getbtnstr:function(txt, click, ys, ots){
getbtnstr:function(txt, click, ys, ots,alx){
if(!ys)ys='default';
if(!ots)ots='';
return '<button class="btn btn-'+ys+'" id="btn'+click+'_{rand}" click="'+click+'" '+ots+' type="button">'+txt+'</button>';
var str='<button class="btn btn-'+ys+'" id="btn'+click+'_{rand}" click="'+click+'" '+ots+' type="button">'+txt+'</button>';
if(alx=='right')this.addrightbtn(str);
return str;
},
addrightbtn:function(str){
$('#tdright_{rand}').prepend(str+'&nbsp;&nbsp;');
},
setfieldslist:function(){
new highsearchclass({
@@ -304,7 +333,7 @@
fanye:true,modenum:modenum,listcreate:true,modename:modename,statuschange:false,tablename:jm.base64decode(listname),
url:c.storeurl(),storeafteraction:'storeaftershow',storebeforeaction:'storebeforeshow',optobj:c,syspnum:pnum,
params:{atype:atype},
columns:[{text:"字段",dataIndex:"face"},{
columns:[{text:"fields",dataIndex:"face"},{
text:'',dataIndex:'caozuo',callback:'opegs{rand}'
}],
itemdblclick:function(){

View File

@@ -5,7 +5,7 @@
*/
defined('HOST') or die ('not access');
$modenum = arrvalue($pageparams,'bh');
if(!$modenum)exit('没有参数bh');
if(!$modenum)exit('404 modenum is empty');
$flow = m('flow:'.$modenum.'')->initbase($modenum);
$isflow = $flow->isflow;
@@ -25,8 +25,8 @@ $(document).ready(function(){
$path = 'webmain/flow/page/rock_page_'.$modenum.'_script.php';
if(file_exists($path))include_once($path);
$shoukey = '关键字';
if($flow->isflow>0)$shoukey = '关键字/申请人/单号';
$shoukey = lang('关键字');
if($flow->isflow>0)$shoukey = ''.lang('关键字').'/'.lang('申请人').'/'.lang('单号').'';
?>
@@ -40,13 +40,13 @@ $(document).ready(function(){
<!--SCRIPTend-->
<!--HTMLstart-->
<div>
<table width="100%">
<table width="100%" id="tools<?=$modenum?>_{rand}">
<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 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> <?=lang('新增')?></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="<?=$shoukey?>">
<td tdlx="sou"><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 tdlx="sou"><select class="form-control" style="width:60px;border-radius:0px;border-left:0;padding:0 2px" id="like_{rand}"><option value="0"><?=lang('包含')?></option><option value="1"><?=lang('等于')?></option><option value="2"><?=lang('大于')?><?=lang('等于')?></option><option value="3"><?=lang('小于')?><?=lang('等于')?></option><option value="4"><?=lang('不包含')?></option></select></td>
<td tdlx="sou"><select class="form-control" style="width:130px;border-radius:0;border-left:0;display:none;padding:0 5px" id="selkey_{rand}"><option value="">-<?=lang('请选择')?>-</option></select><input class="form-control" style="width:130px;border-radius:0;border-left:0;padding:0 5px" id="keygj_{rand}" placeholder="<?=lang('关键字')?>"><input class="form-control" style="width:130px;border-radius:0;border-left:0;padding:0 5px;display:none;" id="key_{rand}" placeholder="<?=$shoukey?>">
</td>
<?php
$lbztxs = $flow->moders['lbztxs'];
@@ -56,25 +56,26 @@ $(document).ready(function(){
if($lbztxs==2)$showzt = false;
if($showzt){
$ztarr = $flow->getstatusarr();
$zthtml = '<td><select class="form-control" style="width:120px;border-left:0;border-radius:0;" id="selstatus_{rand}"><option value="">-全部状态-</option>';
$zthtml = '<td><select class="form-control" style="width:120px;border-left:0;border-radius:0;" id="selstatus_{rand}"><option value="">-'.lang('全部').''.lang('状态').'-</option>';
foreach($ztarr as $zt=>$ztv){
if($isflow==0 && $zt==23)continue;
$zthtml .= '<option style="color:'.arrvalue($ztv, 1).'" value="'.$zt.'">'.$ztv[0].'</option>';
$vals = str_replace('?','', $ztv[0]);
$zthtml .= '<option style="color:'.arrvalue($ztv, 1).'" value="'.$zt.'">'.lang($vals).'</option>';
}
$zthtml .= '</select></td>';
$zthtml = str_replace('?','', $zthtml);
echo $zthtml;
}
?>
<td>
<td tdlx="sou">
<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>
<button style="border-right:0;border-radius:0;border-left:0" class="btn btn-default" click="searchbtn" type="button"><?=lang('搜索')?></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 id="tdcenter_{rand}" 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>&nbsp;&nbsp;&nbsp;</span><button class="btn btn-default" style="display:none" id="daobtn_{rand}" disabled click="daochu" type="button">导出 <i class="icon-angle-down"></i></button>
<span style="display:none" id="daoruspan_{rand}"><button class="btn btn-default" click="daoru,1" type="button"><?=lang('导入')?></button>&nbsp;&nbsp;&nbsp;</span><button class="btn btn-default" style="display:none" id="daobtn_{rand}" disabled click="daochu" type="button"><?=lang('导出')?> <i class="icon-angle-down"></i></button>
</td>
</tr>
</table>

View File

@@ -44,22 +44,22 @@ if(pnum=='all'){
<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 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> <?=lang('新增')?></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><select class="form-control" style="width:60px;border-radius:0px;border-left:0;padding:0 2px" id="like_{rand}"><option value="0"><?=lang('包含')?></option><option value="1"><?=lang('等于')?></option><option value="2"><?=lang('大于')?><?=lang('等于')?></option><option value="3"><?=lang('小于')?><?=lang('等于')?></option><option value="4"><?=lang('不包含')?></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="">-<?=lang('请选择')?>-</option></select><input class="form-control" style="width:130px;border-radius:0;border-left:0;padding:0 5px" id="keygj_{rand}" placeholder="<?=lang('关键字')?>"><input class="form-control" style="width:130px;border-radius:0;border-left:0;padding:0 5px;display:none;" id="key_{rand}" placeholder="<?=lang('关键字')?>/<?=lang('申请人')?>/<?=lang('单号')?>">
</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:red" value="2">不同意</option><option style="color:#888888" value="5">已作废</option><option style="color:#17B2B7" value="23">退回</option></select></td>
<td><select class="form-control" style="width:120px;border-left:0;border-radius:0;" id="selstatus_{rand}"><option value="">-<?=lang('全部')?><?=lang('状态')?>-</option><option style="color:blue" value="0"><?=lang('待处理')?></option><option style="color:green" value="1"><?=lang('已审核')?></option><option style="color:red" value="2"><?=lang('不同意')?></option><option style="color:#888888" value="5"><?=lang('已作废')?></option><option style="color:#17B2B7" value="23"><?=lang('退回')?></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>
<button style="border-right:0;border-radius:0;border-left:0" class="btn btn-default" click="searchbtn" type="button"><?=lang('搜索')?></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>&nbsp;&nbsp;&nbsp;</span><button class="btn btn-default" style="display:none" id="daobtn_{rand}" disabled click="daochu" type="button">导出 <i class="icon-angle-down"></i></button>
<span style="display:none" id="daoruspan_{rand}"><button class="btn btn-default" click="daoru,1" type="button"><?=lang('导入')?></button>&nbsp;&nbsp;&nbsp;</span><button class="btn btn-default" style="display:none" id="daobtn_{rand}" disabled click="daochu" type="button"><?=lang('导出')?> <i class="icon-angle-down"></i></button>
</td>
</tr>
</table>

View File

@@ -0,0 +1,102 @@
//<script>
c.optalign = 'left';
var editarr = ['islu','isbt','iszs','islb','ispx','issou','isonly','isdr','istj'],mkid=0,mknum=modenum;
for(var i=0;i<editarr.length;i++)c.setcolumns(editarr[i],{type:'checkbox'});
bootparams.fanye = false;
c.initpage=function(){
$('#tdleft_{rand}').after('<td ><select style="width:180px;" class="form-control" id="modeid_{rand}" ></select></td>');
$('#modeid_{rand}').change(function(){
c.changemodeid(this);
});
}
c.onloadbefore=function(d){
if(d.modearr){
var s = '<option value="0">-选择模块-</option>',len=d.modearr.length,i,csd,types='';
for(i=0;i<len;i++){
csd = d.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;
}
s+='</optgroup>';
$('#modeid_{rand}').html(s);
}
if(d.mkrs)mknum = d.mkrs.num;
}
c.changemodeid=function(o1){
var val = o1.value;
if(val=='0')return;
mkid = val;
a.setparams({mkid:mkid},true);
}
c.xuanmoxbo = function(){
if(mkid=='0'){
js.msgerror('请先选择模块');
return false;
}
return true;
}
c.clickwin=function(o1,lx){
if(!this.xuanmoxbo())return;
openinput(modename,modenum,'0&mkid='+mkid+'','opegs{rand}');
}
$('#tools'+modenum+'_{rand}').find('td[tdlx="sou"]').hide();
var strss = '<div class="btn-group" style="margin-right:10px">';
strss+='<button class="btn btn-default" click="inputs,0" type="button">PC端录入页布局</button>';
strss+='<button class="btn btn-default" click="zhanshi,0" type="button">PC端展示</button>';
strss+='<button class="btn btn-default" click="zhanshi,1" type="button">手机展示</button>';
strss+='<button class="btn btn-default" click="zhanshi,2" type="button">打印布局</button>';
strss+='<button class="btn btn-default" click="lulu,0" type="button">PC录入页</button>';
strss+='<button class="btn btn-default" click="lulu,1" type="button">手机录入页</button>';
strss+='<button class="btn btn-default" click="changelieb" type="button">生成列表页</button>';
strss+='</div>';
$('#tdcenter_{rand}').prepend(''+strss+'');
c.inputs=function(){
if(!this.xuanmoxbo())return;
var url='?m=flow&d=main&a=input&setid='+mkid+'&atype=0';
js.open(url,980,530);
}
c.zhanshi=function(o1,lx){
if(!this.xuanmoxbo())return;
var url='?m=flow&d=main&a=inputzs&setid='+mkid+'&atype='+lx+'';
js.open(url,980,530);
}
c.lulu=function(o1,lx){
if(!this.xuanmoxbo())return;
if(lx==1){
var url = js.getajaxurl('@lum','input','flow',{num:mknum});
js.open(url, 380,500);
}else{
var url = js.getajaxurl('@lu','input','flow',{num:mknum});
js.open(url, 800,450);
}
}
c.changelieb=function(){
if(!this.xuanmoxbo())return;
js.ajax(js.getajaxurl('changelieb','flow','main'),{modeid:mkid},function(s){
js.msg('success','生成成功路径:'+s+'');
},'get','','生成中...,生成成功');
}
c.getbtnstr('旧版','oldban','','','right');
c.getbtnstr('刷新排序','rexuhao','','','right');
c.rexuhao=function(){
if(!this.xuanmoxbo())return;
js.ajax(js.getajaxurl('rexuhao','flow','main'),{modeid:mkid},function(){
a.reload();
},'get','','刷新中...,刷新成功');
}
c.oldban=function(){
addtabs({'name':'表单元素管理(旧版)',url:'main,flow,element',num:'flowelementold','icons':'check'});
}

View File

@@ -0,0 +1,58 @@
//<script>
bootparams.statuschange = true;
$('#tools'+modenum+'_{rand}').find('td[tdlx="sou"]').hide();
bootparams.fanye = false;
bootparams.tree = true;
c.getbtnstr('旧版','oldban','','','right');
c.getbtnstr('加下级菜单','jiaxiaji','','disabled','right');
c.setcolumns('url',{
type:'textarea',
renderstyle:function(v,d){
return 'word-wrap:break-word;word-break:break-all;white-space:normal;width:180px';
}
});
if(ISDEMO){
c.setcolumns('status',{
editor:false
});
}
c.oldban=function(){
addtabs({'name':'菜单管理(旧版)',url:'system,menu',num:'menuold','icons':'list-ul'});
}
c.jiaxiaji=function(){
openinput(modename,modenum,'0&def_pid='+a.changeid+'','opegs{rand}');
}
function anbtsenb(bo){
get('btnjiaxiaji_{rand}').disabled=bo;
}
bootparams.itemclick=function(){
anbtsenb(false);
}
bootparams.beforeload=function(){
anbtsenb(true);
}
c.initpage=function(){
$('#tdleft_{rand}').after('<td style="padding-right:10px"><select style="width:150px;" class="form-control" id="modeid_{rand}" ><option value="0">请选择菜单</option></select></td>');
$('#modeid_{rand}').change(function(){
a.setparams({pid:this.value},true);
});
}
c.changemodeid=function(){
}
var boodes = false;
c.onloadbefore=function(d){
if(boodes)return;
js.setselectdata(get('modeid_{rand}'),d.rows,'id');
boodes = true;
}

View File

@@ -0,0 +1,171 @@
//<script>
c.optalign = 'left';
bootparams.statuschange = true;
bootparams.checked = true;
var editarr = ['pctx','status','emtx','mctx','wxtx','ddtx','istxset','ispl','islu','isup','ishz'];
for(var i=0;i<editarr.length;i++)c.setcolumns(editarr[i],{type:'checkbox'});
c.getbtnstr('旧版','oldban','','','right');
<?php if(getconfig('rockinzip'))echo "c.getbtnstr('生成安装包','shengsheng','','','right');"; ?>
c.getbtnstr('重新匹配流程','pipei','','','right');
c.getbtnstr('复制','fuzhi','','disabled','right');
c.getbtnstr('生成所有列表页','allcreate','','','right');
c.getbtnstr('模块开发管理 <i class="icon-angle-down"></i>','downbtn','primary','disabled','right');
if(ISDEMO){
c.setcolumns('status',{
editor:false,
type:'checkbox'
});
}
c.shengsheng=function(){
var sid = a.getchecked();
addtabs({'name':'创建安装包',url:'main,flow,createinstall,sid='+jm.base64encode(sid)+'',num:'createinstall'});
}
c.oldban=function(){
addtabs({'name':'流程模块列表(旧版)',url:'main,flow,set',num:'flowsetold','icons':'th-list'});
}
c.pipei=function(){
js.ajax(js.getajaxurl('reloadpipei','flow','main'),{},function(s){
js.msg('success', s);
},'get',false,'匹配中...,匹配完成');
}
c.fuzhi=function(){
if(a.changeid==0)return;
js.prompt('输入新模块编号','将会从模块['+a.changedata.name+']复制主表子表和表单元素字段的!', function(jg,txt){
if(jg=='yes' && txt)c.copys(txt);
});
}
c.copys=function(txt){
js.ajax(js.getajaxurl('copymode','flow','main'),{id:a.changeid,name:txt},function(s){
if(s=='ok'){
a.reload();
}else{
js.msg('msg',s);
}
},'post',false,'复制中...,复制成功:还是要做其他很多事的,具体请到官网看模块开发视频。');
}
c.downbtn=function(){}
function anbtsenb(bo){
get('btnfuzhi_{rand}').disabled=bo;
get('btndownbtn_{rand}').disabled=bo;
}
bootparams.itemclick=function(){
anbtsenb(false);
}
bootparams.beforeload=function(){
anbtsenb(true);
}
c.allcreate=function(){
js.ajax(js.getajaxurl('allcreate','flow','main'),{},function(s){
js.msg('success', s);
},'get',false,'生成中...');
}
$('#btndownbtn_{rand}').rockmenu({
width:170,top:35,donghua:false,
data:[{
name:'主表管理',lx:0
},{
name:'清空此模块数据',lx:2
},{
name:'同步到单位数据',lx:3
},{
name:'同步菜单到单位数据',lx:4
}],
itemsclick:function(d, i){
var id = a.changedata.id;
if(!id)return;
if(d.lx==0)c.biaoge();
if(d.lx==2)c.clearalldata(id);
if(d.lx==3)c.tongbudanwu();
if(d.lx==4)c.tongbumenu();
}
});
c.biaoge=function(){
this.showtalbe(a.changedata.table);
}
c.showtalbe=function(table){
if(!table)return;
var name='<?=PREFIX?>'+table+'';
addtabs({num:'tablefields'+name+'',url:'system,table,fields,table='+name+'',name:'['+name+']字段管理'});
}
c.clearalldata=function(id){
if(a.changedata.type=='系统'){
js.msgerror('系统类型模块不能清空');
return;
}
js.confirm('确定要清空此['+a.changedata.name+']模块所有数据嘛?<b style="color:red">慎重慎重慎重慎重!</b>',function(ssal){
if(ssal=='yes')c.clearalldatas(id);
});
}
c.clearalldatas=function(id){
js.ajax(js.getajaxurl('clearallmode','flow','main'),{id:id},function(s){
if(s=='ok'){
a.reload();
}else{
js.msg('msg',s);
}
},'post',false,'清空中...,清空成功');
}
c.tongbudanwu=function(){
var sid = a.getchecked();
if(!sid){
js.msgerror('复选框中没有选中模块');return;
}
this.xuandanwefe(sid,0);
}
c.xuandanwefe=function(sid,lx){
js.tanbody('senddw','同步到单位数据里', 350, 200, {
html:'<form name="sendform"><div style="padding:10px;" id="senddwdiv"><img src="images/mloading.gif"></div></form>',
btn:[{text:'确定同步'}]
});
js.ajax(js.getajaxurl('getcompanydata','flow','main'),{},function(ret){
var str = '',da=ret.data;
for(var i=0;i<da.length;i++){
str+='<div><label><input type="checkbox" name="xuanzhe[]" value="'+da[i].id+'">'+da[i].name+'</label></div>';
}
if(!str)str=ret.msg;
$('#senddwdiv').html(str);
},'get,json');
$('#senddw_btn0').click(function(){
c.sendgongwenjsok(sid,lx);
});
},
c.sendgongwenjsok=function(id1,lx){
var da = js.getformdata('sendform');
if(!da.xuanzhe){
js.msgerror('请选择单位');
return;
}
da.modeids = id1;
da.lx = lx;
js.loading('同步中...');
js.tanclose('senddw');
js.ajax(publicmodeurl('company','anaymodedata'),da,function(ret){
js.msgok(ret.data);
},'post,json');
},
c.tongbumenu=function(){
$.selectdata({
title:'选择需要同步的菜单',
url:js.getajaxurl('getmenu','upgrade','system',{glx:1}),
checked:true,maxshow:500,
onselect:function(d1,sna,sid){
if(sid)c.xuandanwefe(sid, 1)
}
});
}

View File

@@ -9,7 +9,7 @@ defined('HOST') or die ('not access');
<script>
$(document).ready(function(){
{params}
var modenum = 'gong',modename='通知公告',isflow=0,modeid='1',atype = params.atype,pnum=params.pnum,modenames='多行子表名称',listname='aW5mb3I:';
var modenum = 'gong',modename='通知公告',isflow=0,modeid='1',atype = params.atype,pnum=params.pnum,modenames='投票项目',listname='aW5mb3I:';
if(!atype)atype='';if(!pnum)pnum='';
var fieldsarr = [],fieldsselarr= [],chufarr= [];
@@ -55,22 +55,22 @@ c.setcolumns('appxs',{
<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 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> <?=lang('新增')?></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><select class="form-control" style="width:60px;border-radius:0px;border-left:0;padding:0 2px" id="like_{rand}"><option value="0"><?=lang('包含')?></option><option value="1"><?=lang('等于')?></option><option value="2"><?=lang('大于')?><?=lang('等于')?></option><option value="3"><?=lang('小于')?><?=lang('等于')?></option><option value="4"><?=lang('不包含')?></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="">-<?=lang('请选择')?>-</option></select><input class="form-control" style="width:130px;border-radius:0;border-left:0;padding:0 5px" id="keygj_{rand}" placeholder="<?=lang('关键字')?>"><input class="form-control" style="width:130px;border-radius:0;border-left:0;padding:0 5px;display:none;" id="key_{rand}" placeholder="<?=lang('关键字')?>">
</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>
<button style="border-right:0;border-radius:0;border-left:0" class="btn btn-default" click="searchbtn" type="button"><?=lang('搜索')?></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>&nbsp;&nbsp;&nbsp;</span><button class="btn btn-default" style="display:none" id="daobtn_{rand}" disabled click="daochu" type="button">导出 <i class="icon-angle-down"></i></button>
<span style="display:none" id="daoruspan_{rand}"><button class="btn btn-default" click="daoru,1" type="button"><?=lang('导入')?></button>&nbsp;&nbsp;&nbsp;</span><button class="btn btn-default" style="display:none" id="daobtn_{rand}" disabled click="daochu" type="button"><?=lang('导出')?> <i class="icon-angle-down"></i></button>
</td>
</tr>
</table>

View File

@@ -66,7 +66,29 @@ if(atype=='all'){
get('btnbianjila_{rand}').disabled=true;
}
$('#viewuserinfo_{rand}').after('<div class="tishi">添加人员档案请到[用户管理]那添加,删除档案,需要先删除用户在删除档案。</div>');
c.initpage=function(){
a.settishi('<div class="tishi">添加人员档案请到[用户管理]那添加,删除档案,需要先删除用户在删除档案。</div>');
}
var showdept = false;//是否显示左边部门
if(showdept){
bootparams.params.showdept='1';
var shtm = '<table width="100%"><tr valign="top"><td><div style="border:1px #cccccc solid;width:220px"><div id="optionview_{rand}" style="height:'+(viewheight-90)+'px;overflow:auto;"></div></div></td><td width="8" nowrap><div style="width:8px;overflow:hidden"></div></td><td width="95%"><div id="viewuserinfo_{rand}"></div></td></tr></table>';
$('#viewuserinfo_{rand}').after(shtm).remove();
var at = $('#optionview_{rand}').bootstree({
url:false,autoLoad:false,
columns:[{
text:'部门',dataIndex:'name',align:'left',xtype:'treecolumn'
}],
itemdblclick:function(d){
a.setparams({'search_value':'d'+d.id+'','search_fields':'id'}, true);
}
});
c.onloadbefore=function(d){
if(d.deptdata)at.loadData(d.deptdata);
}
}
}
$('#tdleft_{rand}').hide();

View File

@@ -0,0 +1,28 @@
<div class="r-tabs" tabid="a" style="margin-left:34px">
<div index="0" class="r-tabs-item active">模块详情</div>
<div index="1" custid="{id}" class="r-tabs-item">字段信息</div>
</div>
<!--第一个内容,固定默认的详情变量-->
<div tabitem="0" tabid="a">
$contview$
</div>
<div class="ys0" tabitem="1" tabid="a" style="display:none">字段信息</div>
<script>
var loadbo = [];
js.ontabsclicks=function(ind,tid,o,ho){
if(ind>=1 && !loadbo[ind]){
var custid = o.attr('custid');
ho.html('<img src="images/mloading.gif">');
js.ajax(geturlact('getothernr'),{
'mkid':custid,
'ind':ind
},function(ret){
ho.html(ret);
});
}
loadbo[ind] = true;
}
</script>

View File

@@ -7,7 +7,7 @@ defined('HOST') or die ('not access');
?>
<script>
moemyapplylist=function(){
addtabs({num:'applymy',url:'main,fwork,bill,atype=my',icons:'align-left',name:'我的申请'});
addtabs({num:'applymy',url:'main,fwork,bill,atype=my',icons:'align-left',name:'<?=lang($itemnowname)?>'});
}
homeobject.show_apply_list=function(a){
var s='',a1,i;
@@ -22,7 +22,7 @@ homeobject.show_apply_list=function(a){
</script>
<div align="left" id="myapplylist" style="min-width:300px" class="list-group">
<div class="list-group-item list-group-item-info">
<i class="icon-align-left"></i> <?=$itemnowname?>(<span id="myapplylisttotal">0</span>)
<a style="float:right;TEXT-DECORATION:none" onclick="moemyapplylist()">更多&gt;&gt;</a>
<i class="icon-align-left"></i> <?=lang($itemnowname)?>(<span id="myapplylisttotal">0</span>)
<a style="float:right;TEXT-DECORATION:none" onclick="moemyapplylist()"><?=lang('更多')?>&gt;&gt;</a>
</div>
</div>

View File

@@ -8,7 +8,7 @@ defined('HOST') or die ('not access');
<script>
homeobject.showicons=function(a){
if(a.length%2!=0)a.push({name:'none'});
a.push({name:'刷新统计中...',icons:'refresh',num:'refresh',color:'#888888'});
a.push({name:'<?=lang('刷新统计中')?>...',icons:'refresh',num:'refresh',color:'#888888'});
this.menuarr = a;
var o = $('#kuailistdonw'),s='<table width="100%"><tr>',a1,oi=0,s1t='';
for(var i=0; i<a.length-1;i++){
@@ -42,7 +42,7 @@ opentabsshowshwo=function(oi,o1){
<div class="panel panel-default">
<div class="panel-heading">
<div style="font-size:14px"><i class="icon-refresh"></i> <?=$itemnowname?>
<a style="float:right;TEXT-DECORATION:none" click="refresh" id="refresh_text">刷新</a>
<a style="float:right;TEXT-DECORATION:none" click="refresh" id="refresh_text"><?=lang('刷新')?></a>
</div>
</div>
<div id="kuailistdonw"></div>

View File

@@ -7,7 +7,7 @@ defined('HOST') or die ('not access');
?>
<script>
homeobject.showicons=function(a){
a.push({name:'刷新统计中...',icons:'refresh',num:'refresh',color:'#888888'});
a.push({name:'<?=lang('刷新统计中')?>...',icons:'refresh',num:'refresh',color:'#888888'});
this.menuarr = a;
var o = $('.rowaaaa'),s='',cols='';
o.html('');

View File

@@ -11,6 +11,7 @@ class indexClassAction extends Action{
$where = ' and `id` in('.$caids.')';
}
$mrows = m('menu')->getrows("`ishs`=1 and `status`=1 $where ", "`id`,`num`,`name`,`url`,`color`,`icons`",'`sort`');
if(LANG!='zh-CN')foreach($mrows as $k=>$rs)$mrows[$k]['name'] = lang($rs['name'],'menu');
return $mrows;
}

View File

@@ -209,6 +209,7 @@ class indexClassAction extends Action{
}else{
$rs['stotal'] = 0;
}
$rs['name'] = lang($rs['name'],'menu');
$rows[] = $rs;
}
return $rows;

View File

@@ -1,5 +1,5 @@
<!DOCTYPE html>
<html lang="zh-CN">
<html lang="<?=LANG?>">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><?=$da['title']?></title>
@@ -69,17 +69,17 @@ echo 'body{--main-color:'.$maincolor.'}';
<div class="collapse navbar-collapse" id="app-navbar-collapse">
<ul class="nav navbar-nav" id="index-navbar-center" style="overflow:hidden;">
<?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="'.lang($rs['name'],'menu').'" icon="'.$rs['icons'].'"><a>';
if($rs['icons'])$str.='<i class="icon-'.$rs['icons'].'"></i> ';
$str.=''.$rs['name'].'</a></li>';
$str.=''.lang($rs['name'],'menu').'</a></li>';
echo $str;
}
?>
</ul>
<ul class="nav navbar-nav navbar-right" id="index-navbar-right">
<?php
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('mobile_show',true))echo '<li><a href="javascript:;" onclick="openmobile()"><i class="icon-tablet"></i> '.lang('手机版').'</a></li>';
if(getconfig('reim_show', true))echo '<li><a href="javascript:;" onclick="openreim(this)"><span><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>';
?>
<li id="indexuserl">
<a href="javascript:;">
@@ -150,5 +150,6 @@ echo 'body{--main-color:'.$maincolor.'}';
<script type="text/javascript" src="js/option.js"></script><!--数据选项-->
<script type="text/javascript" src="web/res/js/notify.js"></script><!--通知提醒插件-->
<script type="text/javascript" src="mode/plugin/jquery-rockmodels.js"></script><!--弹出提示插件-->
<script type="text/javascript" src="js/lang.js"></script><!--语言包-->
</body>
</html>

View File

@@ -112,6 +112,7 @@ class flowClassAction extends Action
}
}
$rows['tables']= $tabs;
if($cans['where'])$rows['where'] = htmlspecialchars_decode($cans['where']);
return array(
'rows' => $rows
);
@@ -167,8 +168,9 @@ PRIMARY KEY (`id`),KEY `mid` (`mid`)
$addsts[] = $tabsas;
}
}
$noarray = array('menu','flow_set','flow_element','flow_menu','flow_bill','flow_extent','flow_where');
if(isempt($tab))return;
if(in_array($tab, $noarray))return;
if(!$alltabls)$alltabls = $this->db->getalltable();
if($isflow==0){
if(!in_array(''.PREFIX.''.$tab.'', $alltabls)){
@@ -1377,6 +1379,7 @@ class mode_'.$modenum.'ClassAction extends inputAction{
$file = '';
$hurs = $this->getfiles();
$hurs[] = ''.P.'/flow/page/rock_page_{bh}.php';
$hurs[] = ''.P.'/flow/page/rock_page_{bh}_script.php';
foreach($rows as $k=>$rs){
$ids.=','.$rs['id'].'';
$table.=','.$rs['table'].'';

View File

@@ -2,7 +2,7 @@
<script >
$(document).ready(function(){
var a = $('#view_{rand}').bootstable({
tablename:'im_group',where:'and type=2',celleditor:true,
tablename:'im_group',where:'and type=2',celleditor:(!ISDEMO),
modenum:'yingyong',storeafteraction:'yingyongafter',storebeforeaction:'yingyongbefore',modedir:'{mode}:{dir}',
columns:[{
text:'图标',dataIndex:'face',align:'left',renderer:function(v,d){

View File

@@ -17,4 +17,17 @@ class agent_custfinaClassModel extends agentModel
return $rows;
}
public function gettotal()
{
$stotal = $this->getwdtotal($this->adminid);
$titles = '';
return array('stotal'=>$stotal,'titles'=> $titles);
}
private function getwdtotal($uid)
{
$where = '`uid`='.$uid.' and `type`=0 and `ispay`=0';
$stotal = m('custfina')->rows($where);
return $stotal;
}
}

View File

@@ -18,4 +18,17 @@ class agent_custfkdClassModel extends agentModel
return $rows;
}
public function gettotal()
{
$stotal = $this->getwdtotal($this->adminid);
$titles = '';
return array('stotal'=>$stotal,'titles'=> $titles);
}
private function getwdtotal($uid)
{
$where = '`uid`='.$uid.' and `type`=1 and `ispay`=0';
$stotal = m('custfina')->rows($where);
return $stotal;
}
}

View File

@@ -90,7 +90,7 @@ class finaClassModel extends Model
$arr = array();
foreach($rows as $k=>$rs){
$name = $rs['name'];
if(!isempt($rs['banknum']))$name.='(**'.substr($rs['banknum'],-4).')';
if(!isempt($rs['banknum']))$name.='(**'.mb_substr($rs['banknum'],-4).')';
$arr[] = array(
'value' => $rs['id'],
'name' => $name,

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,77 @@
<?php
//表单元素管理
class flow_flowelementClassModel extends flowModel
{
protected $flowcompanyidfieds = 'none';
public function iseditqx()
{
if($this->adminid==1)return true;
return parent::iseditqx();
}
public function isdeleteqx()
{
if($this->adminid==1)return true;
return parent::isdeleteqx();
}
public function isaligndata()
{
$arr[] = array('value'=>'0','name'=>'居中');
$arr[] = array('value'=>'1','name'=>'居左');
$arr[] = array('value'=>'2','name'=>'居右');
return $arr;
}
public function iseditlxdata()
{
$arr[] = array('value'=>'0','name'=>'不可编辑');
$arr[] = array('value'=>'1','name'=>'所有人');
$arr[] = array('value'=>'2','name'=>'仅管理员');
$arr[] = array('value'=>'3','name'=>'仅admin');
return $arr;
}
public $checkarr = array('islu','isbt','iszs','islb','ispx','issou','isonly','isdr');
public function flowrsreplace($rs,$lx=0)
{
if($rs['iszb']=='0'){
$rs['iszb'] = '<font color=#ff6600>主表</font>';
}else{
$rs['iszb'] = '第'.$rs['iszb'].'个子表';
}
$rs['isalign'] = $this->rock->valtoname($this->isaligndata(), $rs['isalign']);
if($rs['iseditlx']=='0'){
$rs['iseditlx'] = '';
}else{
$rs['iseditlx'] = $this->rock->valtoname($this->iseditlxdata(), $rs['iseditlx']);
}
/*
if($lx==0)foreach($this->checkarr as $fid){
if(isset($rs[$fid])){
if($rs[$fid]=='1'){
$rs[$fid]='√';
}else{
$rs[$fid]='';
}
}
}
*/
return $rs;
}
public function flowbillwhere($uid, $lx)
{
$where = 'and 1=2';
$mkid = (int)$this->rock->post('mkid','0');
if($mkid>0)$where='and `mid`='.$mkid.'';
return array(
'order' => '`iszb`,`sort`',
'where' => $where
);
}
}

View File

@@ -0,0 +1,52 @@
<?php
//菜单管理
class flow_flowmenuClassModel extends flowModel
{
protected $flowcompanyidfieds = 'none';
public function iseditqx()
{
if($this->adminid==1)return true;
return parent::iseditqx();
}
public function isdeleteqx()
{
if(getconfig('systype')=='demo')return false;
if($this->adminid==1)return true;
return parent::isdeleteqx();
}
public function flowdeletebillbefore($sm)
{
if($this->rows('`pid`='.$this->id.'')>0)return '有下级菜单不能删除';
}
public function flowbillwhere($uid, $lx)
{
$where = '';
$pid = (int)$this->rock->post('pid','0');
$where='and `pid`='.$pid.'';
if($pid>0){
$pids = $pid;
$arows= $this->getall('`pid`='.$pid.'');
foreach($arows as $k=>$rs)$pids.=','.$rs['id'].'';
$where=' and (`id`='.$pid.' or `pid`='.$pid.' or `pid` in(select `id` from `[Q]menu` where `pid` in('.$pid.')))';
}
return array(
'order' => '`sort`',
'where' => $where
);
}
//下级需要验证,那上级也必须验证的
private function updatepirss()
{
$rows = $this->db->getall('select `pid` from `[Q]menu` where `pid`>0 and `ispir`=1 group by `pid`');
$sid = '0';
foreach($rows as $k=>$rs)$sid.=','.$rs['pid'].'';
if($sid!='')m('menu')->update('`ispir`=1', "`id` in($sid)");
}
}

View File

@@ -0,0 +1,87 @@
<?php
//流程模块列表
class flow_flowsetClassModel extends flowModel
{
protected $flowcompanyidfieds = 'none';
public $modedata = array();
public function initModel()
{
$this->modedata = array('','顺序流程','顺序前置流程','自由流程','选择流程','自定义流程');
}
public function iseditqx()
{
if(getconfig('systype')=='demo')return false;
if($this->adminid==1)return true;
return parent::iseditqx();
}
public function isdeleteqx()
{
if(getconfig('systype')=='demo')return false;
if($this->rs['type']=='系统')return false;
if($this->adminid==1)return true;
return parent::isdeleteqx();
}
public function flowmodedata()
{
$arr[] = array('value'=>'0','name'=>'无流程');
$arr[] = array('value'=>'1','name'=>'顺序流程(按照预设好的步骤一步一步审核)');
$arr[] = array('value'=>'2','name'=>'顺序前置流程(出现重复人审核自动跳过)');
if($this->isshouquan()){
$arr[] = array('value'=>'3','name'=>'自由流程(每步都需要由申请人指定哪个步骤)');
$arr[] = array('value'=>'4','name'=>'选择流程(当下一步出现多步骤需要指定哪个步骤)');
$arr[] = array('value'=>'5','name'=>'自定义流程(由申请人自己定义审批人员)');
}
return $arr;
}
public function isflowlxdata()
{
$arr[] = array('value'=>'0','name'=>'在原来流程上');
$arr[] = array('value'=>'1','name'=>'重头走审批');
return $arr;
}
public function iscsdata()
{
$arr[] = array('value'=>'0','name'=>'不开启');
$arr[] = array('value'=>'1','name'=>'开启(可选抄送对象)');
$arr[] = array('value'=>'2','name'=>'开启(必须选择抄送对象)');
return $arr;
}
public function lbztxsdata()
{
$arr[] = array('value'=>'0','name'=>'默认');
$arr[] = array('value'=>'1','name'=>'必须显示');
$arr[] = array('value'=>'2','name'=>'不要显示');
return $arr;
}
private function isshouquan()
{
$key = getconfig('authorkey');
if(!isempt($key) && $this->rock->isjm($key)){
return true;
}else{
return false;
}
}
public function flowrsreplace($rs,$lx=0)
{
if($rs['isflow']==0){
$rs['isflow']='';
}else{
$rs['isflow']= arrvalue($this->modedata, $rs['isflow']);
}
$rs['isflowlx'] = $this->rock->valtoname($this->isflowlxdata(), $rs['isflowlx']);
$rs['iscs'] = $this->rock->valtoname($this->iscsdata(), $rs['iscs']);
$rs['lbztxs'] = $this->rock->valtoname($this->lbztxsdata(), $rs['lbztxs']);
return $rs;
}
}

View File

@@ -12,6 +12,7 @@ class modeClassModel extends Model
$arr = $this->getall($where,'`id`,`num`,`name`,`table`,`type`,`isflow`,`status`','sort');
$typea = array();
foreach($arr as $k=>$rs){
if(LANG!='zh-CN')$rs['name'] = lang($rs['name'],'mode');
$arr[$k]['name'] = ''.$rs['id'].'.'.$rs['name'].'('.$rs['num'].')';
$typea[$rs['type']][] = $arr[$k];
}
@@ -33,6 +34,10 @@ class modeClassModel extends Model
{
$where = m('admin')->getjoinstr('receid', $uid);
$arr = $this->getall("`status`=1 and `type`<>'系统' $sww $where",'`id`,`num`,`name`,`table`,`type`,`isflow`,`isscl`','`sort`');
if(LANG!='zh-CN')foreach($arr as $k=>$rs){
$arr[$k]['name'] = lang($rs['name'],'mode');
$arr[$k]['type'] = lang($rs['type'],'mode');
}
return $arr;
}
@@ -42,6 +47,10 @@ class modeClassModel extends Model
if($whe!='')$where = $whe;
if($uid>0)$where = m('admin')->getjoinstr('receid', $uid);
$arr = $this->getall('status=1 and isflow>0 '.$where.'','`id`,`name`,`type`','sort');
if(LANG!='zh-CN')foreach($arr as $k=>$rs){
$arr[$k]['name'] = lang($rs['name'],'mode');
$arr[$k]['type'] = lang($rs['type'],'mode');
}
return $arr;
}
@@ -78,14 +87,16 @@ class modeClassModel extends Model
$showzt = false;
$farr[] = array('name'=>arrvalue($chufarr, 'base_name', '申请人'),'fields'=>'base_name');
$farr[] = array('name'=>arrvalue($chufarr, 'base_deptname', '申请人部门'),'fields'=>'base_deptname');
$farr[] = array('name'=>arrvalue($chufarr, 'base_sericnum', '单号'),'fields'=>'sericnum');
$farrs = m('flow_element')->getall("`mid`='$modeid'",'`fields`,`name`,`fieldstype`,`ispx`,`isalign`,`iszb`,`islb`,`issou`,`data`,`width`','`iszb`,`sort`');
$farr[] = array('name'=>arrvalue($chufarr, 'base_name', lang('申请人')),'fields'=>'base_name');
$farr[] = array('name'=>arrvalue($chufarr, 'base_deptname', lang('申请人部门')),'fields'=>'base_deptname');
$farr[] = array('name'=>arrvalue($chufarr, 'base_sericnum', lang('单号')),'fields'=>'sericnum');
$farrs = m('flow_element')->getall("`mid`='$modeid'",'`fields`,`name`,`fieldstype`,`ispx`,`isalign`,`iszb`,`islb`,`issou`,`data`,`width`,`iseditlx`','`iszb`,`sort`');
$inpub = c('input');
$inpub->flow = $flow;
$zbarr = $zbnamea = array();
if(!isempt($mors['names']))$zbnamea = explode(',', $mors['names']);
foreach($farrs as $k=>$rs){
if(LANG!='zh-CN')$rs['name'] = $flow->lang($rs['name']);
if($glx==1 && $rs['issou']=='1' && ($rs['fieldstype']=='select' || $rs['fieldstype']=='rockcombo')){
$rs['store'] =$inpub->getdatastore($rs['fieldstype'],$inrs,$rs['data']);
}
@@ -112,7 +123,7 @@ class modeClassModel extends Model
//$isdaoru = m('flow_element')->rows("`mid`='$modeid' and `isdr`=1");
$drstrbtn = '';
//if($isdaoru>0){
$drstrbtn = "<span style=\"display:none\" id=\"daoruspan_{rand}\"><button class=\"btn btn-default\" click=\"daoru,1\" type=\"button\">导入</button>&nbsp;&nbsp;&nbsp;</span>";
$drstrbtn = "<span style=\"display:none\" id=\"daoruspan_{rand}\"><button class=\"btn btn-default\" click=\"daoru,1\" type=\"button\"><?=lang('导入')?></button>&nbsp;&nbsp;&nbsp;</span>";
//}
//读取流程模块的条件
@@ -123,19 +134,19 @@ class modeClassModel extends Model
if($lbztxs==2)$showzt = false;
if($showzt){
$ztarr = $flow->getstatusarr();
$zthtml = '<td><select class="form-control" style="width:120px;border-left:0;border-radius:0;" id="selstatus_{rand}"><option value="">-全部状态-</option>';
$zthtml = '<td><select class="form-control" style="width:120px;border-left:0;border-radius:0;" id="selstatus_{rand}"><option value="">-<?=lang(\'全部\')?><?=lang(\'状态\')?>-</option>';
foreach($ztarr as $zt=>$ztv){
if($isflow==0 && $zt==23)continue;
$zthtml .= '<option style="color:'.arrvalue($ztv, 1).'" value="'.$zt.'">'.$ztv[0].'</option>';
$vals = str_replace('?','', $ztv[0]);
$zthtml .= '<option style="color:'.arrvalue($ztv, 1).'" value="'.$zt.'"><?=lang(\''.$vals.'\')?></option>';
}
$zthtml .= '</select></td>';
$zthtml = str_replace('?','', $zthtml);
}
$fselarr = array();
$bear = $this->db->getrows('[Q]option',"`num` like 'columns_".$num."_%'",'`num`,`value`');
foreach($bear as $k2=>$rs2)$fselarr[$rs2['num']]=$rs2['value'];
$placeholder= '关键字';
if($isflow>0)$placeholder= '关键字/申请人/单号';
$placeholder= '<?=lang(\'关键字\')?>';
if($isflow>0)$placeholder= '<?=lang(\'关键字\')?>/<?=lang(\'申请人\')?>/<?=lang(\'单号\')?>';
if($glx==1){
return array(
'isflow' => $isflow,
@@ -144,31 +155,31 @@ class modeClassModel extends Model
'fieldzarr' => $zbarr,
'fieldsselarr' => $fselarr,
'chufarr' => $chufarr,
'modename' => $name,
'modename' => $flow->lang($name),
'modetable'=> $this->rock->jm->encrypt($mors['table']),
'modenames' => $this->rock->repempt($mors['names']),
'modenames' => $flow->lang($this->rock->repempt($mors['names'])),
);
}
$html= "".$hstart."
<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 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> <?=lang('新增')?></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=\"".$placeholder."\">
<td><select class=\"form-control\" style=\"width:60px;border-radius:0px;border-left:0;padding:0 2px\" id=\"like_{rand}\"><option value=\"0\"><?=lang('包含')?></option><option value=\"1\"><?=lang('等于')?></option><option value=\"2\"><?=lang('大于')?><?=lang('等于')?></option><option value=\"3\"><?=lang('小于')?><?=lang('等于')?></option><option value=\"4\"><?=lang('不包含')?></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=\"\">-<?=lang('请选择')?>-</option></select><input class=\"form-control\" style=\"width:130px;border-radius:0;border-left:0;padding:0 5px\" id=\"keygj_{rand}\" placeholder=\"<?=lang('关键字')?>\"><input class=\"form-control\" style=\"width:130px;border-radius:0;border-left:0;padding:0 5px;display:none;\" id=\"key_{rand}\" placeholder=\"".$placeholder."\">
</td>
$zthtml
<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>
<button style=\"border-right:0;border-radius:0;border-left:0\" class=\"btn btn-default\" click=\"searchbtn\" type=\"button\"><?=lang('搜索')?></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\">$whtml</td>
<td align=\"right\" id=\"tdright_{rand}\" nowrap>
".$drstrbtn."<button class=\"btn btn-default\" style=\"display:none\" id=\"daobtn_{rand}\" disabled click=\"daochu\" type=\"button\">导出 <i class=\"icon-angle-down\"></i></button>
".$drstrbtn."<button class=\"btn btn-default\" style=\"display:none\" id=\"daobtn_{rand}\" disabled click=\"daochu\" type=\"button\"><?=lang('导出')?> <i class=\"icon-angle-down\"></i></button>
</td>
</tr>
</table>

View File

@@ -369,7 +369,7 @@ return array(
if(getconfig('systype')=='demo')return '演示不要改';
$stype = (int)$this->post('stype','0');
$msg = 'ok';
if($stype==0)$msg = $this->saveconfig('title,imgcompress,watertype,video_bool,flowchehuitime,saasmode,hoemtimeout,usercache,xiangrecord,beianhao',',video_bool,');
if($stype==0)$msg = $this->saveconfig('title,imgcompress,watertype,video_bool,flowchehuitime,saasmode,hoemtimeout,usercache,xiangrecord,beianhao,locallang',',video_bool,');
return $msg;
}

View File

@@ -109,6 +109,9 @@ $(document).ready(function(){
}
o1.disabled=false;
},'post');
},
shengclang:function(){
js.open('?m=cogini&a=langcog&d=system',900,600);
}
};
js.initbtn(c);
@@ -175,6 +178,18 @@ $(document).ready(function(){
</td></tr>
<tr><td height="10"></td></tr>
<tr><td align="right" style="color:gray">系统语言:</td><td><select style="width:200px" name="locallang" class="form-control">
<?php
$arrd = c('lang')->getLocal();
foreach($arrd['arr'] as $k1=>$v1){
$sel = (LANG == $v1)?'selected':'';
echo '<option value="'.$v1.'" '.$sel.'>'.$arrd['arrcn'][$k1].'('.$v1.')</option>';
}
?>
</select>
<button click="shengclang" style="display:" class="btn btn-default btn-xs">语言包管理</button></td></tr>
<tr><td height="10"></td></tr>
<tr>
<td align="right"></td>
<td align="left"><button click="savecog,0" class="btn btn-success" type="button"><i class="icon-save"></i>&nbsp;保存</button>&nbsp;<span id="msgview0_{rand}"></span>

View File

@@ -94,6 +94,9 @@ $(document).ready(function(){
},
setphpini:function(){
js.open('?m=cogini&a=phpini&d=system');
},
shengclang:function(){
js.open('?m=cogini&a=langcog&d=system',900,600);
}
};
js.initbtn(c);
@@ -134,7 +137,8 @@ $(document).ready(function(){
</tr>
<tr>
<td colspan="4" class="tdinput" ><div align="center" style="line-height:30px">系统版本:<b id="benquan_{rand}" style="font-size:20px"><font color=red>开源版</font></b><input id="isshou_{rand}" type="hidden" class="form-control">&nbsp;&nbsp;<button click="auther" class="btn btn-success btn-xs">系统签授</button>&nbsp;&nbsp;<button click="moreset" style="display:" class="btn btn-default btn-xs">更多设置</button></div></td>
<td colspan="4" class="tdinput" ><div align="center" style="line-height:30px">系统版本:<b id="benquan_{rand}" style="font-size:20px"><font color=red>开源版</font></b><input id="isshou_{rand}" type="hidden" class="form-control">&nbsp;&nbsp;<button click="auther" class="btn btn-success btn-xs">系统签授</button>&nbsp;&nbsp;<button click="moreset" style="display:" class="btn btn-default btn-xs">更多设置</button>
</div></td>
</tr>
<tr>
@@ -151,7 +155,7 @@ $(document).ready(function(){
<td align="right"><a target="_blank" href="<?=URLY?>">信呼官网</a>key</td>
<td class="tdinput"><input id="xinhukey_{rand}" class="form-control">
<font color="#888888">用于在线升级使用,看<a target="_blank" href="<?=URLY?>view_xhkey.html">[帮助]</a>获取</font></td>
<font color="#888888">用于在线升级使用,看<a target="_blank" href="<?=URLY?>view_xhkey.html">[帮助]</a>获取</font>,<a href="javascript:;" onclick="$.imgview({url:'http://www.rockoa.com/images/keyhelp.png'})">[怎么获取?]</a></td>
</tr>
<tr>
@@ -186,7 +190,9 @@ $(document).ready(function(){
</td>
<td align="right">php.ini设置</td>
<td class="tdinput"><button click="setphpini" class="btn btn-default" type="button">去设置php.ini</button>&nbsp;<font color=#888888>设置上传大小</font></td>
<td class="tdinput"><button click="setphpini" class="btn btn-default" type="button">去设置php.ini</button>&nbsp;<font color=#888888>设置上传大小</font>
<button click="shengclang" style="display:" class="btn btn-default btn-xs">语言包管理</button>
</td>
</tr>

View File

@@ -53,4 +53,15 @@ class coginiClassAction extends Action
}
return '';
}
public $publicfile = 'include/langlocal/langtxt/';
public function langcogAction()
{
return '授权版可用';
}
}

View File

@@ -90,4 +90,28 @@ class menuClassAction extends Action
m('menu')->delete($id);
return returnsuccess();
}
public function createmenuAjax()
{
$pid = (int)$this->get('menuid','0');
$where =' and (`id`='.$pid.' or `pid`='.$pid.' or `pid` in(select `id` from `[Q]menu` where `pid`='.$pid.'))';
$rows = $this->db->getall('select *,(select count(1)from `[Q]menu` where `pid`=a.id '.$where.')stotal from `[Q]menu` a where 1=1 '.$where.' order by pid,`sort`');
$str = '';
$ors = m('menu')->getone($pid);
foreach($rows as $k=>$rs){
if($k>0)$str.=''.chr(10).'ROCKSPLIT'.chr(10).'';
$str.="INSERT INTO `[Q]menu` (`id`,`name`,`pid`,`sort`,`url`,`num`,`icons`,`type`,`ispir`) select '".$rs['id']."','".$rs['name']."','".$rs['pid']."','".$rs['sort']."',".$this->seveslst($rs['url']).",".$this->seveslst($rs['num']).",".$this->seveslst($rs['icons']).",'".$rs['type']."','".$rs['ispir']."' from `[Q]menu` WHERE `id`=1 and NOT EXISTS(SELECT 1 FROM `[Q]menu` where `id`='".$rs['id']."');";
//$str.=''.chr(10).'ROCKSPLIT'.chr(10).'';
//$str.="update `[Q]menu` set `name`='".$rs['name']."',`status`=1,`url`=".$this->seveslst($rs['url']).",`pid`='".$rs['pid']."',`sort`='".$rs['sort']."' where `id`='".$rs['id']."';";
}
$bh = $ors['num'];
if(isempt($bh))$bh=$ors['id'];
$num = 'menu'.$bh.'';
$this->rock->createtxt('upload/data/'.$num.'.txt', $str);
}
public function seveslst($v)
{
if($v===null)return 'null';
return "'".$v."'";
}
}

View File

@@ -5,7 +5,7 @@ $(document).ready(function(){
tablename:'menu',url:js.getajaxurl('data','{mode}','{dir}'),method:'get',loadtree:false,
tree:true,celleditor:!ISDEMO,bodyStyle:'height:'+(viewheight-70)+'px;overflow:auto',
columns:[{
text:'菜单名称',dataIndex:'name',align:'left',editor:true,renderstyle:function(v,d){
text:'名称',dataIndex:'name',align:'left',editor:true,renderstyle:function(v,d){
return 'min-width:220px';
}
},{
@@ -61,6 +61,7 @@ $(document).ready(function(){
var c = {
changed:function(){
a.setparams({pid:this.value},true);
if(get('editss_{rand}'))get('editss_{rand}').disabled = (this.value=='0')
},
del:function(){
a.del({url:js.getajaxurl('delmenu','{mode}','{dir}')});
@@ -75,30 +76,30 @@ $(document).ready(function(){
clickwin:function(o1,lx){
if(ISDEMO){js.msg('success','演示站点禁止操作');return;}
var h = $.bootsform({
title:'菜单',height:500,width:400,
title:lang('菜单'),height:500,width:400,
tablename:'menu',isedit:lx,
params:{int_filestype:'ispir,status,sort,pid,ishs'},
submitfields:'num,name,url,icons,ispir,status,sort,pid,ishs,color',
items:[{
labelText:'编号',name:'num',repEmpty:true
labelText:lang('编号'),name:'num',repEmpty:true
},{
labelText:'菜单名称',name:'name',required:true
labelText:lang('菜单')+lang('名称'),name:'name',required:true
},{
labelText:'URL地址',name:'url',repEmpty:true
labelText:'URL'+lang('地址')+'',name:'url',repEmpty:true
},{
labelText:'图标',name:'icons',repEmpty:true
labelText:lang('图标'),name:'icons',repEmpty:true
},{
labelText:'上级',name:'pid',required:true,value:'0',type:'number'
labelText:''+lang('上级')+'',name:'pid',required:true,value:'0',type:'number'
},{
name:'status',labelBox:'启用',type:'checkbox',checked:true
name:'status',labelBox:lang('启用'),type:'checkbox',checked:true
},{
name:'ispir',labelBox:'验证(未√就是任何人可使用菜单)',type:'checkbox',checked:true
},{
name:'ishs',labelBox:'显示在首页',type:'checkbox'
name:'ishs',labelBox:lang('显示在首页'),type:'checkbox'
},{
labelText:'颜色',name:'color',repEmpty:true
labelText:lang('颜色'),name:'color',repEmpty:true
},{
labelText:'序号',name:'sort',type:'number',value:'0'
labelText:lang('排序'),name:'sort',type:'number',value:'0'
}],
success:function(){
a.reload();
@@ -107,6 +108,12 @@ $(document).ready(function(){
if(lx==1)h.setValues(a.changedata);
h.getField('name').focus();
if(lx==2)h.setValue('pid', a.changedata.id);
},
createsql:function(){
js.loading('创建中...');
js.ajax(js.getajaxurl('createmenu','{mode}','{dir}'),{menuid:get('soupid_{rand}').value},function(){
js.msgok('创建成功');
});
}
};
js.initbtn(c);
@@ -121,10 +128,10 @@ $(document).ready(function(){
<td nowrap>
<button class="btn btn-primary" click="clickwin,0" type="button"><i class="icon-plus"></i> 新增顶级</button> &nbsp;
<button class="btn btn-success" click="clickwin,2" id="down_{rand}" disabled type="button"><i class="icon-plus"></i> 新增下级</button>&nbsp;
<button class="btn btn-default" click="reload" type="button">刷新</button>
<button class="btn btn-default" click="reload" type="button"><?=lang('刷新')?></button>
</td>
<td style="padding-left:10px">
<td style="padding-left:10px" nowrap>
<select class="form-control" style="width:150px" id="soupid_{rand}" >
<option value="0">-所有的菜单-</option>
</select>
@@ -135,12 +142,17 @@ $(document).ready(function(){
<button class="btn btn-default" click="search" type="button"><i class="icon-search"></i></button>
</span>
</div>-->
<?php
if(getconfig('systype')=='dev')echo ' &nbsp; <button class="btn btn-default" id="editss_{rand}" click="createsql" disabled type="button">生成菜单文件</button>';
?>
</td>
<td width="80%"></td>
<td align="right" nowrap>
<button class="btn btn-danger" id="del_{rand}" click="del" disabled type="button"><i class="icon-trash"></i> 删除</button> &nbsp;
<button class="btn btn-info" id="edit_{rand}" click="clickwin,1" disabled type="button"><i class="icon-edit"></i> 编辑 </button>
<button class="btn btn-danger" id="del_{rand}" click="del" disabled type="button"><i class="icon-trash"></i> <?=lang('删除')?></button> &nbsp;
<button class="btn btn-info" id="edit_{rand}" click="clickwin,1" disabled type="button"><i class="icon-edit"></i> <?=lang('编辑')?> </button>
</td>
</tr>
</table>