<?php namespace App\Admin\Forms; use App\Command\Log; use Dcat\Admin\Widgets\Form; use Dcat\Admin\Contracts\LazyRenderable; use Dcat\Admin\Traits\LazyWidget; use Exception; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Request; use App\Models\Covenant as ModelsCovenant; use App\Models\CovenantReceivePayment as ModelsCovenantReceivePayment; class CovenantReceiveForm extends Form implements LazyRenderable { use LazyWidget; /** * Handle the form request. * * @param array $input * * @return mixed */ public function handle(array $input) { $cid = $this->payload['cid']; //合同ID DB::beginTransaction(); try { $received_type = (int)$input['received_type']; $pay_method = trim($input['pay_method']); $received_at = trim($input['received_at']); $received_amount = trim($input['received_amount']); $paymenter = trim($input['paymenter']); $datearr = explode('-', $received_at); $year = $datearr[0]; $month = $datearr[1]; $cObj = ModelsCovenant::find($cid); if (!$cObj) { throw new Exception('该合同不存在!'); } $receivePaymentObj = new ModelsCovenantReceivePayment(); $receivePaymentObj->received_type = $received_type; $receivePaymentObj->pay_method = $pay_method; $receivePaymentObj->received_at = $received_at; $receivePaymentObj->received_amount = $received_amount; $receivePaymentObj->paymenter = $paymenter; $receivePaymentObj->cid = $cid; $receivePaymentObj->lawyer_id = $cObj->lawyer_id; $receivePaymentObj->principal = $cObj->principal; $receivePaymentObj->year = $year; $receivePaymentObj->month = $month; $receivePaymentObj->rtype = 1; $receivePaymentObj->save(); DB::commit(); } catch (\Exception $exception) { DB::rollBack(); return $this->response()->error($exception->getMessage())->refresh(); } return $this->response()->success('提交成功')->refresh(); } /** * Build a form here. */ public function form() { $this->select('received_type', '收款账户')->options([1 => '基本户', 2 => '其它'])->required(); $this->select('pay_method', '支付方式')->options(ModelsCovenantReceivePayment::PAYMENT_METHOD)->required(); $this->date('received_at', '收款时间')->format('YYYY-MM-DD')->default(date("Y-m-d"))->required(); $this->text('received_amount', '收款金额')->required(); $this->text('paymenter', '付款人'); } /** * The data of the form. * * @return array */ public function default() { // 获取外部传递参数 return []; } }