param('page', 1); $limit = $request->param('limit', 10); $where = [ 'personnel_id' => $this->member_id, 'page' => $page, 'limit' => $limit ]; try { $service = new ContractService(); $res = $service->getMyContracts($where); if (!$res['code']) { return fail($res['msg']); } return success($res['data']); } catch (\Exception $e) { return fail('获取合同列表失败:' . $e->getMessage()); } } /** * 获取合同详情 * @param Request $request * @return mixed */ public function detail(Request $request) { $contract_id = $request->param('id', 0); if (empty($contract_id)) { return fail('合同ID不能为空'); } $where = [ 'id' => $contract_id ]; try { $service = new ContractService(); $res = $service->getContractDetail($where); if (!$res['code']) { return fail($res['msg']); } return success($res['data']); } catch (\Exception $e) { return fail('获取合同详情失败:' . $e->getMessage()); } } /** * 签订合同 * @param Request $request * @return mixed */ public function sign(Request $request) { $contract_id = $request->param('contract_id', 0); $sign_file = $request->param('sign_file', ''); if (empty($contract_id)) { return fail('合同ID不能为空'); } if (empty($sign_file)) { return fail('签名文件不能为空'); } $data = [ 'contract_id' => $contract_id, 'personnel_id' => $this->member_id, 'sign_file' => $sign_file ]; try { $service = new ContractService(); $res = $service->signContract($data); if (!$res['code']) { return fail($res['msg']); } return success($res['data']); } catch (\Exception $e) { return fail('签订合同失败:' . $e->getMessage()); } } /** * 获取合同签订状态 * @param Request $request * @return mixed */ public function signStatus(Request $request) { $contract_id = $request->param('contract_id', 0); if (empty($contract_id)) { return fail('合同ID不能为空'); } $where = [ 'contract_id' => $contract_id, 'personnel_id' => $this->member_id ]; try { $service = new ContractService(); $res = $service->getSignStatus($where); if (!$res['code']) { return fail($res['msg']); } return success($res['data']); } catch (\Exception $e) { return fail('获取签订状态失败:' . $e->getMessage()); } } /** * 获取员工合同签署表单配置 * @param Request $request * @return mixed */ public function getSignForm(Request $request) { $contract_id = $request->param('contract_id', 0); if (empty($contract_id)) { return fail('合同ID不能为空'); } $where = [ 'contract_id' => $contract_id, 'personnel_id' => $this->member_id ]; try { $service = new ContractService(); $res = $service->getStaffContractSignForm($where); if (!$res['code']) { return fail($res['msg']); } return success($res['data']); } catch (\Exception $e) { return fail('获取签署表单失败:' . $e->getMessage()); } } /** * 下载合同文件 * @param Request $request * @return mixed */ public function download(Request $request) { $contract_id = $request->param('contract_id', 0); if (empty($contract_id)) { return fail('合同ID不能为空'); } $where = [ 'contract_id' => $contract_id, 'personnel_id' => $this->member_id ]; try { $service = new ContractService(); $res = $service->downloadContract($where); if (!$res['code']) { return fail($res['msg']); } return success($res['data']); } catch (\Exception $e) { return fail('下载合同失败:' . $e->getMessage()); } } }