信呼v2.5.1版本

This commit is contained in:
雨中磐石
2022-11-17 16:20:57 +08:00
parent 44100a4ab9
commit f4d68700c7
65 changed files with 1642 additions and 245 deletions

View File

@@ -255,6 +255,7 @@ class inputAction extends Action
//保存后处理
$this->saveafter($table,$this->getsavenarr($uaarr, $oldrs), $id, $addbo);
if($addbo)c('cache')->del('tempdata_'.$modenum.'_'.$this->adminid.'');//删除暂存
//保存修改记录
$editcont = '';
@@ -675,6 +676,8 @@ class inputAction extends Action
$otherfile = 'webmain/flow/input/tpl_input_luother_'.$this->ismobile.'.html';
if(!file_exists($otherfile))$otherfile = '';
$this->assign('otherfile', $otherfile);
$tempdata = ($mid==0) ? c('cache')->get('tempdata_'.$num.'_'.$this->adminid.'') : '';
$this->assign('tempdata', $tempdata);
}
//2022-06-15添加分组显示
@@ -699,7 +702,7 @@ class inputAction extends Action
//多行子表内替换
private function pisubduolie($content, $modeid, $nameaas)
{
$fieldarr = m('flow_element')->getrows("`mid`='$modeid' and `iszb`>0",'fields,fieldstype,name,dev,data,isbt,islu,attr,iszb,gongsi,lens','`sort`');
$fieldarr = m('flow_element')->getrows("`mid`='$modeid' and `iszb`>0",'*','`sort`');
if(!$fieldarr)return $content;
$this->fieldarr = array();
foreach($fieldarr as $k=>$rs){
@@ -1162,6 +1165,22 @@ class inputAction extends Action
}
return 'ok';
}
/**
* 暂存7天
*/
public function savezhanAjax()
{
$flownum = $this->post('flownum');
$contstr = $this->post('contstr');
$key = 'tempdata_'.$flownum.'_'.$this->adminid.'';
if($contstr){
c('cache')->set($key, $contstr, 3600*24*7);
}else{
c('cache')->del($key);
}
return returnsuccess();
}
}
class inputClassAction extends inputAction{}

View File

