diff --git a/jikimo_purchase_tier_validation/models/models.py b/jikimo_purchase_tier_validation/models/models.py index 5a581980..32eca4f0 100644 --- a/jikimo_purchase_tier_validation/models/models.py +++ b/jikimo_purchase_tier_validation/models/models.py @@ -87,7 +87,17 @@ class jikimo_purchase_tier_validation(models.Model): def _validate_tier(self, tiers=False): res = super(jikimo_purchase_tier_validation, self)._validate_tier(tiers) - self.state = 'approved' + tier_reviews = tiers or self.review_ids + + # 检查是否所有审批都已通过 + all_approved = all( + tier_review.review_status == 'approved' + for tier_review in tier_reviews + ) + + if all_approved and tier_reviews: # 确保有审批记录 + self.state = 'approved' + return res def _rejected_tier(self, tiers=False):