Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
fbe424e913
44
app/api/controller/Api.php
Normal file
44
app/api/controller/Api.php
Normal 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']);
|
||||
}
|
||||
}
|
||||
}
|
@ -13,7 +13,6 @@ use Firebase\JWT\JWT;
|
||||
use Firebase\JWT\Key;
|
||||
use think\facade\Db;
|
||||
use think\facade\Request;
|
||||
|
||||
class Demo extends BaseController
|
||||
{
|
||||
/**
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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']];
|
||||
|
@ -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>
|
||||
|
@ -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;
|
||||
|
@ -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) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user