@@ -375,6 +375,8 @@ var c={
if(smid=='0'||smid==''){
isedit=1;
$('#AltSspan').show();
$('#Altzhan').show();
c.loadzhan();
c.initdatelx();
c.initinput();
initbodys(smid);
@@ -421,36 +423,9 @@ var c={
var da = a.data;
alldata= da;
js.setmsg();
var len = arr.length,i,fid,val,flx,ojb,j;
var len = arr.length,i,j;
data=da.data;
for(i=0;i<len;i++){
fid=arr[i].fields;
flx=arr[i].fieldstype;
if(arr[i].islu=='1' && arr[i].iszb=='0' && fid.indexOf('temp_')!=0){
val=da.data[fid];
if(val==null)val='';
if(flx=='checkboxall'){
ojb=$("input[name='"+fid+"[]']");
val=','+val+',';
for(j=0;j<ojb.length;j++){
if(val.indexOf(','+ojb[j].value+',')>-1)ojb[j].checked=true;
}
}else if(flx=='graph'){
if(form(fid))form(fid).value=val;
if(val)$('#graphview_'+fid+'').append('<div><img id="imgqianming_'+fid+'" src="'+val+'" height="90"></div>');
}else if(flx=='checkbox'){
form(fid).checked = (val=='1');
}else if(flx=='htmlediter' && this.editorobj[fid]){
this.editorobj[fid].html(val);
}else if(flx.substr(0,6)=='change'){
if(form(fid))form(fid).value=val;
fid = arr[i].data;
if(!isempt(fid)&&form(fid))form(fid).value=da.data[fid];
}else{
if(form(fid))form(fid).value=val;
}
}
}
for(i=0;i<len;i++)this.showvalue(arr[i],da.data);
isedit=da.isedit;
if(form('base_name'))form('base_name').value=da.user.name;
if(form('base_deptname'))form('base_deptname').value=da.user.deptname;
@@ -544,6 +519,7 @@ var c={
if(gongsistr.indexOf('AmountInWords')>-1)js.importjs('js/rmb.js');
if(gongsistr.indexOf('js.')>-1)js.importjs('js/jsrock.js');
}
this.tempkey = ''+moders.num+'tempdata';
},
getsubdata:function(i){
var d=[];
@@ -729,7 +705,95 @@ var c={
o.show();
o.prev().show();
},
savezhan:function(){
var d = js.getformdata();
var len = arr.length,i,fid;
for(i=0;i<len;i++){
if(arr[i].iszb!='0')continue;
fid = arr[i].fields;
if(arr[i].islu=='1' && arr[i].fieldstype=='htmlediter' && this.editorobj[fid]){
d[fid] = this.editorobj[fid].html();
}
}
for(i=0;i<this.subcount;i++)d['subdata'+i+''] = this.getsubdata(i);
this.savezhans(jm.base64encode(JSON.stringify(d)));
js.msgok('暂存保存成功');
},
savezhans:function(str){
if(!str)str='';
js.ajax(geturlact('savezhan'),{flownum:moders.num,contstr:str},function(ret){
if(!str){
js.msgok('暂存已删除');
js.reload();
}
}, 'post');
},
showvalue:function(fa,da){
var fid,flx,val,ojb,j,fb=[];
fid = fa.fields;
flx = fa.fieldstype;
if(fa.islu=='1' && fa.iszb=='0' && fid.indexOf('temp_')!=0){
val=da[fid];
if(val==null)val='';
fb.push(fid);
if(flx=='checkboxall'){
ojb=$("input[name='"+fid+"[]']");
val=','+val+',';
for(j=0;j<ojb.length;j++){
if(val.indexOf(','+ojb[j].value+',')>-1)ojb[j].checked=true;
}
}else if(flx=='graph'){
if(form(fid))form(fid).value=val;
if(val)$('#graphview_'+fid+'').append('<div><img id="imgqianming_'+fid+'" src="'+val+'" height="90"></div>');
}else if(flx=='checkbox'){
form(fid).checked = (val=='1');
}else if(flx=='htmlediter' && this.editorobj[fid]){
this.editorobj[fid].html(val);
}else if(flx.substr(0,6)=='change'){
if(form(fid))form(fid).value=val;
fid = fa.data;
if(!isempt(fid)&&form(fid)){
form(fid).value=da[fid];
fb.push(fid);
}
}else{
if(form(fid))form(fid).value=val;
}
}
return fb;
},
loadzhan:function(){
var dstr = tempdata;
if(dstr){
var da = js.decode(jm.base64decode(dstr));
c.loadzhanshow(da);
}
},
loadzhanshow:function(da){
var i,zn,j,sub,len;
for(i=0;i<this.subcount;i++){
sub = da['subdata'+i+''];
if(sub){
zn = sub.length;
for(j=0;j<zn;j++){
if(form('xuhao'+i+'_'+j+'')){
this.setrowdata(i,j, sub[j]);
}else{
this.insertrow(i,sub[j],true);
}
}
}
}
var len=arr.length,fda=['id'];
for(i=0;i<len;i++)fda= fda.concat(this.showvalue(arr[i],da));
for(i in da){
if(fda.indexOf(i)==-1 && i.indexOf('0_')==-1){
if(form(i))form(i).value = da[i];
}
}
js.msg('success','当前记录读取暂存的,<a href="javascript:;" onclick="c.savezhans()" class="zhu">[删除暂存]</a>', 10);
this.zhanbool = true;
},
//----强大公式计算函数处理start-----
inputblur:function(o1,zb){

View File

@@ -3,6 +3,7 @@
*/
var inputtwo={
onchangebefore:function(){},
selectdatadata:{}, //保存数据源
selectdata:function(s1,ced,fid,tit,zbis){
if(isedit==0)return;
@@ -144,7 +145,7 @@ var inputtwo={
}
this.initupssa[sna]=$.rockupload({
'inputfile':'filed_'+sna+'_inp',
'initremove':false,'uptype':uptp,
'initremove':false,'uptype':uptp,'formming':sna,
'urlparams':{'sysmodenum':modenum,'sysmid':mid},
'oparams':{sname:sna,snape:tsye},
'onsuccess':function(f,gstr){
@@ -186,6 +187,13 @@ var inputtwo={
}else if(tsye=='img'){
js.loading('上传中...');
}
},
onerror:function(estr){
c.upfbo = false;
js.msg('msg',estr);
},
onchangebefore:function(){
c.onchangebefore(this);
}
});
},
@@ -207,7 +215,7 @@ var inputtwo={
js.loading('等待上传完成...');
setTimeout("c.upimages('"+fid+"','"+fileid+"', true)",3000);
}else{
js.ajax(geturlact('upimagepath'),{fileid:fileid,fid:fid},function(ret){
js.ajax('api.php?m=login&a=upimagepath',{fileid:fileid,fid:fid},function(ret){
js.unloading();
var da = ret.data;
if(da.path)form(da.fid).value=da.path;
@@ -379,5 +387,69 @@ var inputtwo={
if(lx==0)obj.create();
if(lx==1)obj.imports();
if(lx==2)obj.clear();
},
//自动完成2022-10-30添加
autocompletearr:{},
autocomplete:function(o1,s1,id1,zb){
clearTimeout(this.autoctime);
this.autocompletea=[o1,s1,id1,zb];
if(this.nowinpvle == o1.value && get('completelist'))return;
if(this.autocompletearr[id1]){
this.autoctime = setTimeout(function(){c.autocompleteshow(o1,c.autocompletearr[id1]);},10);
return;
}
var a1 = s1.split(',');
var gcan = {'act':a1[0],'actstr':jm.base64encode(s1),'acttyle':'act','sysmodenum':modenum,'sysmid':mid};
js.ajax(geturlact('getselectdata', gcan),{key:jm.base64encode(o1.value)}, function(ret){
c.autocompletearr[id1] = ret;
c.autocompleteshow(o1,ret);
},'get,json')
},
autocompleteshow:function(o1,da){
if(!da || da.length==0)return;
var o2 = $(o1),lefta=o2.offset(),i,len=da.length,ds=[],zl=10,j=0;
$('#completelist').remove();
var str= '<div id="completelist" style="position:absolute;z-index:9;left:'+lefta.left+'px;top:'+(lefta.top+29)+'px;background:white;border:1px var(--main-color) solid;box-shadow: 0px 0px 5px rgb(0,0,0,0.3)"></div>';
var val= strreplace(o1.value);
if(val){
for(i=0;i<len;i++)if(da[i].name.indexOf(val)>-1 || (da[i].subname && da[i].subname.indexOf(val)>-1)){
ds.push(da[i]);j++;if(j>=zl*3)break;
}
}else{
ds=da;
}
this.autodata = ds;
this.nowinpvle= o1.value;
$('body').append(str);
this.autocompleteshows(zl,1)
js.addbody('completelist', 'remove','completelist');
},
autocompleteshows:function(zl,p){
var ds = this.autodata;
var str='',i,len=ds.length,j=0;
for(i=(p-1)*zl;i<len;i++){
str+='<div class="list-itemv" onclick="c.autocompleteclick('+i+')" value="'+i+'" style="padding:5px 10px">'+ds[i].name+'';
if(ds[i].subname)str+='&nbsp;<span style="font-size:12px">('+ds[i].subname+')</span>';
str+='</div>';
j++;
if(j>=zl)break;
}
if(len>zl){
str+='<div style="padding:5px 10px;background:#eeeeee">总记录'+len+'条';
if(p>1)str+='&nbsp;<a href="javascript:;" class="zhu" onclick="c.autocompleteshows(\''+zl+'\','+(p-1)+')">&lt;上页</a>';
if(j==zl)str+='&nbsp;<a href="javascript:;" class="zhu" onclick="c.autocompleteshows(\''+zl+'\','+(p+1)+')">下页&gt;</a>';
str+='</div>';
}
setTimeout(function(){$('#completelist').html(str)},10);
},
autocompleteclick:function(i){
var d = this.autodata[i],o1=this.autocompletea[0];
o1.value=d.name;
var a1 = this.autocompletea[1].split(',');
if(a1[1]){
if(form(a1[1]))form(a1[1]).value = d.value;
}
this.onselectdataall(o1.name,d);
$('#completelist').remove();
}
}

View File

@@ -1,4 +1,12 @@
//流程模块【collectm.信息收集】下录入页面自定义js页面,初始函数
function initbodys(){
}
function changesubmit(d){
if(d.fenlei=='0' && !d.runren)return '请选择收集对象';
}
js.changeuser_before=function(na){
if(na=='runren' && form('fenlei').value=='1')return '外部收集不需要选择人';
}

View File

@@ -13,7 +13,7 @@ function initbodys(){
addchengesss();
if(mid=='0'){
if(form('cardid'))js.ajax(geturlact('getlast'),{},function(d){
if(!c.zhanbool && form('cardid'))js.ajax(geturlact('getlast'),{},function(d){
if(d){
if(form('paytype'))form('paytype').value=d.paytype;
if(form('cardid'))form('cardid').value=d.cardid;

View File

@@ -4,7 +4,7 @@ function initbodys(){
if(js.request('optlx')=='my'){
for(var i=0;i<disarr.length;i++)if(form(disarr[i]))form(disarr[i]).disabled=true;
}
form('jiguan').readOnly=false;
if(form('jiguan'))form('jiguan').readOnly=false;
}
function changesubmit(){

View File

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

View File

@@ -15,9 +15,10 @@ class mode_collectmClassAction extends inputAction{
protected function savebefore($table, $arr, $id, $addbo){
$rows['type'] = 2; //必须为2
$dbs = m('admin');
$rows['leixing'] = $dbs->rows($dbs->gjoin($arr['runrenid'], 'ud', 'where'));
if($arr['fenlei']=='0'){
$dbs = m('admin');
$rows['leixing'] = $dbs->rows($dbs->gjoin($arr['runrenid'], 'ud', 'where'));
}
return array(
'rows' => $rows
);
@@ -34,6 +35,20 @@ class mode_collectmClassAction extends inputAction{
}
public function beizhustring()
{
return '<span style="color:gray">类型是外部收集,字段类型仅支持文本框,文本域,日期类型,单选框,复选框的类型。</span>';
}
public function createouturlAjax()
{
header("Content-type:image/png");
$urls= $this->rock->getouturl();
$id = (int)$this->get('id');
m('planm')->update('`state`=1', $id);
$url = ''.$urls.'?m=login&a=collect&mid='.$id.'';
$img = c('qrcode')->show($url);
echo $img;
}
}

View File

@@ -31,5 +31,96 @@ class mode_collectsClassAction extends inputAction{
protected function saveafter($table, $arr, $id, $addbo){
}
protected function storeaftersss($table, $rows, $barr=array())
{
$arr = array();
$mid = (int)$this->get('leixingid','0');
if($mid>0 && isset($barr['listinfo'])){
$fieldsarr = $barr['listinfo']['fieldsarr'];
}
return $arr;
}
public function collectstotal_before()
{
$mid = (int)$this->get('mid','0');
$this->mid = $mid;
$key = $this->post('key');
$this->zdarr = m('plans')->getall('mid='.$this->mid.'','*','`sort`');
$this->zdobj = array();
$where = '';
if($key)$where=" and (`optname` like '%".$key."%'";
$wher1 = '';
foreach($this->zdarr as $k=>$rs){
$flx = $rs['zxren'];
$this->zdobj[$rs['id']] = $flx;
}
if($key)$wher1=" a.`zxren` like '%".$key."%'";
if($wher1)$where.=' or `id` in(select a.`mid` from `[Q]plans` a left join `[Q]planm` b on a.`mid`=b.`id` where b.`type`=3 and b.`leixing`='.$mid.' and '.$wher1.')';
if($key)$where.=')';
return 'and `type`=3 and `leixing`='.$mid.''.$where.'';
}
public function collectstotal_after($table, $rows)
{
$dbs = m('plans');
$arows= $this->zdarr;
$mrs = m($table)->getone($this->mid);
if($this->loadci==1){
$farr = array();
if($mrs['fenlei']=='0'){
$farr[] = array(
'text' => '填写人',
'dataIndex' => 'optname'
);
}
foreach($arows as $k=>$rs){
$sarr = array(
'text' => $rs['pitem'],
'dataIndex' => 'items_'.$rs['id'].'',
'filestype' => $rs['zxren'],
'sortable' => false
);
if($rs['zxren']=='uploadfile' || $rs['zxren']=='textarea')$sarr['align']='left';
$farr[] = $sarr;
}
$farr[] = array(
'text' => '填写时间',
'dataIndex' => 'optdt',
'sortable' => true
);
$farr[] = array(
'text' => '状态',
'dataIndex' => 'status',
'sortable' => true
);
$barr['columns'] = $farr;
}
$faobj = m('file');
foreach($rows as $k=>$rs){
$arows= $dbs->getall('mid='.$rs['id'].'','*','`sort`');
foreach($arows as $k1=>$rs1){
$flx = arrvalue($this->zdobj, $rs1['itemid']);
$val = $rs1['zxren'];
if($flx=='uploadimg' && !isempt($val)){
$val = '<img src="'.$val.'" onclick="$.imgview({\'url\':this.src})" height="60">';
}
if($flx=='uploadfile' && !isempt($val)){
$val = $faobj->getstr('', '', 0, "`id` in($val)");
}
$rows[$k]['items_'.$rs1['itemid'].''] = $val;
}
$status = '';
if($rs['status']=='0')$status='<font color=blue>待审核</font>';
if($rs['status']=='1')$status='<font color=green>已审核</font>';
if($rs['status']=='2')$status='<font color=red>未通过</font>';
$rows[$k]['status'] = $status;
}
$barr['rows'] = $rows;
return $barr;
}
}

View File

@@ -141,5 +141,13 @@ class mode_userClassAction extends inputAction{
m('admin')->updateinfo(); //更新
return 'ok';
}
public function rankingdata()
{
$arr = array();
$rows = $this->db->getall('select `ranking` from `[Q]admin` group by `ranking`');
foreach($rows as $k=>$rs)$arr[] = array('name'=>$rs['ranking'],'value'=>'');
return $arr;
}
}

View File

@@ -0,0 +1,30 @@
<?php
/**
* 此文件是流程模块【yqhealthy.健康报备】对应控制器接口文件。
*/
class mode_yqhealthyClassAction extends inputAction{
/**
* 重写函数:保存前处理,主要用于判断是否可以保存
* $table String 对应表名
* $arr Array 表单参数
* $id Int 对应表上记录Id 0添加时大于0修改时
* $addbo Boolean 是否添加时
* return array('msg'=>'错误提示内容','rows'=> array()) 可返回空字符串,或者数组 rows 是可同时保存到数据库上数组
*/
protected function savebefore($table, $arr, $id, $addbo){
}
/**
* 重写函数:保存后处理,主要保存其他表数据
* $table String 对应表名
* $arr Array 表单参数
* $id Int 对应表上记录Id
* $addbo Boolean 是否添加时
*/
protected function saveafter($table, $arr, $id, $addbo){
}
}

View File

@@ -17,7 +17,7 @@
<?php
$maincolor = getconfig('apptheme','#1389D3');
?>
var editor,arr=<?=$da['fieldsjson']?>,moders=<?=json_encode($da['moders'])?>,gongsiarr=<?=json_encode($da['gongsiarr'])?>,subfielsa=<?=json_encode($da['subfielsa'])?>,zbnamearr=<?=json_encode($da['zbnamearr'])?>,isedit=0,mid='<?=$da['mid']?>',isinput=1,data={},maincolor='<?=$maincolor?>';
var editor,arr=<?=$da['fieldsjson']?>,moders=<?=json_encode($da['moders'])?>,gongsiarr=<?=json_encode($da['gongsiarr'])?>,subfielsa=<?=json_encode($da['subfielsa'])?>,zbnamearr=<?=json_encode($da['zbnamearr'])?>,isedit=0,mid='<?=$da['mid']?>',isinput=1,data={},maincolor='<?=$maincolor?>',tempdata='<?=$tempdata?>';
</script>
<style>
<?php
@@ -133,7 +133,7 @@ echo 'body{--main-color:'.$maincolor.';--main-border:rgba('.$maincolors.',0.2)}'
<?php
if($da['isflow']>0)echo '<label><input onclick="c.changeturn(this)" value="1" checked type="checkbox" id="sysisturn">直接提交</label>&nbsp;';
?>
<input id="AltS" type="button" style="border-radius:5px" onclick="return c.save()" value="提交" class="webbtn"></span>&nbsp; &nbsp;
<a class="hui" id="Altzhan" style="margin-right:10px;display:none" onclick="return c.savezhan()" href="javascript:;">暂存</a><input id="AltS" type="button" style="border-radius:5px" onclick="return c.save()" value="提交" class="webbtn"></span>&nbsp; &nbsp;
</div>
</div>
<script>

View File

@@ -23,7 +23,7 @@
<?php
$maincolor = getconfig('apptheme','#1389D3');
?>
var editor,arr=<?=$da['fieldsjson']?>,moders=<?=json_encode($da['moders'])?>,gongsiarr=<?=json_encode($da['gongsiarr'])?>,subfielsa=<?=json_encode($da['subfielsa'])?>,zbnamearr=<?=json_encode($da['zbnamearr'])?>,isedit=0,mid='<?=$da['mid']?>',isinput=1,data={},maincolor='<?=$maincolor?>';
var editor,arr=<?=$da['fieldsjson']?>,moders=<?=json_encode($da['moders'])?>,gongsiarr=<?=json_encode($da['gongsiarr'])?>,subfielsa=<?=json_encode($da['subfielsa'])?>,zbnamearr=<?=json_encode($da['zbnamearr'])?>,isedit=0,mid='<?=$da['mid']?>',isinput=1,data={},maincolor='<?=$maincolor?>',tempdata='<?=$tempdata?>';
ismobile=1;
js.changeuser=function(na,lx,tit,cans){
var can = {
@@ -186,7 +186,7 @@ if($showheader==1)echo '<div id="header_title" style="padding-top:'.$cenghei.'px
<span id="AltSspan" style="display:none" >
<?php
if($da['isflow']>0)echo '<label><input onclick="c.changeturn(this)" value="1" checked type="checkbox" id="sysisturn">直接提交</label>&nbsp;';
?>
?><a class="hui" id="Altzhan" style="margin-right:10px;display:none" onclick="return c.savezhan()" href="javascript:;">暂存</a>
<button id="AltS" style="border-radius:5px" type="button" onclick="return c.save()" class="btn">提交</button></span>
<div id="msgview"></div>
</div>