This commit is contained in:
2025-03-14 09:27:29 +08:00
parent a51f77bbf5
commit fbcfef4ff0
12 changed files with 768 additions and 5 deletions

View File

@ -0,0 +1,53 @@
<?php
namespace plugin\ticket\model;
use think\admin\Model;
class ApprovalInstance extends Model
{
// 表名定义
protected $name = 'approval_instance';
// 自动写入时间戳
protected $autoWriteTimestamp = 'datetime';
protected $createTime = 'create_time';
protected $updateTime = 'update_time';
protected $append = ['status_text', 'current'];
// 关联流程定义
public function process()
{
return $this->belongsTo(ApprovalProcess::class, 'process_id', 'id');
}
// 关联审批步骤
public function steps()
{
return $this->hasMany(ApprovalStep::class, 'instance_id', 'id');
}
public function getCurrentAttr($value, $data)
{
return $this->steps[$data['current_step']] ?? [];
}
// 关联审批日志
public function logs()
{
return $this->hasMany(ApprovalLog::class, 'instance_id', 'id');
}
// 格式化流程状态
public function getStatusTextAttr($value, $data)
{
$statusMap = [
0 => '待提交',
1 => '进行中',
2 => '已通过',
3 => '已驳回',
4 => '已取消'
];
return $statusMap[$data['status']] ?? '未知';
}
}