Merge pull request !9511 from 李鹏宇/dev
This commit is contained in:
李鹏宇
2026-03-10 03:17:20 +00:00
committed by Gitee
+27 -2
View File
@@ -85,6 +85,7 @@ class SoongWorkflowMixin(models.AbstractModel):
is_active = fields.Boolean(string='是否允许归档', compute='_compute_is_active', store=False,)
is_confirm = fields.Boolean(string="未确认", compute='_compute_is_confirm', store=False,)
is_end = fields.Boolean(string="未结束", compute='_compute_is_confirm', store=False,)
is_done = fields.Boolean(string="已办", compute='_compute_is_done', store=False,)
is_send = fields.Boolean(string="是否分发")
def _compute_is_back(self):
@@ -139,6 +140,19 @@ class SoongWorkflowMixin(models.AbstractModel):
# if self.log_ids[-1].name == '归档' and self.log_ids[-1].is_active_operate == True:
# self.is_active = False
def _compute_is_done(self):
for record in self:
record.is_done = False
log_ids_domain = [
('done_by', '=', self.env.user.id),
('workflow_id', '=', record.workflow_id.id),
('res_id', '=', record.id),
]
lg1 = record.log_ids.search(log_ids_domain)
if lg1:
if lg1.approval_state == '2':
record.is_done = True
def _compute_is_confirm(self):
for record in self:
record.is_confirm = False
@@ -1004,12 +1018,13 @@ class SoongWorkflowMixin(models.AbstractModel):
id_el = etree.Element("field")
id_el.set("name", "log_ids")
id_el.set("invisible", "1")
invisible += " or not log_ids "
invisible += " or not log_ids or is_done"
if button.name == "分发":
btn_exec_action_el.set("class", "btn btn-distribute")
invisible += " or is_send"
invisible += " or is_send or is_done"
if button.name == "转交":
btn_exec_action_el.set("class", "btn btn-transfer")
invisible += " or is_done"
if button.name == "收回":
btn_exec_action_el.set("class", "btn btn-recall")
id_el = etree.Element("field")
@@ -1090,6 +1105,11 @@ class SoongWorkflowMixin(models.AbstractModel):
end_el.set("invisible", "1")
header_el.append(end_el)
back_el = etree.Element("field")
back_el.set("name", "is_back")
back_el.set("invisible", "1")
header_el.append(back_el)
confirm_el = etree.Element("field")
confirm_el.set("name", "is_confirm")
confirm_el.set("invisible", "1")
@@ -1105,6 +1125,11 @@ class SoongWorkflowMixin(models.AbstractModel):
send_el.set("invisible", "1")
header_el.append(send_el)
done_el = etree.Element("field")
done_el.set("name", "is_done")
done_el.set("invisible", "1")
header_el.append(done_el)
if header_el is not False:
state_el = etree.Element("field")
state_el.set("name", "state")