diff --git a/yuthon_issue/models/inherit_room_booking.py b/yuthon_issue/models/inherit_room_booking.py
index fb24e40cc..73d6f4b72 100644
--- a/yuthon_issue/models/inherit_room_booking.py
+++ b/yuthon_issue/models/inherit_room_booking.py
@@ -155,16 +155,22 @@ class IssueMeetingLine(models.Model):
if self.decision_results == 'agree':
is_agree = 'pass'
agree_name = '(通过)'
- issue_state = 'on_meet'
+ is_push = True
else:
is_agree = 'reject'
agree_name = '(未通过)'
- issue_state = 'will'
+ is_push = False
- self.issue_library_id.issue_state = issue_state
+ self.issue_library_id.issue_state = 'will'
# 2. 党委会相关:先清理旧后缀,再拼接新后缀
if '党' in meeting_type_name:
+
+ if self.issue_library_id.is_class:
+ self.issue_library_id.is_push_class = is_push
+ elif self.issue_library_id.is_boss:
+ self.issue_library_id.is_push_boss = is_push
+
self.issue_library_id.is_party_passed = is_agree
original_party_char = self.issue_library_id.party_char or ""
# 清理原有后缀(避免重复拼接)
@@ -173,8 +179,14 @@ class IssueMeetingLine(models.Model):
clean_party_char = clean_party_char.removesuffix(suffix)
self.issue_library_id.party_char = clean_party_char + agree_name
+ if self.issue_library_id.is_boss == False and self.issue_library_id.is_class == False:
+ self.issue_library_id.issue_state = 'on_meet'
+
# 3. 班子会相关:先清理旧后缀,再拼接新后缀
if '班子' in meeting_type_name:
+ if self.issue_library_id.is_boss:
+ self.issue_library_id.is_push_boss = is_push
+
self.issue_library_id.is_class_passed = is_agree
original_class_char = self.issue_library_id.class_char or ""
# 清理原有后缀
@@ -184,8 +196,13 @@ class IssueMeetingLine(models.Model):
# 拼接新后缀
self.issue_library_id.class_char = clean_class_char + agree_name
+ if self.issue_library_id.is_boss:
+ self.issue_library_id.issue_state = 'on_meet'
+
# 4. 董事会相关:先清理旧后缀,再拼接新后缀
if '董事' in meeting_type_name:
+ self.issue_library_id.issue_state = 'on_meet'
+ self.issue_library_id.is_push_boss = is_push
self.issue_library_id.is_boss_passed = is_agree
original_boss_char = self.issue_library_id.boss_char or ""
# 清理原有后缀
diff --git a/yuthon_issue/models/issue_boss_approval.py b/yuthon_issue/models/issue_boss_approval.py
index 3a9bcf7fc..8b71771bb 100644
--- a/yuthon_issue/models/issue_boss_approval.py
+++ b/yuthon_issue/models/issue_boss_approval.py
@@ -29,8 +29,6 @@ class IssueBossApproval(models.Model):
for record in self:
if record.line_ids:
for line in record.line_ids:
- if line.issue_id.is_state_updated == False:
- line.issue_id.is_state_updated = True
line.issue_id.issue_state = 'will'
class IssueBossApprovalLine(models.Model):
diff --git a/yuthon_issue/models/issue_class_approval.py b/yuthon_issue/models/issue_class_approval.py
index bc702c3e9..529bed239 100644
--- a/yuthon_issue/models/issue_class_approval.py
+++ b/yuthon_issue/models/issue_class_approval.py
@@ -29,8 +29,6 @@ class IssueClassApproval(models.Model):
for record in self:
if record.line_ids:
for line in record.line_ids:
- if line.issue_id.is_state_updated == False:
- line.issue_id.is_state_updated = True
line.issue_id.issue_state = 'will'
class IssueClassApprovalLine(models.Model):
diff --git a/yuthon_issue/models/issue_library.py b/yuthon_issue/models/issue_library.py
index adad6f09a..523a76537 100644
--- a/yuthon_issue/models/issue_library.py
+++ b/yuthon_issue/models/issue_library.py
@@ -68,15 +68,13 @@ class IssueLibrary(models.Model):
is_party_passed = fields.Selection([('',''), ('pass', '通过'), ('reject', '未通过')])
is_class_passed = fields.Selection([('',''), ('pass', '通过'), ('reject', '未通过')])
is_boss_passed = fields.Selection([('',''), ('pass', '通过'), ('reject', '未通过')])
- push_invisible = fields.Boolean(string="推送隐藏", compute='_compute_push_invisible')
+ push_invisible = fields.Boolean(string="推送隐藏")
is_push_party = fields.Boolean(string="党推送")
is_push_class = fields.Boolean(string="班子推送")
is_push_boss = fields.Boolean(string="董事推送")
is_push_depart = fields.Boolean(string="部门推送")
- is_state_updated = fields.Boolean(string='状态是否已更新', default=False)
-
def meeting_record(self):
self.ensure_one()
domain = [
@@ -203,51 +201,6 @@ class IssueLibrary(models.Model):
}
}
- @api.depends(
- 'is_party', 'is_class', 'is_boss',
- 'is_push_party', 'is_party_passed',
- 'is_push_class', 'is_class_passed',
- 'is_push_boss', 'is_boss_passed',
- 'is_push_depart'
- )
- def _compute_push_invisible(self):
- for record in self:
- record.push_invisible = False
- type_mapping = {
- 'party': (record.is_party, record.is_party_passed),
- 'class': (record.is_class, record.is_class_passed),
- 'boss': (record.is_boss, record.is_boss_passed),
- }
- # 筛选开关为True的类型,收集其passed值
- active_passed_values = []
- for type_key, (type_switch, type_passed) in type_mapping.items():
- if type_switch:
- active_passed_values.append(type_passed)
- # 所有激活类型的passed都为pass → 设为True
- if active_passed_values and all(passed == 'pass' for passed in active_passed_values):
- record.push_invisible = True
- continue
-
- if record.is_party:
- if not record.is_push_party and (record.is_party_passed == 'reject' or not record.is_party_passed):
- record.push_invisible = True
- continue
- if record.is_class:
- if not record.is_push_class and (record.is_class_passed == 'reject' or not record.is_class_passed):
- record.push_invisible = True
- continue
- if record.is_boss:
- if not record.is_push_boss and (record.is_boss_passed == 'reject' or not record.is_boss_passed):
- record.push_invisible = True
- continue
-
- if record.issue_state in ['will', 'on_meet']:
- if record.push_invisible :
- record.issue_state = 'on_meet'
- else:
- record.issue_state = 'will'
-
-
@api.depends('issue_library_line_ids',
'issue_library_line_ids.issue_approval_decision_id',
'issue_library_line_ids.district_state_id',
@@ -297,7 +250,7 @@ class IssueLibrary(models.Model):
def depart_push(self):
for rec in self:
- rec.is_push_depart = True
+ rec.is_push_depart = True
def library_push(self):
for rec in self:
@@ -312,16 +265,8 @@ class IssueLibrary(models.Model):
push_update_vals['is_push_boss'] = True
if push_update_vals:
+ rec.push_invisible = True
rec.write(push_update_vals)
- if not rec.is_state_updated:
- rec.write({
- 'issue_state': 'to_approval',
- })
- else:
- rec.write({
- 'issue_state': 'will'}
- )
-
@api.onchange('is_legal_trial')
def _onchange_is_legal_trial(self):
diff --git a/yuthon_issue/models/issue_party_approval.py b/yuthon_issue/models/issue_party_approval.py
index 7dbbbc582..5c60e9eee 100644
--- a/yuthon_issue/models/issue_party_approval.py
+++ b/yuthon_issue/models/issue_party_approval.py
@@ -35,8 +35,6 @@ class IssuePartyApproval(models.Model):
for record in self:
if record.line_ids:
for line in record.line_ids:
- if line.issue_id.is_state_updated == False:
- line.issue_id.is_state_updated = True
line.issue_id.issue_state = 'will'
class IssuePartyApprovalLine(models.Model):
diff --git a/yuthon_issue/views/issue_library_views.xml b/yuthon_issue/views/issue_library_views.xml
index e3835ee1a..c2a22b14d 100644
--- a/yuthon_issue/views/issue_library_views.xml
+++ b/yuthon_issue/views/issue_library_views.xml
@@ -69,7 +69,7 @@
-
+
@@ -308,8 +308,9 @@
+
-
+
@@ -340,8 +341,9 @@
+
-
+
@@ -502,7 +504,8 @@
-
+
+
@@ -651,7 +654,8 @@
-
+
+