Merge remote-tracking branch 'origin/master'

This commit is contained in:
liu 2024-04-10 10:27:05 +08:00
commit fbe424e913
7 changed files with 553 additions and 555 deletions

View File

@ -0,0 +1,44 @@
<?php
/**
* @copyright Copyright (c) 2021 勾股工作室
* @license https://opensource.org/licenses/Apache-2.0
* @link https://www.gougucms.com
*/
declare (strict_types = 1);
namespace app\api\controller;
use think\facade\Db;
use app\project\model\ProjectTask as TaskList;
use app\project\validate\TaskCheck;
use think\exception\ValidateException;
class Api
{
//添加
public function task_add()
{
$param = get_params();
if (request()->isPost()) {
if (isset($param['end_time'])) {
$param['end_time'] = strtotime(urldecode($param['end_time']));
}
try {
validate(TaskCheck::class)->scene('add')->check($param);
} catch (ValidateException $e) {
// 验证失败 输出错误信息
return to_assign(1, $e->getError());
}
$param['create_time'] = time();
$param['admin_id'] = 1;
if (!empty($param['md5']) && strlen($param['md5']) > 2) {
$id = TaskList::where('md5', $param['md5'])->where('flow_status',1)->value('id');
if ($id) {
return to_assign(1, '已存在');
}
}
TaskList::strict(false)->field(true)->insertGetId($param);
return json(['code'=>200,'msg'=>'ok']);
}
}
}

View File

