diff --git a/soong_workflow/models/soong_note.py b/soong_workflow/models/soong_note.py
index af2cb41ae..173652b1e 100644
--- a/soong_workflow/models/soong_note.py
+++ b/soong_workflow/models/soong_note.py
@@ -6,5 +6,5 @@ class SoongNote(models.Model):
_name = 'soong.note'
name = fields.Char(string="审批意见")
- type = fields.Selection([('agree', '同意'), ('return', '退回'), ('refuse', '拒绝')], string="意见类型")
+ type = fields.Selection([('agree', '同意'), ('return', '退回'), ('refuse', '拒绝'), ('super', '督办')], string="意见类型")
return_type = fields.Char(string="退回类型")
diff --git a/soong_workflow/models/soong_workflow_node.py b/soong_workflow/models/soong_workflow_node.py
index 991b9aadc..7c113bc47 100644
--- a/soong_workflow/models/soong_workflow_node.py
+++ b/soong_workflow/models/soong_workflow_node.py
@@ -104,6 +104,15 @@ class SoongWorkflowNode(models.Model):
"action_type": "code",
"code": "obj.action_withdraw()",
},)]
+ elif val['node_name'] == '分发':
+ val["button_ids"] = [
+ (0, 0, {
+ "name": _("分发"),
+ "workflow_id": val['workflow_id'],
+ "sequence": 1,
+ "action_type": "code",
+ "has_comment": True,
+ },)]
else:
val["button_ids"] = [
(0, 0, {
diff --git a/soong_workflow/wizard/soong_workflow_comment_wizard.py b/soong_workflow/wizard/soong_workflow_comment_wizard.py
index 231769ae3..c84b2ef28 100644
--- a/soong_workflow/wizard/soong_workflow_comment_wizard.py
+++ b/soong_workflow/wizard/soong_workflow_comment_wizard.py
@@ -25,6 +25,32 @@ class SoongWorkflowCommentWizard(models.TransientModel):
trans_link_id = fields.Many2one('trans.link', string='转交节点')
return_link_id = fields.Many2one('trans.link', string='退回节点')
+ send_type = fields.Selection([('send', '分发'), ('super', '督办')], default='send', string="动作类型")
+ department_id = fields.Many2one('hr.department', string="承办部门")
+ start_date = fields.Date(string="开始日期", default=fields.Date.today())
+ end_date = fields.Date(string="结束日期")
+
+ department_ids = fields.Many2many('hr.department', string='部门范围')
+ employee_ids = fields.Many2many('hr.employee', string='人员范围')
+ users_role_ids = fields.Many2many('soong.user.role', string='角色范围')
+ approval_users_ids = fields.Many2many('res.users', string="传阅/督办人员", compute="compute_approval_users_ids", store=True)
+
+ @api.depends('department_ids', 'employee_ids', 'users_role_ids')
+ def compute_approval_users_ids(self):
+ department_users_list = users_role_list = []
+ for users in self:
+ if users.department_ids:
+ for depart in users.department_ids:
+ department_users_data = users.env['hr.employee'].search([('department_id', '=', depart.id)])
+ department_users_list = [de.user_id.id for de in department_users_data]
+ employee_users_list = users.employee_ids.user_id.ids
+ if users.users_role_ids:
+ for user_id in users.users_role_ids:
+ user_role_data = users.env['hr.employee'].search([('user_role_id', '=', user_id.id)])
+ users_role_list = [ro.user_id.id for ro in user_role_data]
+ publish_user_list = department_users_list + employee_users_list + users_role_list
+ users.approval_users_ids = [(6, 0, list(set(publish_user_list)))]
+
@api.onchange('record_id')
def _onchange_record_id(self):
record_id = self.env[self.res_model].search([('id', '=', self.res_id)])
diff --git a/soong_workflow/wizard/soong_workflow_comment_wizard_view.xml b/soong_workflow/wizard/soong_workflow_comment_wizard_view.xml
index 988c89d43..738518eca 100644
--- a/soong_workflow/wizard/soong_workflow_comment_wizard_view.xml
+++ b/soong_workflow/wizard/soong_workflow_comment_wizard_view.xml
@@ -19,8 +19,17 @@
-
+
+
+
+
+
+
+
+
+
+