发布v2.5.7版本
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
<?php
|
||||
//版本2.5.6的
|
||||
return '2.5.6';
|
||||
//版本2.5.7的版本
|
||||
return '2.5.7';
|
||||
@@ -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> ';
|
||||
@@ -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';
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* 语言包(英文),需要自行翻译
|
||||
*/
|
||||
class lang_en_USChajian extends Chajian{
|
||||
|
||||
|
||||
public function getLang()
|
||||
{
|
||||
$da = array(
|
||||
|
||||
);
|
||||
return $da;
|
||||
}
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* 语言包
|
||||
*/
|
||||
class lang_zh_CNChajian extends Chajian{
|
||||
|
||||
|
||||
public function getLang()
|
||||
{
|
||||
$da = array(
|
||||
|
||||
);
|
||||
return $da;
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
2
include/langlocal/langphp/lang.php
Normal file
2
include/langlocal/langphp/lang.php
Normal 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('','經我處理',''));
|
||||
2
include/langlocal/langphp/langbase.php
Normal file
2
include/langlocal/langphp/langbase.php
Normal file
@@ -0,0 +1,2 @@
|
||||
<?php
|
||||
return array('notcolumns'=>array('列表页没设置好,数据无法显示,没有可切换选择卡,去看帮助设置','列表頁沒設置好,數據無法顯示,沒友可切换選擇卡,去看幫助設置',''));
|
||||
2
include/langlocal/langphp/langmenu.php
Normal file
2
include/langlocal/langphp/langmenu.php
Normal file
@@ -0,0 +1,2 @@
|
||||
<?php
|
||||
return array('个人办公'=>array('','個人辦公',''),'任务资源'=>array('','任務資塬',''),'学校'=>array('','學校',''));
|
||||
31
include/langlocal/langtxt/lang.txt
Normal file
31
include/langlocal/langtxt/lang.txt
Normal 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
|
||||
授权查看|授權查看|
|
||||
经我处理|經我處理|
|
||||
2
include/langlocal/langtxt/lang_onlyjs.txt
Normal file
2
include/langlocal/langtxt/lang_onlyjs.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
编辑|編輯|edit
|
||||
删除|刪除|delete
|
||||
1
include/langlocal/langtxt/langbase_onlyphp.txt
Normal file
1
include/langlocal/langtxt/langbase_onlyphp.txt
Normal file
@@ -0,0 +1 @@
|
||||
notcolumns::列表页没设置好,数据无法显示,没有可切换选择卡,去看帮助设置|列表頁沒設置好,數據無法顯示,沒友可切换選擇卡,去看幫助設置|
|
||||
3
include/langlocal/langtxt/langmenu_onlyphp.txt
Normal file
3
include/langlocal/langtxt/langmenu_onlyphp.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
个人办公|個人辦公|
|
||||
任务资源|任務資塬|
|
||||
学校|學校|
|
||||
@@ -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;
|
||||
}
|
||||
4
js/js.js
4
js/js.js
@@ -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
9
js/lang.js
Normal 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;
|
||||
}
|
||||
22
web/res/js/jquery-changeuser.js
vendored
22
web/res/js/jquery-changeuser.js
vendored
@@ -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;
|
||||
|
||||
@@ -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){
|
||||
|
||||
56
webmain/flow/input/inputjs/mode_flowelement.js
Normal file
56
webmain/flow/input/inputjs/mode_flowelement.js
Normal 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','元素类型不是选择人员部门的');
|
||||
}
|
||||
}
|
||||
4
webmain/flow/input/inputjs/mode_flowmenu.js
Normal file
4
webmain/flow/input/inputjs/mode_flowmenu.js
Normal file
@@ -0,0 +1,4 @@
|
||||
//流程模块【flowmenu.菜单管理】下录入页面自定义js页面,初始函数
|
||||
function initbodys(){
|
||||
|
||||
}
|
||||
4
webmain/flow/input/inputjs/mode_flowset.js
Normal file
4
webmain/flow/input/inputjs/mode_flowset.js
Normal file
@@ -0,0 +1,4 @@
|
||||
//流程模块【flowset.流程模块列表】下录入页面自定义js页面,初始函数
|
||||
function initbodys(){
|
||||
|
||||
}
|
||||
114
webmain/flow/input/mode_flowelementAction.php
Normal file
114
webmain/flow/input/mode_flowelementAction.php
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
52
webmain/flow/input/mode_flowmenuAction.php
Normal file
52
webmain/flow/input/mode_flowmenuAction.php
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
40
webmain/flow/input/mode_flowsetAction.php
Normal file
40
webmain/flow/input/mode_flowsetAction.php
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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>';
|
||||
|
||||
@@ -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>';
|
||||
|
||||
1
webmain/flow/page/input_flowelement.html
Normal file
1
webmain/flow/page/input_flowelement.html
Normal file
@@ -0,0 +1 @@
|
||||
<table width="100%" border="0" class="ke-zeroborder"><tbody><tr class="autoyijianview"><td height="34" width="15%" align="right" class="ys1">*^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>
|
||||
1
webmain/flow/page/input_flowmenu.html
Normal file
1
webmain/flow/page/input_flowmenu.html
Normal file
@@ -0,0 +1 @@
|
||||
<table width="100%" border="0" class="ke-zeroborder"><tbody><tr class="autoyijianview"><td height="34" width="15%" align="right" class="ys1">*^name^</td><td width="35%" class="ys2">{name}</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>
|
||||
1
webmain/flow/page/input_flowset.html
Normal file
1
webmain/flow/page/input_flowset.html
Normal 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>
|
||||
@@ -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> <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} <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>
|
||||
@@ -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+' ');
|
||||
},
|
||||
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(){
|
||||
|
||||
@@ -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> </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> </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>
|
||||
|
||||
@@ -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> </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> </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>
|
||||
|
||||
102
webmain/flow/page/rock_page_flowelement_script.php
Normal file
102
webmain/flow/page/rock_page_flowelement_script.php
Normal 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'});
|
||||
}
|
||||
58
webmain/flow/page/rock_page_flowmenu_script.php
Normal file
58
webmain/flow/page/rock_page_flowmenu_script.php
Normal 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;
|
||||
}
|
||||
171
webmain/flow/page/rock_page_flowset_script.php
Normal file
171
webmain/flow/page/rock_page_flowset_script.php
Normal 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)
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -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> </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> </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>
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
28
webmain/flow/page/view_flowset_0.html
Normal file
28
webmain/flow/page/view_flowset_0.html
Normal 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>
|
||||
@@ -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()">更多>></a>
|
||||
<i class="icon-align-left"></i> <?=lang($itemnowname)?>(<span id="myapplylisttotal">0</span>)
|
||||
<a style="float:right;TEXT-DECORATION:none" onclick="moemyapplylist()"><?=lang('更多')?>>></a>
|
||||
</div>
|
||||
</div>
|
||||
@@ -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>
|
||||
|
||||
@@ -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('');
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -209,6 +209,7 @@ class indexClassAction extends Action{
|
||||
}else{
|
||||
$rs['stotal'] = 0;
|
||||
}
|
||||
$rs['name'] = lang($rs['name'],'menu');
|
||||
$rows[] = $rs;
|
||||
}
|
||||
return $rows;
|
||||
|
||||
@@ -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>
|
||||
@@ -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'].'';
|
||||
|
||||
@@ -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){
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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
77
webmain/model/flow/flowelementModel.php
Normal file
77
webmain/model/flow/flowelementModel.php
Normal 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
|
||||
);
|
||||
}
|
||||
}
|
||||
52
webmain/model/flow/flowmenuModel.php
Normal file
52
webmain/model/flow/flowmenuModel.php
Normal 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)");
|
||||
}
|
||||
}
|
||||
87
webmain/model/flow/flowsetModel.php
Normal file
87
webmain/model/flow/flowsetModel.php
Normal 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;
|
||||
}
|
||||
}
|
||||
@@ -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> </span>";
|
||||
$drstrbtn = "<span style=\"display:none\" id=\"daoruspan_{rand}\"><button class=\"btn btn-default\" click=\"daoru,1\" type=\"button\"><?=lang('导入')?></button> </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>
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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> 保存</button> <span id="msgview0_{rand}"></span>
|
||||
|
||||
@@ -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"> <button click="auther" class="btn btn-success btn-xs">系统签授</button> <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"> <button click="auther" class="btn btn-success btn-xs">系统签授</button> <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> <font color=#888888>设置上传大小</font></td>
|
||||
<td class="tdinput"><button click="setphpini" class="btn btn-default" type="button">去设置php.ini</button> <font color=#888888>设置上传大小</font>
|
||||
<button click="shengclang" style="display:" class="btn btn-default btn-xs">语言包管理</button>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -53,4 +53,15 @@ class coginiClassAction extends Action
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
|
||||
|
||||
public $publicfile = 'include/langlocal/langtxt/';
|
||||
public function langcogAction()
|
||||
{
|
||||
|
||||
return '授权版可用';
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -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."'";
|
||||
}
|
||||
}
|
||||
@@ -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:'上级ID',name:'pid',required:true,value:'0',type:'number'
|
||||
labelText:''+lang('上级')+'ID',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>
|
||||
<button class="btn btn-success" click="clickwin,2" id="down_{rand}" disabled type="button"><i class="icon-plus"></i> 新增下级</button>
|
||||
<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 ' <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>
|
||||
<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>
|
||||
<button class="btn btn-info" id="edit_{rand}" click="clickwin,1" disabled type="button"><i class="icon-edit"></i> <?=lang('编辑')?> </button>
|
||||
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
Reference in New Issue
Block a user