呈批件自动生成文号

温馨提示:本文最后更新于2026-05-13 08:24:19,某些文章具有时效性,若有错误或已失效,请在下方留言

业务需求

图片[1]-呈批件自动生成文号-Stewed Noodles 资源
自动生成文号,文号的生成规则 年份-CPJ-2位流水号

解决方案

配置修改

编辑 呈批件 中的 文号 字段,将 属性 修改为 readonly

代码修改

mode_cpjian 文件

文件中的代码,如下所示

//流程模块【cpjian.呈批件】下录入页面自定义js页面,初始函数  
function initbodys(){  
    if(isinput==1){  
       tryLoadDocumentNumber(0);  
    }  
}  
  
function getfilenum(){  
    js.ajax(geturlact('getfilenum'),{},function(s){  
       var obj = getDocumentNumberObj();  
       if(obj)obj.value=s;  
    },'get');  
}  
  
function getDocumentNumberObj(){  
    var obj = form('documentNumber');  
    if(!obj)obj = $('input[name="documentNumber"]')[0];  
    return obj;  
}  
  
function tryLoadDocumentNumber(ci){  
    var obj = getDocumentNumberObj();  
    if(obj){  
       if(obj.value=='')getfilenum();  
       return;  
    }  
    if(ci<10){  
       setTimeout(function(){  
          tryLoadDocumentNumber(ci+1);  
       }, 100);  
    }  
}

mode_cpjianAction 文件

文件的代码,如下所示

<?php  
/**  
*   此文件是流程模块【cpjian.呈批件】对应控制器接口文件。  
*/ class mode_cpjianClassAction extends inputAction{  
      
    /**  
    *  重写函数:保存前处理,主要用于判断是否可以保存    *  $table String 对应表名    *  $arr Array 表单参数    *  $id Int 对应表上记录Id 0添加时,大于0修改时    *  $addbo Boolean 是否添加时    *  return array('msg'=>'错误提示内容','rows'=> array()) 可返回空字符串,或者数组 rows 是可同时保存到数据库上数组    */    protected function savebefore($table, $arr, $id, $addbo){  
       $rows = array();  
       if($addbo || isempt(arrvalue($arr, 'documentNumber'))){  
          $rows['documentNumber'] = $this->createDocumentNumber();  
       }  
       return array(  
          'rows' => $rows  
       );  
    }  
      
    /**  
    *  重写函数:保存后处理,主要保存其他表数据    *  $table String 对应表名    *  $arr Array 表单参数    *  $id Int 对应表上记录Id    *  $addbo Boolean 是否添加时    */protected function saveafter($table, $arr, $id, $addbo){  
         
    }  
  
    public function getfilenumAjax()  
    {  
       return $this->createDocumentNumber();  
    }  
  
    private function createDocumentNumber()  
    {  
       return $this->db->sericnum('Year-CPJ-', '[Q]cpjian', 'documentNumber', 2);  
    }  
}

功能验证

在流程模块中,新建呈批件表单,表单中的文号字段能正确显示。

© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容