温馨提示:本文最后更新于
2026-05-13 08:24:19,某些文章具有时效性,若有错误或已失效,请在下方留言。业务需求
![图片[1]-呈批件自动生成文号-Stewed Noodles 资源](https://blog.stewednoodles.com/wp-content/uploads/2026/05/1.png)
自动生成文号,文号的生成规则 年份-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












暂无评论内容