diff --git a/yuthon_issue/__manifest__.py b/yuthon_issue/__manifest__.py
index 8d2a642fd..d4071cd93 100644
--- a/yuthon_issue/__manifest__.py
+++ b/yuthon_issue/__manifest__.py
@@ -16,13 +16,19 @@
'data/issue_library_code_data.xml',
'views/issue_library_views.xml',
'views/issue_type_views.xml',
- 'views/issue_approval_party_views.xml',
- 'views/issue_approval_class_views.xml',
- 'views/issue_approval_boss_views.xml',
+ 'views/issue_approval_views.xml',
+ # 'views/issue_approval_party_views.xml',
+ # 'views/issue_approval_class_views.xml',
+ # 'views/issue_approval_boss_views.xml',
'views/issue_approval_decision_views.xml',
'views/issue_approval_decision_type_views.xml',
'views/menus.xml',
],
+ 'assets': {
+ 'web.assets_backend': [
+ 'yuthon_issue/static/xml/meeting.xml'
+ ],
+ },
'installable': True,
'application': True,
-}
+}
\ No newline at end of file
diff --git a/yuthon_issue/data/issue_library_code_data.xml b/yuthon_issue/data/issue_library_code_data.xml
index beb877827..340210d73 100644
--- a/yuthon_issue/data/issue_library_code_data.xml
+++ b/yuthon_issue/data/issue_library_code_data.xml
@@ -7,4 +7,12 @@
3
+
+
+ 议题审批编号
+ issue_approval_code
+ YS%(y)s%(month)s%(day)s
+ 3
+
+
\ No newline at end of file
diff --git a/yuthon_issue/models/__init__.py b/yuthon_issue/models/__init__.py
index eb9f22f01..da8f5dbe2 100644
--- a/yuthon_issue/models/__init__.py
+++ b/yuthon_issue/models/__init__.py
@@ -1,10 +1,13 @@
# -*- coding: utf-8 -*-
from . import issue_library
-from . import issue_approval_party
from . import issue_type
-from . import issue_approval_class
-from . import issue_approval_boss
# from . import inherit_room_booking
from . import issue_approval_decision
from . import issue_approval_decision_type
+
+from . import issue_approval
+
+# from . import issue_approval_party
+# from . import issue_approval_class
+# from . import issue_approval_boss
diff --git a/yuthon_issue/models/issue_approval.py b/yuthon_issue/models/issue_approval.py
new file mode 100644
index 000000000..8ca788ee7
--- /dev/null
+++ b/yuthon_issue/models/issue_approval.py
@@ -0,0 +1,23 @@
+# -*- coding: utf-8 -*-
+from odoo import api, fields, models, tools
+from odoo.exceptions import ValidationError
+
+
+class IssueApproval(models.Model):
+ _name = "issue.approval"
+ _description = '议题审批'
+ _inherit = ['soong.workflow.mixin']
+ _rec_name = 'name'
+
+ name = fields.Char(string='名称')
+ code = fields.Char(string='编号', required=True, copy=False, default=lambda self: self.env['ir.sequence'].next_by_code('issue_approval_code'))
+ yuthon_company = fields.Selection([('thtz', '天河投资集团'), ('thwg', '天河物管'),
+ ('thlc', '天河粮储'), ('tctj', '天投城建'),
+ ('thtjbb', '天河投资本部')], string="所属公司")
+
+ department_id = fields.Many2one(related='user_id.employee_id.department_id', string="部门")
+ create_time = fields.Date(string='创建日期', default=lambda self: fields.Date.today())
+ user_id = fields.Many2one('res.users', string="经办人")
+
+ issue_library_ids = fields.One2many('issue.library', 'issue_approval_id', string="关联议题")
+ approval_decision_ids = fields.One2many('issue.approval.decision', 'issue_approval_id', string="决策清单")
diff --git a/yuthon_issue/models/issue_approval_decision.py b/yuthon_issue/models/issue_approval_decision.py
index ef238968c..a3d095f93 100644
--- a/yuthon_issue/models/issue_approval_decision.py
+++ b/yuthon_issue/models/issue_approval_decision.py
@@ -14,7 +14,7 @@ class IssueApprovalDecision(models.Model):
council = fields.Selection([('approval', '审'), ('decide', '决')], string='党总委员会')
team_meet = fields.Selection([('approval', '审'), ('decide', '决')], string='经营班子会')
board_meet = fields.Selection([('approval', '审'), ('decide', '决'), ('commission', '授权投决会')], string='董事会')
- district_bureau = fields.Selection([('record', '备案'), ('approved', '核准'), ('record_approved', '备案、核准')], string='区政府、区财政局')
+ district_bureau = fields.Selection([('record', '备案'), ('approved', '核准'), ('record_approved', '备案、核准')], string='上级单位')
yuthon_company = fields.Selection([('thtz', '天河投资集团'), ('thwg', '天河物管'),
('thlc', '天河粮储'), ('tctj', '天投城建')], string="所属公司")
department_id = fields.Many2one('hr.department', string="部门")
@@ -22,6 +22,8 @@ class IssueApprovalDecision(models.Model):
end_date = fields.Date(string="失效日期")
remarks = fields.Char(string='备注')
+ issue_approval_id = fields.Many2one('issue.approval', string="关联议题审批")
+
@api.onchange('decision_type_id')
def onchange_sequence(self):
for seq in self:
diff --git a/yuthon_issue/models/issue_library.py b/yuthon_issue/models/issue_library.py
index 1d2522914..e7926686c 100644
--- a/yuthon_issue/models/issue_library.py
+++ b/yuthon_issue/models/issue_library.py
@@ -10,25 +10,63 @@ class IssueLibrary(models.Model):
_rec_name = 'name'
name = fields.Char(string='议题事项')
- code = fields.Char(string='编号', required=True, copy=False,
- default=lambda self: self.env['ir.sequence'].next_by_code('issue_library_code'))
- statu = fields.Selection([('draft', '草稿'), ('approval', '审批中'), ('done', '已通过'), ('stop', '已拒绝'),
- ('will', '待上会'), ('on_meet', '已上会'), ('cancel', '已取消')], default='draft', string="议题状态")
+ code = fields.Char(string='编号', required=True, copy=False, default=lambda self: self.env['ir.sequence'].next_by_code('issue_library_code'))
+ statu = fields.Selection([('draft', '待提交'), ('approval', '审批中'), ('on_meet', '已上会'), ('cancel', '已取消')], default='draft', string="议题状态")
is_party = fields.Boolean(string="党之委会", default=False, compute='_compute_issue_library_line_ids')
is_class = fields.Boolean(string="班子会", default=False, compute='_compute_issue_library_line_ids')
is_boss = fields.Boolean(string="董事会", default=False, compute='_compute_issue_library_line_ids')
- is_note = fields.Boolean(string="备案、核准", default=False, compute='_compute_issue_library_line_ids')
+ is_note = fields.Boolean(string="上级单位", default=False, compute='_compute_issue_library_line_ids')
creart_datetime = fields.Datetime(string="创建时间", default=fields.Datetime.now)
notice_documents_ids = fields.Many2many('ir.attachment', string='议题附件')
issue_type_id = fields.Many2one('issue.type', string="议题类型")
- room_booking_id = fields.Many2one('room.booking', string="关联会议")
relevancy_type = fields.Selection([('none', '无')], string="关联流程类型")
+
+ issue_approval_id = fields.Many2one('issue.approval', string="关联议题审批")
issue_library_line_ids = fields.One2many('issue.library.line', 'issue_library_id', string="决策明细")
issue_library_approval_line_ids = fields.One2many('issue.library.approval.line', 'issue_approval_id', string='流程记录')
+ # 审批中
+ # ☑
+ # 已上会
+
+ # tree_ids
+ # json_content = fields.Text(string="json content", default={"name": "crax", "template": "yuthon_issue.meeting"}) # 配置
+ # json_display = fields.Char(string="json display", default={"name": "crax", "template": "yuthon_issue.meeting"}) # 效果
+ #
+ # @api.onchange('json_content')
+ # def _onchange_json_content(self):
+ # if self.json_content:
+ # self.json_display = self.json_content
+ # else:
+ # self.json_display = False
+
+ def issue_pull(self):
+ form_id = self.env.ref("yuthon_issue.issue_library_approval_form").id
+ return {
+ "type": "ir.actions.act_window",
+ "name": "提交",
+ "res_model": "issue.approval",
+ "target": 'new',
+ "views": [[form_id, "form"]],
+ }
+
def issue_cancel(self):
self.write({"statu": "cancel"})
+ def all_issue_pull(self):
+ issue_active_ids = self.env["issue.library"].browse(self._context.get('active_ids', self._context.get('active_id')))
+ issue_library_data = [(0, 0, {'name': issue.name}) for issue in issue_active_ids]
+ form_id = self.env.ref("yuthon_issue.issue_library_approval_form").id
+ self.write({"statu": "approval"})
+ return {
+ "type": "ir.actions.act_window",
+ "name": "提交",
+ "res_model": "issue.approval",
+ "target": 'new',
+ "views": [[form_id, "form"]],
+ }
+
+
def all_meeting_issue(self):
for meet in self:
if meet.statu == 'done':
@@ -43,9 +81,6 @@ class IssueLibrary(models.Model):
"res_model": "room.booking",
"target": 'new',
"views": [[form_id, "form"]],
- "context": {
- 'default_issue_room_booking_ids': issue_library_data,
- }
}
@api.depends('issue_library_line_ids')
@@ -68,6 +103,7 @@ class IssueLibraryLine(models.Model):
board_meet = fields.Selection(related='issue_approval_decision_id.board_meet', string='董事会')
district_bureau = fields.Selection(related='issue_approval_decision_id.district_bureau', string='区政府、区财政局')
+
class IssueLibraryApprovalLine(models.Model):
_name = "issue.library.approval.line"
_description = '关联流程明细'
@@ -75,8 +111,8 @@ class IssueLibraryApprovalLine(models.Model):
issue_approval_id = fields.Many2one('issue.library')
workflow_record_id = fields.Many2one('soong.workflow.record', string="标题")
code = fields.Char(string="流程编号")
- approval_type = fields.Many2one(related="workflow_record_id.workflow_id",string="类型")
- approval_date = fields.Datetime(related="workflow_record_id.write_date",string="创建日期")
+ approval_type = fields.Many2one(related="workflow_record_id.workflow_id", string="类型")
+ approval_date = fields.Datetime(related="workflow_record_id.write_date", string="创建日期")
def open_record(self):
return {
diff --git a/yuthon_issue/security/ir.model.access.csv b/yuthon_issue/security/ir.model.access.csv
index 101628303..6a76b9acc 100644
--- a/yuthon_issue/security/ir.model.access.csv
+++ b/yuthon_issue/security/ir.model.access.csv
@@ -1,9 +1,8 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_issue_library,issue_library,model_issue_library,base.group_user,1,1,1,1
access_issue_library_line,issue_library_line,model_issue_library_line,base.group_user,1,1,1,1
-access_issue_approval_boss,issue_approval_boss,model_issue_approval_boss,base.group_user,1,1,1,1
-access_issue_approval_class,issue_approval_class,model_issue_approval_class,base.group_user,1,1,1,1
-access_issue_approval_party,issue_approval_party,model_issue_approval_party,base.group_user,1,1,1,1
access_issue_approval_decision,issue_approval_decision,model_issue_approval_decision,base.group_user,1,1,1,1
access_issue_approval_decision_type,issue_approval_decision_type,model_issue_approval_decision_type,base.group_user,1,1,1,1
access_issue_library_approval_line,issue_library_approval_line,model_issue_library_approval_line,base.group_user,1,1,1,1
+access_issue_approval,issue_approval,model_issue_approval,base.group_user,1,1,1,1
+
diff --git a/yuthon_issue/static/xml/meeting.xml b/yuthon_issue/static/xml/meeting.xml
new file mode 100644
index 000000000..b11c5a14f
--- /dev/null
+++ b/yuthon_issue/static/xml/meeting.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+ | # |
+ First |
+ Last |
+ Handle |
+
+
+
+
+ | 1 |
+ Mark |
+ Otto |
+ @mdo |
+
+
+ | 2 |
+ Jacob |
+ Thornton |
+ @fat |
+
+
+ | 3 |
+ Larry the Bird |
+ @twitter |
+
+
+
+
+
\ No newline at end of file
diff --git a/yuthon_issue/views/issue_approval_views.xml b/yuthon_issue/views/issue_approval_views.xml
new file mode 100644
index 000000000..8dca8f44a
--- /dev/null
+++ b/yuthon_issue/views/issue_approval_views.xml
@@ -0,0 +1,74 @@
+
+
+
+ issue.approval.tree
+ issue.approval
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ issue.approval.form
+ issue.approval
+
+
+
+
+
+
+ 议题审批
+ issue.approval
+ tree,form
+
+
\ No newline at end of file
diff --git a/yuthon_issue/views/issue_library_views.xml b/yuthon_issue/views/issue_library_views.xml
index 380c9953d..75a38cf5d 100644
--- a/yuthon_issue/views/issue_library_views.xml
+++ b/yuthon_issue/views/issue_library_views.xml
@@ -4,14 +4,21 @@
issue.library.tree
issue.library
-
+
+
+
+
+
+
+
+
+
+
+
@@ -22,7 +29,6 @@
-
-
+
+
+
@@ -103,21 +116,8 @@
-
- 待上会
- issue.library
- tree,form
- [('statu','=','will')]
-
-
- 已上会
- issue.library
- tree,form
- [('statu','=','on_meet')]
-
-
-
+
issue.library.tree
issue.library
@@ -161,7 +161,6 @@
-
@@ -200,21 +199,36 @@
(0, 0, {'view_mode': 'form', 'view_id': ref('yuthon_issue.view_issue_library_form2')})]"/>
-
+
+
+ 审批中
+ issue.library
+ tree,form
+ [('statu','=','approval')]
+
+
+
已上会
issue.library
tree,form
[('statu','=','on_meet')]
-
-
- 批量上会
-
-
- code
- action = model.all_meeting_issue()
+
+ 已取消
+ issue.library
+ tree,form
+ [('statu','=','cancel')]
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/yuthon_issue/views/menus.xml b/yuthon_issue/views/menus.xml
index 8cb93223b..ec98e496a 100644
--- a/yuthon_issue/views/menus.xml
+++ b/yuthon_issue/views/menus.xml
@@ -19,7 +19,7 @@
@@ -29,57 +29,71 @@
action="issue_library_action_done"
sequence="10"/>
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+