添加功能
This commit is contained in:
@@ -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 ""
|
||||
# 清理原有后缀
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
<field name="is_push_depart" column_invisible="1"/>
|
||||
<field name="push_invisible" column_invisible="1"/>
|
||||
<!-- <button name="single_issue_pull" string="提交" type="object" class="oe_highlight"/>-->
|
||||
<button name="library_push" string="推送" type="object" class="oe_highlight" invisible="not push_invisible"/>
|
||||
<button name="library_push" string="推送" type="object" class="oe_highlight" invisible="push_invisible"/>
|
||||
<button name="revoke" string="撤销" type="object" class="oe_highlight" invisible="issue_state == 'draft'"/>
|
||||
<button name="issue_cancel" string="取消" type="object" class="oe_highlight"/>
|
||||
<button name="unlink" string="删除" type="object" class="oe_highlight"/>
|
||||
@@ -308,8 +308,9 @@
|
||||
<field name="is_district_government"/>
|
||||
<field name="is_district_party"/>
|
||||
<field name="issue_state"/>
|
||||
<field name="is_party_passed" column_invisible="1"/>
|
||||
<field name="company_id" optional="hide"/>
|
||||
<button name="single_meeting_issue" string="上会" type="object" class="oe_highlight" invisible="issue_state != 'will'"/>
|
||||
<button name="single_meeting_issue" string="上会" type="object" class="oe_highlight" invisible="issue_state != 'will' or is_party_passed == 'pass'"/>
|
||||
<button name="meeting_record" string="会议详情" type="object" class="oe_highlight" invisible="issue_state not in ['meeting', 'on_meet']"/>
|
||||
<button name="correction" string="修正提醒" type="object" class="oe_highlight"/>
|
||||
<button name="issue_cancel" string="取消" type="object" class="oe_highlight"/>
|
||||
@@ -340,8 +341,9 @@
|
||||
<field name="is_district_government"/>
|
||||
<field name="is_district_party"/>
|
||||
<field name="issue_state"/>
|
||||
<field name="is_party_passed" column_invisible="1"/>
|
||||
<field name="company_id" optional="hide"/>
|
||||
<button name="single_meeting_issue" string="上会" type="object" class="oe_highlight" invisible="issue_state != 'will'"/>
|
||||
<button name="single_meeting_issue" string="上会" type="object" class="oe_highlight" invisible="issue_state != 'will' or is_party_passed == 'pass'"/>
|
||||
<button name="meeting_record" string="会议详情" type="object" class="oe_highlight" invisible="issue_state not in ['meeting', 'on_meet']"/>
|
||||
<button name="correction" string="修正提醒" type="object" class="oe_highlight"/>
|
||||
<button name="issue_cancel" string="取消" type="object" class="oe_highlight"/>
|
||||
@@ -502,7 +504,8 @@
|
||||
<field name="is_district_party"/>
|
||||
<field name="issue_state"/>
|
||||
<field name="company_id" optional="hide"/>
|
||||
<button name="single_meeting_issue" string="上会" type="object" class="oe_highlight" invisible="issue_state != 'will'"/>
|
||||
<field name="is_class_passed" invisible="1"/>
|
||||
<button name="single_meeting_issue" string="上会" type="object" class="oe_highlight" invisible="issue_state != 'will' or is_class_passed == 'pass'"/>
|
||||
<button name="meeting_record" string="会议详情" type="object" class="oe_highlight" invisible="issue_state not in ['meeting', 'on_meet']"/>
|
||||
<button name="correction" string="修正提醒" type="object" class="oe_highlight"/>
|
||||
<button name="issue_cancel" string="取消" type="object" class="oe_highlight"/>
|
||||
@@ -651,7 +654,8 @@
|
||||
<field name="is_district_party"/>
|
||||
<field name="issue_state"/>
|
||||
<field name="company_id" optional="hide"/>
|
||||
<button name="single_meeting_issue" string="上会" type="object" class="oe_highlight" invisible="issue_state != 'will'"/>
|
||||
<field name="is_class_passed" invisible="1"/>
|
||||
<button name="single_meeting_issue" string="上会" type="object" class="oe_highlight" invisible="issue_state != 'will' or is_boss_passed == 'pass'"/>
|
||||
<button name="meeting_record" string="会议详情" type="object" class="oe_highlight" invisible="issue_state not in ['meeting', 'on_meet']"/>
|
||||
<button name="correction" string="修正提醒" type="object" class="oe_highlight"/>
|
||||
<button name="issue_cancel" string="取消" type="object" class="oe_highlight"/>
|
||||
|
||||
Reference in New Issue
Block a user