添加审批类型、审批流程

This commit is contained in:
luofei 2023-07-24 10:32:11 +08:00
parent 28c6f0dd2b
commit 3369f8535f
2 changed files with 108 additions and 15 deletions

View File

@ -9,24 +9,14 @@ declare (strict_types=1);
namespace app\adminapi\controller;
use app\admin\BaseController;
use app\admin\validate\FlowTypeCheck;
use app\admin\validate\ExpenseCateCheck;
use app\admin\validate\CostCateCheck;
use app\admin\validate\IndustryCheck;
use app\admin\validate\ServicesCheck;
use app\admin\validate\WorkCateCheck;
use app\admin\validate\InvoiceSubjectCheck;
use think\exception\ValidateException;
use think\facade\Db;
use think\facade\View;
use function app\admin\controller\add_log;
class CateController extends BaseAdminController
{
//审批类型
public function flow_type()
public function index()
{
$cate = Db::name('FlowType')->order('id asc')->select()->toArray();
$type = get_config('approve.type');
@ -42,21 +32,21 @@ class CateController extends BaseAdminController
$value['department'] = implode(',', $department);
}
}
return to_assign(0, '', $cate);
return $this->success('success', $cate);
}
//审批类型添加
public function flow_type_add()
public function create()
{
$param = get_params();
if (!empty($param['id']) && $param['id'] > 0) {
$data['update_time'] = time();
$res = Db::name('FlowType')->strict(false)->field(true)->update($param);
return to_assign();
return $this->success('修改成功', [], 1, 1);
} else {
$param['create_time'] = time();
$insertId = Db::name('FlowType')->strict(false)->field(true)->insertGetId($param);
return to_assign();
return $this->success('添加成功', [], 1, 1);
}
}

View File

@ -0,0 +1,103 @@
<?php
declare (strict_types=1);
namespace app\adminapi\controller;
use think\facade\Db;
class FlowController extends BaseAdminController
{
public function index()
{
$type = get_config('approve.type');
$list = Db::name('Flow')
->field('f.*,a.name as username,t.title as flow_cate')
->alias('f')
->join('Admin a', 'a.id = f.admin_id', 'left')
->join('FlowType t', 't.id = f.flow_cate', 'left')
->select()->toArray();
foreach ($list as $key => &$value) {
$department = Db::name('Department')->where('id', 'in', $value['department_ids'])->column('title');
$value['department'] = implode(',', $department);
if ($value['department'] == '') {
$value['department'] = '全公司';
}
foreach ($type as $k => $val) {
if ($value['type'] == $val['id']) {
$value['type_name'] = $val['title'];
}
}
}
return $this->success('success', $list);
}
//添加新增/编辑
public function create()
{
$param = get_params();
$param['flow_list'] = '';
$flow_list = [];
if ($param['check_type'] == 1) {
$flowTypeData = isset($param['flowType']) ? $param['flowType'] : '';
$flowUidsData = isset($param['flowUidsA']) ? $param['flowUidsA'] : '';
foreach ($flowTypeData as $key => $value) {
if (!$value) {
continue;
}
if ($value > 2 && $flowUidsData[$key] == '') {
return $this->fail('第' . ($key + 1) . '行的指定人未选择');
}
$item = [];
$item['flow_type'] = $value;
$item['flow_uids'] = $flowUidsData[$key];
$flow_list[] = $item;
}
$param['flow_list'] = serialize($flow_list);
}
if ($param['check_type'] == 3) {
$flowNameData = isset($param['flowName']) ? $param['flowName'] : '';
$flowUidsData = isset($param['flowUidsB']) ? $param['flowUidsB'] : '';
foreach ($flowNameData as $key => $value) {
if (!$value) {
continue;
}
if ($flowUidsData[$key] == '') {
return $this->fail('第' . ($key + 1) . '行的指定人未选择');
}
$item = [];
$item['flow_name'] = $value;
$item['flow_type'] = 5;
$item['flow_uids'] = $flowUidsData[$key];
$flow_list[] = $item;
}
if (empty($flow_list)) {
return $this->fail('审批流程信息未完善');
}
$param['flow_list'] = serialize($flow_list);
}
if ($param['id'] > 0) {
$param['update_time'] = time();
Db::name('Flow')->strict(false)->field(true)->update($param);
} else {
$param['admin_id'] = $this->adminId;
$param['create_time'] = time();
$mid = Db::name('Flow')->strict(false)->field(true)->insertGetId($param);
}
return $this->success('保存成功', [], 1, 1);
}
//禁用/启用
public function status()
{
$param = get_params();
$param['update_time'] = time();
$res = Db::name('Flow')->where('id', $param['id'])->strict(false)->field('status,update_time')->update($param);
if ($res !== false) {
return $this->success('保存成功', [], 1, 1);
} else {
return $this->success('操作失败', [], 1, 1);
}
}
}