session(); if (request()->isAjax()) { $articleService = new ArticleService(); $roleId = $session->get('admin')['role_id']; $res = $articleService->getList(request()->all()); /*foreach ($res['data']['data'] as $k => $v) { $res['data']['data'][$k]['isReviewed'] = false; $reviewedArr = []; if (!empty($v['approval_mark_unique'])) { $awhere['approval_mark_unique'] = $v['approval_mark_unique']; $reviewed = (new ApprovalFlowLine())->where($awhere)->value('approval_process_flowpath'); $reviewedArr = json_decode($reviewed, true); } $res['data']['data'][$k]['reviewed'] = $reviewedArr; if (is_array($reviewedArr)) { foreach ($reviewedArr as $k1 => $v1) { if ($v1['roleid'] == $roleId && $v1['status'] == 0) { $res['data']['data'][$k]['isReviewed'] = true; } } } }*/ return sparkSuccess($res); } return view('article/index'); } /** * 添加 */ public function add() { if (request()->isAjaxPost()) { $param = request()->post(); $articleService = new ArticleService(); $res = $articleService->addArticle($param); return sparkSuccess($res); } $articleCateModel = new ArticleCate(); View::assign([ 'cate' => json_encode($articleCateModel->getAllList([ 'status' => 1 ], ['id', 'name', 'pid'])) ]); return view('article/add'); } /** * 编辑 */ public function edit() { if (request()->isAjaxPost()) { $param = request()->post(); $articleService = new ArticleService(); $res = $articleService->editArticle($param); return sparkSuccess($res); } $articleCateModel = new ArticleCate(); $id = request()->input('id'); $articleModel = new Article(); View::assign([ 'info' => json_encode($articleModel->getInfoById($id)), 'cate' => json_encode($articleCateModel->getAllList([ 'status' => 1 ], ['id', 'name', 'pid'])) ]); return view('article/edit'); } /** * 删除 */ public function del() { $id = request()->input('id'); $articleModel = new Article(); $articleModel->delById($id); return sparkSuccess(dataReturn(0, '删除成功')); } /** 业务字符 */ private function getCode() { $t = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; $t = str_shuffle($t); return "S" . time() . substr($t, 0, 4); } /** 添加审批 */ public function addExamine(Request $request) { $param = $request->all(); $where['approval_process_mark'] = "article"; $where['approval_process_status'] = 0; $row = (new ApprovalFlow())->getInfoByWhere($where); $data['approval_id'] = $row['id']; $data['approval_mark_unique'] = $this->getCode(); $data['reviewed'] = $row['approval_process_flowpath']; $data['create_time'] = date('Y-m-d H:m:s', time()); if (isset($param['title'])) $data['approval_title'] = $param['title']; $owhere['approval_mark_unique'] = $param['approval_mark_unique']; $orow = (new ApprovalFlowLine())->getAllList($owhere); if (count($orow) > 0) { return sparkSuccess(dataReturn(0, '已经提交审批,请不要重复提交!')); } else { $resApproval = (new ApprovalFlowLine())->insertOne($data); $dataArticle['id'] = $param['id']; $dataArticle['approval_mark_unique'] = $data['approval_mark_unique']; $dataArticle['status'] = 1; $resArticle = (new Article())->updateById($dataArticle, $param['id']); if ($resApproval && $resArticle) { return sparkSuccess(dataReturn(0, '提交审批成功')); } } } /** 处理审批 */ public function doExamine(Request $request) { $param = $request->all(); $session = $request->session(); $where['approval_mark_unique'] = $param['approval_mark_unique']; $row = (new ApprovalFlowLine())->getInfoByWhere($where); $reviewed = json_decode($row['approval_process_flowpath'], true); $roleId = $session->get('admin')['role_id']; $isOK = false; if (is_array($reviewed)) { foreach ($reviewed as $k => $v) { $reviewed[$k]['time'] = ""; if ($v['roleid'] == $roleId && $param['status'] == 1) { $reviewed[$k]['status'] = 1; if (isset($param['notes'])) $reviewed[$k]['notes'] = $param['notes']; $reviewed[$k]['time'] = date('Y-m-d H:m:s', time()); } if ($v['roleid'] == $roleId && $param['status'] == 2) { $awhere['approval_process_mark'] = "article"; $awhere['approval_process_status'] = 0; $arow = (new ApprovalFlow())->getInfoByWhere($awhere); if ($arow['approval_process_mode'] == 2) { $reviewed[$k]['status'] = 0; } } if ($v['status'] == 0) { $isOK = false; } else { $isOK = true; } } } else { return sparkSuccess(dataReturn(0, '审批异常!')); } $tdata['approval_process_flowpath'] = json_encode($reviewed); $tdata['update_time'] = date('Y-m-d H:m:s', time()); $resItems = (new ApprovalFlowLine())->updateById($tdata, $row['id']); if ($isOK) { $adata['status'] = 2; $adata['update_time'] = date('Y-m-d H:m:s', time()); $resArticle = (new Article())->updateByWhere($adata, $where); $idata['status'] = 1; $idata['update_time'] = date('Y-m-d H:m:s', time()); $resAitems = (new ApprovalFlowLine())->updateByWhere($idata, $where); } return sparkSuccess(dataReturn(0, '审核成功!')); } }