From 6ba7bb636f6ddfcffb4b6647cf61082e0bb141a6 Mon Sep 17 00:00:00 2001 From: yaooo <272523191@qq.com> Date: Mon, 11 Dec 2023 15:05:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=BF=AE=E5=A4=8D=E6=8A=95?= =?UTF-8?q?=E6=A0=87=E5=86=B3=E7=AD=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lists/bid/BidDocumentExaminationLists.php | 2 +- .../logic/bid/BidDocumentExaminationLogic.php | 14 +++++++++++--- .../bid/BidDocumentExaminationValidate.php | 18 +++++++++++++++++- .../model/bid/BidDocumentExamination.php | 5 ++++- 4 files changed, 33 insertions(+), 6 deletions(-) diff --git a/app/adminapi/lists/bid/BidDocumentExaminationLists.php b/app/adminapi/lists/bid/BidDocumentExaminationLists.php index 4a83c6df7..673cb6189 100644 --- a/app/adminapi/lists/bid/BidDocumentExaminationLists.php +++ b/app/adminapi/lists/bid/BidDocumentExaminationLists.php @@ -38,7 +38,7 @@ class BidDocumentExaminationLists extends BaseAdminDataLists implements ListsSea public function setSearch(): array { return [ - '=' => ['buy_bidding_document_id'], + '=' => ['buy_bidding_document_id', 'is_need_deposit'], ]; } diff --git a/app/adminapi/logic/bid/BidDocumentExaminationLogic.php b/app/adminapi/logic/bid/BidDocumentExaminationLogic.php index 2ffda0d1e..63892d310 100644 --- a/app/adminapi/logic/bid/BidDocumentExaminationLogic.php +++ b/app/adminapi/logic/bid/BidDocumentExaminationLogic.php @@ -16,6 +16,7 @@ namespace app\adminapi\logic\bid; use app\common\model\bid\BidDocumentExamination; +use app\common\model\bid\BidDocumentExaminationDetail; use app\common\logic\BaseLogic; use think\facade\Db; @@ -40,7 +41,7 @@ class BidDocumentExaminationLogic extends BaseLogic { Db::startTrans(); try { - BidDocumentExamination::create([ + $bidDocumentExamination = BidDocumentExamination::create([ 'approve_id' => $params['approve_id'], 'buy_bidding_document_id' => $params['buy_bidding_document_id'], 'is_need_deposit' => $params['is_need_deposit'], @@ -60,7 +61,12 @@ class BidDocumentExaminationLogic extends BaseLogic 'business_contract_deviation_handling_plan' => $params['business_contract_deviation_handling_plan'], 'business_contract_deviation_annex' => $params['business_contract_deviation_annex'] ]); - + foreach ($params['product'] as $item) + { + BidDocumentExaminationDetail::create([ + 'bid_document_examination_id' => $bidDocumentExamination->id, + ]); + } Db::commit(); return true; } catch (\Exception $e) { @@ -135,6 +141,8 @@ class BidDocumentExaminationLogic extends BaseLogic */ public static function detail($params): array { - return BidDocumentExamination::findOrEmpty($params['id'])->toArray(); + $bidDocumentExamination = BidDocumentExamination::findOrEmpty($params['id']); + $bidDocumentExamination->document = $bidDocumentExamination->document; + return $bidDocumentExamination->toArray(); } } \ No newline at end of file diff --git a/app/adminapi/validate/bid/BidDocumentExaminationValidate.php b/app/adminapi/validate/bid/BidDocumentExaminationValidate.php index c19855026..04949f82d 100644 --- a/app/adminapi/validate/bid/BidDocumentExaminationValidate.php +++ b/app/adminapi/validate/bid/BidDocumentExaminationValidate.php @@ -32,6 +32,7 @@ class BidDocumentExaminationValidate extends BaseValidate */ protected $rule = [ 'id' => 'require', + 'product' => 'array|checkProduct', ]; @@ -64,7 +65,7 @@ class BidDocumentExaminationValidate extends BaseValidate */ public function sceneEdit() { - return $this->only(['id']); + return $this->only(['id', 'product']); } @@ -91,4 +92,19 @@ class BidDocumentExaminationValidate extends BaseValidate return $this->only(['id']); } + public function checkProduct($value, $rule, $data) + { + $firstData = $value[0]; + // if (empty($firstData['product_id'])) { + // return '产品ID不能为空!'; + // } + // if (empty($firstData['product_num'])) { + // return '产品数量不能为空!'; + // } + // if (empty($firstData['tax_rate'])) { + // return '产品税率不能为空!'; + // } + return true; + } + } \ No newline at end of file diff --git a/app/common/model/bid/BidDocumentExamination.php b/app/common/model/bid/BidDocumentExamination.php index b2896f75b..af9ee7355 100644 --- a/app/common/model/bid/BidDocumentExamination.php +++ b/app/common/model/bid/BidDocumentExamination.php @@ -30,5 +30,8 @@ class BidDocumentExamination extends BaseModel protected $name = 'bid_document_examination'; protected $deleteTime = 'delete_time'; - + public function document() + { + return $this->belongsTo(\app\common\model\bid\BidBuyBiddingDocument::class, 'buy_bidding_document_id'); + } } \ No newline at end of file