@ -13,7 +13,6 @@ use Firebase\JWT\JWT;
use Firebase\JWT\Key;
use think\facade\Db;
use think\facade\Request;
class Demo extends BaseController
{
/**

View File

@ -1,10 +1,13 @@
<?php
/**
* @copyright Copyright (c) 2021 勾股工作室
* @license https://opensource.org/licenses/GPL-3.0
* @link https://www.gougucms.com
*/
declare(strict_types=1);
namespace app\api\controller;
use app\api\BaseController;
@ -12,6 +15,7 @@ use think\facade\Db;
class Index extends BaseController
{
//上传文件
public function upload()
{
@ -24,12 +28,10 @@ class Index extends BaseController
if ($sourse == 'file' || $sourse == 'tinymce') {
if (request()->file('file')) {
$file = request()->file('file');
}
else{
} else {
return to_assign(1, '没有选择上传文件');
}
}
else{
} else {
if (request()->file('editormd-image-file')) {
$file = request()->file('editormd-image-file');
} else {
@ -101,12 +103,10 @@ class Index extends BaseController
if ($sourse == 'editormd') {
//editormd编辑器上传返回
return json(['success' => 1, 'message' => '上传成功', 'url' => $data['filepath']]);
}
else if($sourse == 'tinymce'){
} else if ($sourse == 'tinymce') {
//tinymce编辑器上传返回
return json(['success' => 1, 'message' => '上传成功', 'location' => $data['filepath']]);
}
else{
} else {
//普通上传返回
return to_assign(0, '上传成功', $res);
}
@ -181,8 +181,7 @@ class Index extends BaseController
$did = get_params('did');
if ($did == 1) {
$department = $did;
}
else{
} else {
$department = get_department_son($did);
}
$employee = Db::name('admin')
@ -337,20 +336,17 @@ class Index extends BaseController
$detail = Db::name('Approve')->where(['id' => $id])->find();
$subject = '一个日常审批';
$msg_title_type = $detail['type'];
}
else if($type==2){
} else if ($type == 2) {
//报销审核
$detail = Db::name('Expense')->where(['id' => $id])->find();
$subject = '一个报销审批';
$msg_title_type = 22;
}
else if($type==3){
} else if ($type == 3) {
//发票审核
$detail = Db::name('Invoice')->where(['id' => $id])->find();
$subject = '一个发票审批';
$msg_title_type = 23;
}
else if($type==4){
} else if ($type == 4) {
//合同审核
$detail = Db::name('Contract')->where(['id' => $id])->find();
$subject = '一个合同审批';
@ -381,28 +377,23 @@ class Index extends BaseController
//存在下一步审核
if ($next_step['flow_type'] == 1) {
$param['check_admin_ids'] = get_department_leader($detail['admin_id']);
}
else if($next_step['flow_type'] == 2){
} else if ($next_step['flow_type'] == 2) {
$param['check_admin_ids'] = get_department_leader($detail['admin_id'], 1);
}
else{
} else {
$param['check_admin_ids'] = $next_step['flow_uids'];
}
$param['check_step_sort'] = $detail['check_step_sort'] + 1;
$param['check_status'] = 1;
}
else{
} else {
//不存在下一步审核,审核结束
$param['check_status'] = 2;
$param['check_admin_ids'] = '';
}
}
else{
} else {
$param['check_status'] = 1;
$param['check_admin_ids'] = $step['flow_uids'];
}
}
else if($step['flow_type'] == 0){
} else if ($step['flow_type'] == 0) {
//自由人审批
if ($param['check_node'] == 2) {
$next_step = $detail['check_step_sort'] + 1;
@ -418,30 +409,25 @@ class Index extends BaseController
$param['check_admin_ids'] = $param['check_admin_ids'];
$param['check_step_sort'] = $next_step;
$param['check_status'] = 1;
}
else{
} else {
//不存在下一步审核,审核结束
$param['check_status'] = 2;
$param['check_admin_ids'] = '';
}
}
else{
} else {
$next_step = Db::name('FlowStep')->where(['action_id' => $id, 'type' => $type, 'sort' => ($detail['check_step_sort'] + 1), 'delete_time' => 0])->find();
if ($next_step) {
//存在下一步审核
if ($next_step['flow_type'] == 1) {
$param['check_admin_ids'] = get_department_leader($detail['admin_id']);
}
else if($next_step['flow_type'] == 2){
} else if ($next_step['flow_type'] == 2) {
$param['check_admin_ids'] = get_department_leader($detail['admin_id'], 1);
}
else{
} else {
$param['check_admin_ids'] = $next_step['flow_uids'];
}
$param['check_step_sort'] = $detail['check_step_sort'] + 1;
$param['check_status'] = 1;
}
else{
} else {
//不存在下一步审核,审核结束
$param['check_status'] = 2;
$param['check_admin_ids'] = '';
@ -457,16 +443,13 @@ class Index extends BaseController
if ($type == 1) {
//日常审核
$res = Db::name('Approve')->strict(false)->field('check_step_sort,check_status,last_admin_id,flow_admin_ids,check_admin_ids')->update($param);
}
else if($type==2){
} else if ($type == 2) {
//报销审核
$res = Db::name('Expense')->strict(false)->field('check_step_sort,check_status,last_admin_id,flow_admin_ids,check_admin_ids')->update($param);
}
else if($type==3){
} else if ($type == 3) {
//发票审核
$res = Db::name('Invoice')->strict(false)->field('check_step_sort,check_status,last_admin_id,flow_admin_ids,check_admin_ids')->update($param);
}
else if($type==4){
} else if ($type == 4) {
//合同审核
$res = Db::name('Contract')->strict(false)->field('check_step_sort,check_status,last_admin_id,flow_admin_ids,check_admin_ids')->update($param);
}
@ -500,12 +483,10 @@ class Index extends BaseController
sendMessage($users, ($type * 10 + 12), $msg);
}
return to_assign();
}
else{
} else {
return to_assign(1, '操作失败');
}
}
else if($param['check'] == 2){
} else if ($param['check'] == 2) {
$check_admin_ids = explode(",", strval($detail['check_admin_ids']));
if (!in_array($this->uid, $check_admin_ids)) {
return to_assign(1, '您没权限审核该审批');
@ -523,8 +504,7 @@ class Index extends BaseController
$param['check_step_sort'] = $prev_step['sort'];
$param['check_admin_ids'] = $prev_step['flow_uids'];
$param['check_status'] = 1;
}
else{
} else {
//不存在上一步审核,审核初始化步骤
$param['check_step_sort'] = 0;
$param['check_admin_ids'] = '';
@ -534,16 +514,13 @@ class Index extends BaseController
if ($type == 1) {
//日常审核
$res = Db::name('Approve')->strict(false)->field('check_step_sort,check_status,last_admin_id,flow_admin_ids,check_admin_ids')->update($param);
}
else if($type==2){
} else if ($type == 2) {
//报销审核
$res = Db::name('Expense')->strict(false)->field('check_step_sort,check_status,last_admin_id,flow_admin_ids,check_admin_ids')->update($param);
}
else if($type==3){
} else if ($type == 3) {
//发票审核
$res = Db::name('Invoice')->strict(false)->field('check_step_sort,check_status,last_admin_id,flow_admin_ids,check_admin_ids')->update($param);
}
else if($type==4){
} else if ($type == 4) {
//合同审核
$res = Db::name('Contract')->strict(false)->field('check_step_sort,check_status,last_admin_id,flow_admin_ids,check_admin_ids')->update($param);
}
@ -570,12 +547,10 @@ class Index extends BaseController
$users = $detail['admin_id'];
sendMessage($users, ($type * 10 + 13), $msg);
return to_assign();
}
else{
} else {
return to_assign(1, '操作失败');
}
}
else if($param['check'] == 3){
} else if ($param['check'] == 3) {
if ($detail['admin_id'] != $this->uid) {
return to_assign(1, '你没权限操作');
}
@ -586,16 +561,13 @@ class Index extends BaseController
if ($type == 1) {
//日常审核
$res = Db::name('Approve')->strict(false)->field('check_step_sort,check_status,check_admin_ids')->update($param);
}
else if($type==2){
} else if ($type == 2) {
//报销审核
$res = Db::name('Expense')->strict(false)->field('check_step_sort,check_status,check_admin_ids')->update($param);
}
else if($type==3){
} else if ($type == 3) {
//发票审核
$res = Db::name('Invoice')->strict(false)->field('check_step_sort,check_status,check_admin_ids')->update($param);
}
else if($type==4){
} else if ($type == 4) {
//合同审核
$res = Db::name('Contract')->strict(false)->field('check_step_sort,check_status,check_admin_ids')->update($param);
}

View File

@ -1,15 +1,19 @@
<?php
/**
* @copyright Copyright (c) 2021 勾股工作室
* @license https://opensource.org/licenses/GPL-3.0
* @link https://www.gougucms.com
*/
declare(strict_types=1);
namespace app\home\controller;
use app\api\BaseController;
use think\facade\Db;
class api extends BaseController
{
//首页公告
@ -89,8 +93,7 @@ class api extends BaseController
$val['create_time'] = date('Y-m-d H:i', $val['create_time']);
if ($val['end_time'] > 0) {
$val['plan_time'] = date('Y-m-d', $val['start_time']) . ' 至 ' . date('Y-m-d', $val['end_time']);
}
else{
} else {
$val['plan_time'] = '-';
}
$val['status_name'] = \app\project\model\Project::$Status[(int) $val['status']];
@ -134,8 +137,7 @@ class api extends BaseController
$val['director_name'] = Db::name('Admin')->where(['id' => $val['director_uid']])->value('name');
if ($val['end_time'] > 0) {
$val['end_time'] = date('Y-m-d', $val['end_time']);
}
else{
} else {
$val['end_time'] = '-';
}
$val['flow_name'] = \app\project\model\ProjectTask::$FlowStatus[(int) $val['flow_status']];

View File

@ -19,11 +19,6 @@
<td class="info-td">执行时间限制</td>
<td>{:get_system_info('max_execution_time')}</td>
</tr>
<tr>
<td class="info-td">勾股OA</td>
<td colspan="3">{:CMS_VERSION}<a class="layui-badge layui-bg-blue" style="margin-left:8px"
href="https://blog.gougucms.com/home/book/detail/bid/3.html" target="_blank">勾股OA文档</a></td>
</tr>
<tr>
<td class="info-td">ThinkPHP版本</td>
<td colspan="3">{$TP_VERSION}<a class="layui-badge layui-bg-blue" style="margin-left:8px" href="https://doc.thinkphp.cn/v8_0/preface.html" target="_blank">TP8文档</a></td>
@ -32,26 +27,6 @@
<td class="info-td">Layui版本</td>
<td colspan="3">{:LAYUI_VERSION}<a class="layui-badge layui-bg-blue" style="margin-left:8px" href="https://layui.dev/docs/2/" target="_blank">Layui文档</a></td>
</tr>
<tr>
<td class="info-td">合作联系</td>
<td colspan="3"><i class="iconfont icon-weixin green"></i>微信号hdm588业务合作、功能定制请备注</td>
</tr>
<tr>
<td class="info-td">QQ交流群</td>
<td colspan="3">搜Q群24641076(满)46924914(满)295256660<br>或点击 <a href="http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=vb-Jdu0e-7iAAxbqGczDg1xFjxbdBsip&authKey=lwlNHAZiUOK2Rua5B14KhfwoYcvpQtHnlWMAJAbQRhfg3YQOUVIFEmfxpbhcCQw%2F&noverify=0&group_code=295256660" target="_blank" rel="nofollow"><img border="0" src="//pub.idqqimg.com/wpa/images/group.png" alt="gougucms交流群" title="点击链接加入群聊【勾股开源交流群】" style="vertical-align:middle"></a></td>
</tr>
<tr>
<td class="info-td">同系列开源软件</td>
<td colspan="3"><a class="layui-badge layui-bg-blue" style="margin-right:8px" href="https://gitee.com/gouguopen/gougucms" target="_blank">勾股CMS</a><a class="layui-badge layui-bg-blue" style="margin-right:8px" href="https://gitee.com/gouguopen/blog" target="_blank">勾股BLOG</a><a class="layui-badge layui-bg-blue" href="https://gitee.com/gouguopen/dev" target="_blank" style="margin-right:8px">勾股DEV</a><a class="layui-badge layui-bg-blue" href="https://gitee.com/gouguopen/guoguadmin" target="_blank">勾股ADMIN</a></td>
</tr>
<tr>
<td colspan="4" style="text-align:center; color:#D2873D">🍗🍗 <strong>给作者加鸡腿 </strong>🍗🍗</td>
</tr>
<tr>
<td colspan="4">
<img src="https://www.gougucms.com/static/home/images/zfb.png" data-event="pay" style="width:50%; max-width:100%; cursor:pointer;" align=center /><img src="https://www.gougucms.com/static/home/images/wx.png" data-event="pay" style="width:50%; max-width:100%; cursor:pointer;" align=center />
</td>
</tr>
</table>
</div>
</div>

View File

@ -138,6 +138,10 @@ class ProjectTask extends Model
$item['priority_name'] = self::$Priority[(int) $item['priority']];
$item['flow_name'] = self::$FlowStatus[(int) $item['flow_status']];
$item['type_name'] = self::$Type[(int) $item['type']];
$item['create_time'] = date('Y-m-d H:i:s',$item['create_time']);
if ($item['admin_id'] > 0) {
$item['admin_name'] = Db::name('Admin')->where(['id' => $item['admin_id']])->value('name');
}
return $item;
});
return $list;

View File

@ -96,33 +96,35 @@
}
, { field: 'cate_name', title: '工作类型', width: 90, align: 'center' }
,{
field: 'title', title: '任务主题',minWidth:240, rowspan: 2, templet: function (d) {
field: 'title', title: '任务主题',minWidth:500, rowspan: 2, templet: function (d) {
var html = '<span class="layui-badge layui-bg-' + d.priority + '">' + d.priority_name + '</span> <a class="side-a" data-href="/project/task/view/id/' + d.id + '">' + d.title + '</a>';
return html;
}
}
, { field: 'before_task', title: '前置任务编号',align: 'center', width: 110, templet: function (d) {
var html = '-';
if(d.before_task > 0){
html = '<a class="side-a" data-href="/project/task/view/id/' + d.before_task + '">T' + d.before_task + '</a>';
}
return html;
}
}
, { field: 'after_num', title: '后置任务数', align: 'center',width: 100, templet: function (d) {
var html = '-';
if(d.after_num > 0){
html = '<a class="blue" lay-event="more" style="cursor:pointer;">'+d.after_num+'</a>';
if(d.after_num == 1){
html = ' <a class="side-a" data-href="/project/task/view/id/' + d.after_id + '">'+d.after_num+'</a>';
}
}
return html;
}
}
, { field: 'project_name', title: '关联项目', width: 300 }
// , { field: 'before_task', title: '前置任务编号',align: 'center', width: 110, templet: function (d) {
// var html = '-';
// if(d.before_task > 0){
// html = '<a class="side-a" data-href="/project/task/view/id/' + d.before_task + '">T' + d.before_task + '</a>';
// }
// return html;
// }
// }
// , { field: 'after_num', title: '后置任务数', align: 'center',width: 100, templet: function (d) {
// var html = '-';
// if(d.after_num > 0){
// html = '<a class="blue" lay-event="more" style="cursor:pointer;">'+d.after_num+'</a>';
// if(d.after_num == 1){
// html = ' <a class="side-a" data-href="/project/task/view/id/' + d.after_id + '">'+d.after_num+'</a>';
// }
// }
// return html;
// }
// }
, { field: 'admin_name', title: '创建人',width: 100 }
, { field: 'create_time', title: '创建时间', width: 150}
, { field: 'project_name', title: '关联项目', width: 150 }
, { field: 'director_name', title: '负责人', align: 'center', width: 80 }
, { field: 'assist_admin_names', title: '协作人', width: 200 }
, { field: 'assist_admin_names', title: '协作人', width: 80 }
, { field: 'plan_hours', title: '预估工时', align: 'center', width: 80 }
, {
field: 'end_time', title: '计划完成日期', width: 150, templet: function (d) {