添加功能

This commit is contained in:
李鹏宇
2026-05-21 15:59:18 +08:00
parent 62c0d12efd
commit 4216f1977b
4 changed files with 100 additions and 16 deletions
+7 -9
View File
@@ -64,23 +64,21 @@ class RoomBooking(models.Model):
if meet.issue_library_id:
meeting_type_name = str(record.meeting_type_id.name).strip()
if '党' in meeting_type_name:
if meet.issue_library_id.is_party and (
meet.issue_library_id.is_party_passed == 'reject' or not meet.issue_library_id.is_party_passed):
if meet.issue_library_id.is_party and not meet.issue_library_id.is_party_passed:
meet.issue_library_id.party_char = str(
record.start_datetime.date()) + record.meeting_type_id.name
meet.issue_library_id.issue_state_party = 'meeting'
meet.issue_library_id.issue_state = False
if '班子' in meeting_type_name:
if meet.issue_library_id.is_class and (meet.issue_library_id.is_class_passed == 'reject' or not meet.issue_library_id.is_class_passed):
if meet.issue_library_id.is_class and not meet.issue_library_id.is_class_passed:
meet.issue_library_id.class_char = str(
record.start_datetime.date()) + f'第{record.number_of_meetings}次' + record.meeting_type_id.name
meet.issue_library_id.issue_state_class = 'meeting'
meet.issue_library_id.issue_state = False
if '董事' in meeting_type_name:
if meet.issue_library_id.is_boss and (
meet.issue_library_id.is_boss_passed == 'reject' or not meet.issue_library_id.is_boss_passed):
if meet.issue_library_id.is_boss and not meet.issue_library_id.is_boss_passed:
meet.issue_library_id.boss_char = str(
record.start_datetime.date()) + record.meeting_type_id.name
meet.issue_library_id.issue_state_boss = 'meeting'
@@ -307,7 +305,7 @@ class IssueMeetingLine(models.Model):
)
users_role_group_ids = fields.Many2many(comodel_name="soong.user.role.group", string="列席群组")
is_sanda = fields.Boolean(string="三重一大")
decision_results = fields.Selection([('agree', '通过'), ('disagree', '重新上会'), ('rejected', '驳回')], string="决策结果")
decision_results = fields.Selection([('agree', '通过'), ('rejected', '驳回')], string="决策结果")
decision_details = fields.Text(string="决策详情")
def copy_line(self):
@@ -374,7 +372,7 @@ class IssueMeetingLine(models.Model):
for suffix in suffix_list:
clean_party_char = clean_party_char.removesuffix(suffix)
record.issue_library_id.party_char = clean_party_char + agree_name
record.issue_library_id.issue_state_party = 'on_meet' if is_push else 'will'
record.issue_library_id.issue_state_party = 'on_meet'
# 3. 班子会相关
if '班子' in meeting_type_name:
@@ -386,7 +384,7 @@ class IssueMeetingLine(models.Model):
for suffix in suffix_list:
clean_class_char = clean_class_char.removesuffix(suffix)
record.issue_library_id.class_char = clean_class_char + agree_name
record.issue_library_id.issue_state_class = 'on_meet' if is_push else 'will'
record.issue_library_id.issue_state_class = 'on_meet'
# 4. 董事会相关
if '董事' in meeting_type_name:
@@ -397,7 +395,7 @@ class IssueMeetingLine(models.Model):
for suffix in suffix_list:
clean_boss_char = clean_boss_char.removesuffix(suffix)
record.issue_library_id.boss_char = clean_boss_char + agree_name
record.issue_library_id.issue_state_boss = 'on_meet' if is_push else 'will'
record.issue_library_id.issue_state_boss = 'on_meet'
# 套开相关
if '套' in meeting_type_name:
+2 -1
View File
@@ -157,7 +157,8 @@ class IssueApproval(models.Model):
for rec in self:
if rec.issue_approval_ids:
for issue_library in rec.issue_approval_ids:
issue_library.issue_library_id.write({'issue_state': 'to_approval'})
issue_library.issue_library_id.write({'issue_state': 'to_approval',
})
if not issue_library.issue_library_id.issue_approval_id:
issue_library.issue_library_id.issue_approval_id = rec.id
if rec.code:
+1 -1
View File
@@ -76,7 +76,7 @@
<tree editable="bottom">
<button name="open_record" type="object" string="详情" class="oe_highlight"/>
<field name="issue_approval_id" column_invisible="1"/>
<field name="issue_library_id" options="{'no_open': True, 'no_create': True}"/>
<field name="issue_library_id" options="{'no_open': True, 'no_create': True}" domain="[('is_push_depart', '=', True)]"/>
<field name="is_party" groups="yuthon_salary.group_jtbb_user" string="党总支"/>
<field name="is_party" groups="yuthon_salary.group_lc_user,yuthon_salary.group_wg_user" string="党支部会"/>
<field name="is_class"/>
+90 -5
View File
@@ -342,6 +342,7 @@
<filter string="已上会" name="issue_state" domain="[('issue_state', '=', 'on_meet')]"/>
<filter string="待上会审批" name="to_approval" domain="[('issue_state', '=', 'to_approval')]"/>
<group expand="0">
<filter name="group_push" string="推送状态" context="{'group_by': 'push_invisible'}"/>0
<filter name="group_manager" string="会议状态" domain="[]" context="{'group_by': 'issue_state'}"/>
<filter name="my_department_shifts" string="本部门" domain="[('member_of_department', '=', True)]"/>
</group>
@@ -380,6 +381,34 @@
</record>
<!--党支委议题菜单-->
<record id="view_issue_library_party_search" model="ir.ui.view">
<field name="name">issue.library.party.search</field>
<field name="model">issue.library</field>
<field name="arch" type="xml">
<search string="党议题">
<field name="name"/>
<field name="code"/>
<field name="name_text"/>
<filter string="待上会" name="issue_state" domain="[('issue_state', '=', 'draft')]"/>
<filter string="已上会" name="issue_state" domain="[('issue_state', '=', 'on_meet')]"/>
<filter string="待上会审批" name="to_approval" domain="[('issue_state', '=', 'to_approval')]"/>
<group expand="0">
<filter name="group_manager" string="会议状态" domain="[]" context="{'group_by': 'issue_state'}"/>
<filter name="my_department_shifts" string="本部门" domain="[('member_of_department', '=', True)]"/>
</group>
<searchpanel>
<field name="issue_state"/>
<field name="is_party_passed" string="通过状态"/>
</searchpanel>
<header_search class="header-search-inline">
<field name="name"/>
<field name="code"/>
<field name="name_text"/>
<field name="department_id"/>
</header_search>
</search>
</field>
</record>
<record id="view_issue_library_tree3" model="ir.ui.view">
<field name="name">issue.library.tree</field>
<field name="model">issue.library</field>
@@ -590,7 +619,7 @@
<field name="domain">[('is_push_party', '=', True), ('is_push_depart', '=', True),('issue_state', 'not in',
['draft', 'to_draft'])]
</field>
<field name="search_view_id" ref="view_issue_library_filter"/>
<field name="search_view_id" ref="view_issue_library_party_search"/>
<field name="context">{'from_action': 'issue_library_action3'}</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'tree', 'view_id': ref('yuthon_issue.view_issue_library_tree2')}),
@@ -605,13 +634,41 @@
('is_push_depart', '=', True), ('company_id.name', '!=', '集团本部')]
</field>
<field name="context">{'from_action': 'issue_library_action8'}</field>
<field name="search_view_id" ref="view_issue_library_filter"/>
<field name="search_view_id" ref="view_issue_library_party_search"/>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'tree', 'view_id': ref('yuthon_issue.view_issue_library_tree3')}),
(0, 0, {'view_mode': 'form', 'view_id': ref('yuthon_issue.view_issue_library_form3')})]"/>
</record>
<!--班子会议题菜单-->
<record id="view_issue_library_class_search" model="ir.ui.view">
<field name="name">issue.library.class.search</field>
<field name="model">issue.library</field>
<field name="arch" type="xml">
<search string="班子议题">
<field name="name"/>
<field name="code"/>
<field name="name_text"/>
<filter string="待上会" name="issue_state" domain="[('issue_state', '=', 'draft')]"/>
<filter string="已上会" name="issue_state" domain="[('issue_state', '=', 'on_meet')]"/>
<filter string="待上会审批" name="to_approval" domain="[('issue_state', '=', 'to_approval')]"/>
<group expand="0">
<filter name="group_manager" string="会议状态" domain="[]" context="{'group_by': 'issue_state'}"/>
<filter name="my_department_shifts" string="本部门" domain="[('member_of_department', '=', True)]"/>
</group>
<searchpanel>
<field name="issue_state"/>
<field name="is_class_passed" string="通过状态"/>
</searchpanel>
<header_search class="header-search-inline">
<field name="name"/>
<field name="code"/>
<field name="name_text"/>
<field name="department_id"/>
</header_search>
</search>
</field>
</record>
<record id="view_issue_library_tree4" model="ir.ui.view">
<field name="name">issue.library.tree</field>
<field name="model">issue.library</field>
@@ -658,7 +715,7 @@
<field name="name">issue.library.tree</field>
<field name="model">issue.library</field>
<field name="arch" type="xml">
<form string="议题库">
<form string="班子议题库">
<sheet>
<widget name="web_ribbon" title="普件" bg_color="text-bg-success"
invisible="urgency_level != 'normal'"/>
@@ -773,7 +830,7 @@
<field name="domain">[('is_push_class', '=', True), ('issue_state', 'not in', ['draft', 'to_draft']),
('is_push_depart', '=', True)]
</field>
<field name="search_view_id" ref="view_issue_library_filter"/>
<field name="search_view_id" ref="view_issue_library_class_search"/>
<field name="context">{'from_action': 'issue_library_action4'}</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'tree', 'view_id': ref('yuthon_issue.view_issue_library_tree4')}),
@@ -781,6 +838,34 @@
</record>
<!--董事会议题菜单-->
<record id="view_issue_library_boss_search" model="ir.ui.view">
<field name="name">issue.library.boss.search</field>
<field name="model">issue.library</field>
<field name="arch" type="xml">
<search string="董事议题">
<field name="name"/>
<field name="code"/>
<field name="name_text"/>
<filter string="待上会" name="issue_state" domain="[('issue_state', '=', 'draft')]"/>
<filter string="已上会" name="issue_state" domain="[('issue_state', '=', 'on_meet')]"/>
<filter string="待上会审批" name="to_approval" domain="[('issue_state', '=', 'to_approval')]"/>
<group expand="0">
<filter name="group_manager" string="会议状态" domain="[]" context="{'group_by': 'issue_state'}"/>
<filter name="my_department_shifts" string="本部门" domain="[('member_of_department', '=', True)]"/>
</group>
<searchpanel>
<field name="issue_state"/>
<field name="is_boss_passed" string="通过状态"/>
</searchpanel>
<header_search class="header-search-inline">
<field name="name"/>
<field name="code"/>
<field name="name_text"/>
<field name="department_id"/>
</header_search>
</search>
</field>
</record>
<record id="view_issue_library_tree5" model="ir.ui.view">
<field name="name">issue.library.tree</field>
<field name="model">issue.library</field>
@@ -941,7 +1026,7 @@
<field name="domain">[('is_push_boss', '=', True), ('issue_state', 'not in', ['draft', 'to_draft']),
('is_push_depart', '=', True)]
</field>
<field name="search_view_id" ref="view_issue_library_filter"/>
<field name="search_view_id" ref="view_issue_library_boss_search"/>
<field name="context">{'from_action': 'issue_library_action5'}</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'tree', 'view_id': ref('yuthon_issue.view_issue_library_tree5')}),