Merge pull request !2622 from 李鹏宇/dev
This commit is contained in:
李鹏宇
2025-04-30 12:09:11 +00:00
committed by Gitee
11 changed files with 104 additions and 66 deletions
+1
View File
@@ -22,6 +22,7 @@
'views/issue_approval_decision_views.xml',
'views/issue_approval_decision_type_views.xml',
'views/issue_meeting_minutes_views.xml',
'views/issue_library_type_views.xml',
'report/meeting_minutes_report.xml',
'views/menus.xml',
],
+1
View File
@@ -7,4 +7,5 @@ from . import issue_approval_decision_type
from . import inherit_room_booking
from . import issue_approval
from . import issue_meeting_minutes
from . import issue_library_type
+6 -13
View File
@@ -11,12 +11,12 @@ class IssueApprovalDecision(models.Model):
decision_type_on_id = fields.Many2one('issue.approval.decision.type', string='事项类别上级')
sequence = fields.Char(string='序号', store=True)
specifics = fields.Text(string='具体事项')
council = fields.Selection([('approval', '审'), ('decide', '决')], string='党总委员会')
team_meet = fields.Selection([('approval', '审'), ('decide', '决')], string='经营班子会')
board_meet = fields.Selection([('approval', '审'), ('decide', '决'), ('commission', '授权投决会')], string='董事会', compute='_compute_board_meet', readonly=False)
district_state = fields.Selection([('approval', '审'), ('decide', '决')], string="区国资局",)
district_government = fields.Selection([('approval', '审'), ('decide', '决')], string="区政府",)
district_party= fields.Selection([('approval', '审'), ('decide', '决')], string="区委组织部")
council_id = fields.Many2one('issue.library.type', string='党总委员会')
team_meet_id = fields.Many2one('issue.library.type', string='经营班子会')
board_meet_id = fields.Many2one('issue.library.type', string='董事会')
district_state_id = fields.Many2one('issue.library.type', string="区国资局",)
district_government_id = fields.Many2one('issue.library.type', string="区政府",)
district_party_id= fields.Many2one('issue.library.type', string="区委组织部")
department_id = fields.Many2one('hr.department', string="部门")
management_matters = fields.Char(string='管理事项')
company_id = fields.Many2one('res.company', string="公司", default=lambda self: self._get_default_company())
@@ -42,13 +42,6 @@ class IssueApprovalDecision(models.Model):
if seq.decision_type_id.decision_type_id:
seq.decision_type_on_id = seq.decision_type_id.decision_type_id
@api.depends('team_meet')
def _compute_board_meet(self):
for record in self:
if record.team_meet:
record.board_meet = 'approval'
def update_issue(self):
company = self.env['res.company'].search([('name', '=', '集团本部')], limit=1)
issue_active_ids = self.env["issue.approval.decision"].browse(
+27 -21
View File
@@ -216,24 +216,30 @@ class IssueLibrary(models.Model):
@api.depends('issue_library_line_ids')
def _compute_issue_library_line_ids(self):
for line in self:
line.is_party = bool(line.issue_library_line_ids.filtered('council'))
line.is_class = bool(line.issue_library_line_ids.filtered('team_meet'))
line.is_boss = bool(line.issue_library_line_ids.filtered('board_meet'))
line.is_district_state = bool(line.issue_library_line_ids.filtered('district_state'))
line.is_district_government = bool(line.issue_library_line_ids.filtered('district_government'))
line.is_district_party = bool(line.issue_library_line_ids.filtered('district_party'))
line.is_note = any([
bool(line.issue_library_line_ids.filtered(lambda rec: rec.issue_approval_decision_id.district_state)),
bool(line.issue_library_line_ids.filtered(lambda rec: rec.issue_approval_decision_id.district_government)),
bool(line.issue_library_line_ids.filtered(lambda rec: rec.issue_approval_decision_id.district_party))
for record in self:
# 判断issue_library_line_ids记录集中是否存在关联了issue.library.type的记录
record.is_party = bool(record.issue_library_line_ids.filtered(lambda rec: rec.council_id))
record.is_class = bool(record.issue_library_line_ids.filtered(lambda rec: rec.team_meet_id))
record.is_boss = bool(record.issue_library_line_ids.filtered(lambda rec: rec.board_meet_id))
record.is_district_state = bool(record.issue_library_line_ids.filtered(lambda rec: rec.district_state_id))
record.is_district_government = bool(
record.issue_library_line_ids.filtered(lambda rec: rec.district_government_id))
record.is_district_party = bool(record.issue_library_line_ids.filtered(lambda rec: rec.district_party_id))
record.is_note = any([
bool(record.issue_library_line_ids.filtered(
lambda rec: rec.issue_approval_decision_id and rec.issue_approval_decision_id.district_state_id)),
bool(record.issue_library_line_ids.filtered(
lambda rec: rec.issue_approval_decision_id and rec.issue_approval_decision_id.district_government_id)),
bool(record.issue_library_line_ids.filtered(
lambda rec: rec.issue_approval_decision_id and rec.issue_approval_decision_id.district_party_id))
])
def unlink(self):
for i in self:
if i.issue_state == 'on_meet':
raise UserError('议题已上会,不能删除')
return super().unlink()
for i in self:
if i.issue_state == 'on_meet':
raise UserError('议题已上会,不能删除')
return super().unlink()
@api.depends('name')
def _compute_name(self):
@@ -273,12 +279,12 @@ class IssueLibraryLine(models.Model):
issue_library_id = fields.Many2one('issue.library')
issue_approval_decision_id = fields.Many2one('issue.approval.decision', string="决策清单")
council = fields.Selection(related='issue_approval_decision_id.council', string='党总委员会')
team_meet = fields.Selection(related='issue_approval_decision_id.team_meet', string='经营班子会')
board_meet = fields.Selection(related='issue_approval_decision_id.board_meet', string='董事会')
district_state = fields.Selection(related='issue_approval_decision_id.district_state', string="区国资局")
district_government = fields.Selection(related='issue_approval_decision_id.district_government', string="区政府")
district_party = fields.Selection(related='issue_approval_decision_id.district_party', string="区委组织部")
council_id = fields.Many2one(related='issue_approval_decision_id.council_id', string='党总委员会')
team_meet_id = fields.Many2one(related='issue_approval_decision_id.team_meet_id', string='经营班子会')
board_meet_id = fields.Many2one(related='issue_approval_decision_id.board_meet_id', string='董事会')
district_state_id = fields.Many2one(related='issue_approval_decision_id.district_state_id', string="区国资局")
district_government_id = fields.Many2one(related='issue_approval_decision_id.district_government_id', string="区政府")
district_party_id = fields.Many2one(related='issue_approval_decision_id.district_party_id', string="区委组织部")
ordinal = fields.Char(related='issue_approval_decision_id.sequence', string='序号')
+13
View File
@@ -0,0 +1,13 @@
# -*- coding: utf-8 -*-
from odoo import api, fields, models, tools
from odoo.exceptions import UserError, ValidationError
class IssueLibraryType(models.Model):
_name = "issue.library.type"
_description = '决策类型配置'
_rec_name = 'name'
name = fields.Char(string="事项类别")
@@ -10,3 +10,4 @@ access_issue_meeting_minutes_line,issue_meeting_minutes_line,model_issue_meeting
access_issue_meeting_minutes,issue_meeting_minutes,model_issue_meeting_minutes,base.group_user,1,1,1,1
access_issue_meeting_line,issue_meeting_line,model_issue_meeting_line,base.group_user,1,1,1,1
access_issue_library_room_line,issue_library_room_line,model_issue_library_room_line,base.group_user,1,1,1,1
access_issue_library_type,issue_library_type,model_issue_library_type,base.group_user,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
10 access_issue_meeting_minutes issue_meeting_minutes model_issue_meeting_minutes base.group_user 1 1 1 1
11 access_issue_meeting_line issue_meeting_line model_issue_meeting_line base.group_user 1 1 1 1
12 access_issue_library_room_line issue_library_room_line model_issue_library_room_line base.group_user 1 1 1 1
13 access_issue_library_type issue_library_type model_issue_library_type base.group_user 1 1 1 1
@@ -10,12 +10,12 @@
<field name="decision_type_id"/>
<field name="decision_type_on_id"/>
<field name="management_matters"/>
<field name="council"/>
<field name="team_meet"/>
<field name="board_meet"/>
<field name="district_state"/>
<field name="district_government"/>
<field name="district_party"/>
<field name="council_id"/>
<field name="team_meet_id"/>
<field name="board_meet_id"/>
<field name="district_state_id"/>
<field name="district_government_id"/>
<field name="district_party_id"/>
<field name="remarks"/>
<field name="scope"/>
<field name="company_id"/>
@@ -41,21 +41,21 @@
<group>
<field name="sequence" force_save="1"/>
<field name="decision_type_on_id" force_save="1"/>
<field name="council"/>
<field name="council_id"/>
</group>
<group>
<field name="specifics" required="1"/>
<field name="team_meet"/>
<field name="team_meet_id"/>
</group>
<group>
<field name="board_meet"/>
<field name="board_meet_id"/>
<field name="start_date"/>
<field name="department_id" widget="ztree_select"/>
</group>
<group>
<field name="district_state"/>
<field name="district_government"/>
<field name="district_party"/>
<field name="district_state_id"/>
<field name="district_government_id"/>
<field name="district_party_id"/>
<field name="scope"/>
<field name="company_id"/>
<field name="end_date"/>
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<record id="view_issue_library_type_tree" model="ir.ui.view">
<field name="name">issue.library.type.tree</field>
<field name="model">issue.library.type</field>
<field name="arch" type="xml">
<tree editable="bottom">
<field name="name"/>
</tree>
</field>
</record>
<record id="view_issue_library_type_action" model="ir.actions.act_window">
<field name="name">决策类型</field>
<field name="res_model">issue.library.type</field>
<field name="view_mode">tree</field>
</record>
</odoo>
+18 -18
View File
@@ -97,12 +97,12 @@
<field name="ordinal"/>
<field name="issue_library_id" column_invisible="1"/>
<field name="issue_approval_decision_id" class="list_ids_width"/>
<field name="council" readonly="1"/>
<field name="team_meet" readonly="1"/>
<field name="board_meet" readonly="1"/>
<field name="district_state" readonly="1"/>
<field name="district_government" readonly="1"/>
<field name="district_party" readonly="1"/>
<field name="council_id" readonly="1"/>
<field name="team_meet_id" readonly="1"/>
<field name="board_meet_id" readonly="1"/>
<field name="district_state_id" readonly="1"/>
<field name="district_government_id" readonly="1"/>
<field name="district_party_id" readonly="1"/>
</tree>
</field>
</page>
@@ -257,10 +257,10 @@
<tree editable="bottom">
<field name="issue_library_id" column_invisible="1"/>
<field name="issue_approval_decision_id" class="list_ids_width"/>
<field name="council" readonly="1"/>
<field name="district_state" readonly="1"/>
<field name="district_government" readonly="1"/>
<field name="district_party" readonly="1"/>
<field name="council_id" readonly="1"/>
<field name="district_state_id" readonly="1"/>
<field name="district_government_id" readonly="1"/>
<field name="district_party_id" readonly="1"/>
</tree>
</field>
</page>
@@ -404,10 +404,10 @@
<field name="ordinal"/>
<field name="issue_library_id" column_invisible="1"/>
<field name="issue_approval_decision_id" class="list_ids_width"/>
<field name="team_meet" readonly="1"/>
<field name="district_state" readonly="1"/>
<field name="district_government" readonly="1"/>
<field name="district_party" readonly="1"/>
<field name="team_meet_id" readonly="1"/>
<field name="district_state_id" readonly="1"/>
<field name="district_government_id" readonly="1"/>
<field name="district_party_id" readonly="1"/>
</tree>
</field>
</page>
@@ -539,10 +539,10 @@
<field name="ordinal"/>
<field name="issue_library_id" column_invisible="1"/>
<field name="issue_approval_decision_id" class="list_ids_width"/>
<field name="board_meet" readonly="1"/>
<field name="district_state" readonly="1"/>
<field name="district_government" readonly="1"/>
<field name="district_party" readonly="1"/>
<field name="board_meet_id" readonly="1"/>
<field name="district_state_id" readonly="1"/>
<field name="district_government_id" readonly="1"/>
<field name="district_party_id" readonly="1"/>
</tree>
</field>
</page>
+7 -1
View File
@@ -181,8 +181,14 @@
<menuitem id="issue_approval_decision_type_menu"
parent="issue_approval_decision_setting_menu"
name="事项类别配置"
name="事项类别"
action="issue_approval_decision_type_action"
sequence="1"/>
<menuitem id="issue_library_type_menu"
parent="issue_approval_decision_setting_menu"
name="决策类别"
action="view_issue_library_type_action"
sequence="2"/>
</odoo>
+1 -1
View File
@@ -440,7 +440,7 @@
sequence="3"/>
<!--财务管理-->
<menuitem id="finance_root_board"
name="财务管理"
name="资金管理"
web_icon="yuthon_work_brand,static/description/finance.png"
sequence="37"/>
<menuitem id="finance_manage_employee_root_board"