Merge pull request !8669 from 李鹏宇/dev_wang
This commit is contained in:
李鹏宇
2026-02-04 12:10:16 +00:00
committed by Gitee
5 changed files with 120 additions and 169 deletions
@@ -355,7 +355,7 @@
<field name="approve_state" string="审批状态" widget="badge"
decoration-danger="approve_state == 'end'" decoration-success="approve_state == 'pending'"/>
<field name="create_uid"/>
<field name="employee_ids" widget="many2many_tags" string="当前经办人" class="list_ids_width"/>
<field name="employee_ids" widget="many2many_tags" string="当前经办人" class="list_ids_width" column_invisible="1"/>
<field name="soong_state"/><field name="display_end_time" string="办结时间" optional="show"/>
<field name="is_manager" column_invisible="1"/>
</tree>
+8 -11
View File
@@ -20,17 +20,9 @@ class IssueLibrary(models.Model):
is_invisible_workflow = fields.Boolean(string="流程隐藏的判断")
code = fields.Char(string='编号', required=True, copy=False,
default=lambda self: self.env['ir.sequence'].next_by_code('issue_library_code'))
issue_state = fields.Selection([('draft', '待申报'), ('to_draft', '申报中'),
('to_approval', '待上会审批'), ('approval', '上会审批中'),
('on_approval', '已上会审批'), ('cancel', '已取消')],
issue_state = fields.Selection([('draft', '待申报'), ('to_draft', '申报中'), ('to_approval', '待上会审批'), ('approval', '上会审批中'), ('on_approval', '已上会审批'),
('will', '待上会'), ('meeting', '上会中'), ('on_meet', '已上会'), ('cancel', '已取消')],
default='draft', string="议题状态")
issue_state_party = fields.Selection([('will', '待上会'), ('meeting', '上会中'), ('on_meet', '已上会')],
default='will', string="议题状态")
issue_state_class = fields.Selection([('will', '待上会'), ('meeting', '上会中'), ('on_meet', '已上会')],
default='will', string="议题状态")
issue_state_boss = fields.Selection([('will', '待上会'), ('meeting', '上会中'), ('on_meet', '已上会')],
default='will', string="议题状态")
is_party = fields.Boolean(string="党总支", store=True)
party_char = fields.Char(string=' ')
is_class = fields.Boolean(string="班子会", store=True)
@@ -543,6 +535,8 @@ class IssueLibrary(models.Model):
def single_meeting_issue(self):
issue = self.env["issue.library"].browse(self.id)
if issue.issue_state != 'will':
raise UserError("当前状态不允许上会")
current_user = self.env.user
user_company_name = current_user.company_id.name if current_user.company_id else ""
issue_details = []
@@ -552,12 +546,14 @@ class IssueLibrary(models.Model):
('is_class', 'is_class_passed', '班子'), # 班子会:匹配含「班子」的名称
('is_boss', 'is_boss_passed', '董事'), # 董事会:匹配含「董事」的名称
]
def get_all_sub_departments(department):
dept_ids = [department.id]
sub_depts = self.env['hr.department'].search([('parent_id', '=', department.id)])
for sub_dept in sub_depts:
dept_ids += get_all_sub_departments(sub_dept)
return dept_ids
all_dept_ids = get_all_sub_departments(self.department_id)
target_employees = self.env['hr.employee'].search([
('department_id', 'in', all_dept_ids),
@@ -601,6 +597,7 @@ class IssueLibrary(models.Model):
break
elif passed_result == 'pass':
continue
form_id = self.env.ref("room.room_booking_view_form").id
return {
"type": "ir.actions.act_window",
@@ -622,7 +619,7 @@ class IssueLibrary(models.Model):
if not record.issue_approval_id:
raise UserError('请提交审批后查看')
form_id = self.env.ref("yuthon_issue.issue_library_approval_form").id
# record.issue_state = 'to_draft'
record.issue_state = 'to_draft'
return{
"type": "ir.actions.act_window",
"name": "审批详情",
+99 -155
View File
@@ -11,9 +11,8 @@
<field name="name" column_invisible="1"/>
<field name="name_text" class="list_width"/>
<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="party_char"/>
<field name="is_party" groups="yuthon_salary.group_lc_user,yuthon_salary.group_wg_user" string="党支部会"/>
<field name="party_char" />
<field name="is_class"/>
<field name="class_char"/>
<field name="is_boss" groups="yuthon_salary.group_jtbb_user"/>
@@ -28,16 +27,11 @@
<field name="creart_datetime" column_invisible="1"/>
<field name="member_of_department" column_invisible="1"/>
<field name="is_push_depart" column_invisible="1"/>
<button name="depart_push" string="推送" type="object" class="oe_highlight"
invisible="is_push_depart == True"/>
<button name="revoke" string="撤销" type="object" class="oe_highlight"
invisible="issue_state == 'draft'" groups="soong_workflow.group_soong_workflow_manager"/>
<button name="issue_cancel" string="取消" type="object" class="oe_highlight"
groups="soong_workflow.group_soong_workflow_manager"/>
<button name="unlink" string="删除" type="object" class="oe_highlight"
invisible="is_push_depart == True"/>
<button name="approval_details" string="审批详情" type="object" class="oe_highlight"
invisible="issue_state == 'draft'"/>
<button name="depart_push" string="推送" type="object" class="oe_highlight" invisible="is_push_depart == True"/>
<button name="revoke" string="撤销" type="object" class="oe_highlight" invisible="issue_state == 'draft'" groups="soong_workflow.group_soong_workflow_manager"/>
<button name="issue_cancel" string="取消" type="object" class="oe_highlight" groups="soong_workflow.group_soong_workflow_manager"/>
<button name="unlink" string="删除" type="object" class="oe_highlight" invisible="is_push_depart == True"/>
<button name="approval_details" string="审批详情" type="object" class="oe_highlight" invisible="issue_state == 'draft'"/>
</tree>
</field>
</record>
@@ -50,16 +44,15 @@
decoration-info="issue_state == 'will'"
decoration-success="issue_state == 'done'"
decoration-muted="issue_state == 'cancel'">
<!-- <header>-->
<!-- <button name="all_issue_pull" string="提交议题审批" type="object"/>-->
<!-- </header>-->
<!-- <header>-->
<!-- <button name="all_issue_pull" string="提交议题审批" type="object"/>-->
<!-- </header>-->
<field name="name" column_invisible="1"/>
<field name="department_id"/>
<field name="name_text" class="list_width"/>
<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="party_char"/>
<field name="is_party" groups="yuthon_salary.group_lc_user,yuthon_salary.group_wg_user" string="党支部会"/>
<field name="party_char" />
<field name="is_class"/>
<field name="class_char"/>
<field name="is_boss" groups="yuthon_salary.group_jtbb_user"/>
@@ -75,14 +68,12 @@
<field name="member_of_department" column_invisible="1"/>
<field name="is_push_depart" column_invisible="1"/>
<field name="push_invisible" column_invisible="1"/>
<!-- <button name="single_issue_pull" string="提交" type="object" class="oe_highlight"/>-->
<button name="library_push" string="推送" type="object" class="oe_highlight"
invisible="push_invisible"/>
<!-- <button name="revoke" string="撤销" type="object" class="oe_highlight" invisible="issue_state == 'draft'"/>-->
<!-- <button name="single_issue_pull" string="提交" type="object" class="oe_highlight"/>-->
<button name="library_push" string="推送" type="object" class="oe_highlight" invisible="push_invisible"/>
<!-- <button name="revoke" string="撤销" type="object" class="oe_highlight" invisible="issue_state == 'draft'"/>-->
<button name="issue_cancel" string="取消" type="object" class="oe_highlight"/>
<button name="unlink" string="删除" type="object" class="oe_highlight"/>
<button name="approval_details" string="审批详情" type="object" class="oe_highlight"
invisible="issue_state == 'draft'"/>
<button name="approval_details" string="审批详情" type="object" class="oe_highlight" invisible="issue_state == 'draft'"/>
</tree>
</field>
</record>
@@ -101,9 +92,8 @@
<field name="name" column_invisible="1"/>
<field name="name_text" class="list_width"/>
<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="party_char"/>
<field name="is_party" groups="yuthon_salary.group_lc_user,yuthon_salary.group_wg_user" string="党支部会"/>
<field name="party_char" />
<field name="is_class"/>
<field name="class_char"/>
<field name="is_boss" groups="yuthon_salary.group_jtbb_user"/>
@@ -118,9 +108,8 @@
<field name="creart_datetime" column_invisible="1"/>
<field name="member_of_department" column_invisible="1"/>
<field name="is_push_depart" column_invisible="1"/>
<!-- <button name="single_issue_pull" string="提交" type="object" class="oe_highligh"/>-->
<button name="approval_details" string="审批详情" type="object" class="oe_highlight"
invisible="issue_state == 'draft'"/>
<!-- <button name="single_issue_pull" string="提交" type="object" class="oe_highligh"/>-->
<button name="approval_details" string="审批详情" type="object" class="oe_highlight" invisible="issue_state == 'draft'"/>
</tree>
</field>
</record>
@@ -133,7 +122,7 @@
<form string="议题总库" create="0">
<sheet>
<widget name="web_ribbon" title="普件" bg_color="text-bg-success"
invisible="urgency_level != 'normal'"/>
invisible="urgency_level != 'normal'"/>
<widget name="web_ribbon" title="急件" bg_color="text-bg-warning"
invisible="urgency_level != 'urgent'"/>
<widget name="web_ribbon" title="特急" bg_color="text-bg-danger"
@@ -155,28 +144,23 @@
</h1>
</div>
<group>
<field name="name" required="1" force_save="1" invisible="is_invisible_workflow"
readonly="issue_state not in ['draft', 'cancel']"/>
<field name="topic_content" invisible="is_invisible_workflow"
readonly="issue_state not in ['draft', 'cancel']"/>
<field name="handling_situation" string="办理情况" placeholder="(存在问题)"
readonly="issue_state not in ['draft', 'cancel']"/>
<field name="name" required="1" force_save="1" invisible="is_invisible_workflow" readonly="issue_state not in ['draft', 'cancel']"/>
<field name="topic_content" invisible="is_invisible_workflow" readonly="issue_state not in ['draft', 'cancel']"/>
<field name="handling_situation" string="办理情况" placeholder="(存在问题)" readonly="issue_state not in ['draft', 'cancel']"/>
<field name="deliberation_content" readonly="issue_state not in ['draft', 'cancel']"/>
<field name="will_based" readonly="issue_state not in ['draft', 'cancel']"/>
</group>
<group>
<group>
<!-- <field name="name" required="1" force_save="1" invisible="is_invisible_workflow" readonly="issue_state not in ['draft', 'cancel']"/>-->
<!-- <field name="topic_content" invisible="is_invisible_workflow" readonly="issue_state not in ['draft', 'cancel']"/>-->
<!-- <field name="handling_situation" string="办理情况(存在问题)" readonly="issue_state not in ['draft', 'cancel']"/>-->
<!-- <field name="deliberation_content" readonly="issue_state not in ['draft', 'cancel']"/>-->
<!-- <field name="will_based" readonly="issue_state not in ['draft', 'cancel']"/>-->
<!-- <field name="name" required="1" force_save="1" invisible="is_invisible_workflow" readonly="issue_state not in ['draft', 'cancel']"/>-->
<!-- <field name="topic_content" invisible="is_invisible_workflow" readonly="issue_state not in ['draft', 'cancel']"/>-->
<!-- <field name="handling_situation" string="办理情况(存在问题)" readonly="issue_state not in ['draft', 'cancel']"/>-->
<!-- <field name="deliberation_content" readonly="issue_state not in ['draft', 'cancel']"/>-->
<!-- <field name="will_based" readonly="issue_state not in ['draft', 'cancel']"/>-->
<field name="is_legal_trial" readonly="issue_state not in ['draft', 'cancel']"/>
<field name="department_personnel_ids" widget="many2many_tags" invisible="1"/>
<field name="issue_state" groups="soong_workflow.group_soong_workflow_manager"/>
<field name="workflow_id" invisible="is_legal_trial == 'no'"
domain="[('res_model', '=', 'contract.review.approval'), ('create_uid', 'in', department_personnel_ids)]"
readonly="issue_state not in ['draft', 'cancel']"/>
<field name="workflow_id" invisible="is_legal_trial == 'no'" domain="[('res_model', '=', 'contract.review.approval'), ('create_uid', 'in', department_personnel_ids)]" readonly="issue_state not in ['draft', 'cancel']"/>
<!--<field name="documents_ids" widget="preview_many2many" invisible="is_invisible_workflow" readonly="issue_state not in ['draft', 'cancel']"/>-->
<field name="is_invisible_workflow" invisible="1"/>
<field name="name_text" invisible="1"/>
@@ -191,22 +175,18 @@
</group>
</group>
<group>
<field name="documents_ids" widget="preview_many2many" invisible="is_invisible_workflow"
readonly="issue_state not in ['draft', 'cancel']"/>
<field name="documents_ids" widget="preview_many2many" invisible="is_invisible_workflow" readonly="issue_state not in ['draft', 'cancel']"/>
</group>
<group col="5" string="决策程序">
<group>
<field name="is_party" groups="yuthon_salary.group_jtbb_user" string="党总支"
readonly="issue_state not in ['draft', 'cancel']"/>
<field name="is_party" groups="yuthon_salary.group_lc_user,yuthon_salary.group_wg_user"
string="党支部会" readonly="issue_state not in ['draft', 'cancel']"/>
<field name="is_party" groups="yuthon_salary.group_jtbb_user" string="党总支" readonly="issue_state not in ['draft', 'cancel']"/>
<field name="is_party" groups="yuthon_salary.group_lc_user,yuthon_salary.group_wg_user" string="党支部会" readonly="issue_state not in ['draft', 'cancel']"/>
</group>
<group>
<field name="is_class" readonly="issue_state not in ['draft', 'cancel']"/>
</group>
<group>
<field name="is_boss" groups="yuthon_salary.group_jtbb_user"
readonly="issue_state not in ['draft', 'cancel']"/>
<field name="is_boss" groups="yuthon_salary.group_jtbb_user" readonly="issue_state not in ['draft', 'cancel']"/>
</group>
<group>
<field name="is_note" invisible="1"/>
@@ -218,13 +198,9 @@
<tree editable="bottom">
<field name="ordinal"/>
<field name="issue_library_id" column_invisible="1"/>
<field name="issue_approval_decision_id" class="list_ids_width"
context="{'search_default_group_scope': 1}"/>
<field name="council_id" readonly="1" groups="yuthon_salary.group_jtbb_user"
string="党总支"/>
<field name="council_id" readonly="1"
groups="yuthon_salary.group_wg_user, yuthon_salary.group_lc_user"
string="党支部"/>
<field name="issue_approval_decision_id" class="list_ids_width" context="{'search_default_group_scope': 1}"/>
<field name="council_id" readonly="1" groups="yuthon_salary.group_jtbb_user" string="党总支"/>
<field name="council_id" readonly="1" groups="yuthon_salary.group_wg_user, yuthon_salary.group_lc_user" string="党支部"/>
<field name="team_meet_id" readonly="1"/>
<field name="board_meet_id" readonly="1"/>
<field name="district_state_id" readonly="1"/>
@@ -288,13 +264,13 @@
<filter name="group_manager" string="会议状态" domain="[]" context="{'group_by': 'issue_state'}"/>
<filter name="my_department_shifts" string="本部门" domain="[('member_of_department', '=', True)]"/>
</group>
<searchpanel>
<searchpanel>
<field name="issue_state"/>
</searchpanel>
<header_search class="header-search-inline">
<field name="name"/>
<field name="department_id"/>
</header_search>
</header_search>
</search>
</field>
</record>
@@ -304,7 +280,6 @@
<field name="res_model">issue.library</field>
<field name="view_mode">tree,form</field>
<field name="search_view_id" ref="view_issue_library_filter"/>
<field name="domain">[('issue_state', 'not in', ['draft', 'to_draft'])]</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'tree', 'view_id': ref('yuthon_issue.view_issue_library_tree')}),
(0, 0, {'view_mode': 'form', 'view_id': ref('yuthon_issue.view_issue_library_form')})]"/>
@@ -315,10 +290,10 @@
<field name="name">issue.library.tree</field>
<field name="model">issue.library</field>
<field name="arch" type="xml">
<tree string="党支委议题库"
decoration-info="issue_state_party == 'will'"
decoration-success="issue_state_party == 'done'"
decoration-muted="issue_state_party == 'cancel'">
<tree string="议题库"
decoration-info="issue_state == 'will'"
decoration-success="issue_state == 'done'"
decoration-muted="issue_state == 'cancel'">
<header>
<button name="all_meeting_issue" type="object" string="批量上会" class="oe_highlight"/>
<button name="issue_party1_approval" type="object" string="批量审批" class="oe_highlight"/>
@@ -327,21 +302,17 @@
<field name="department_id"/>
<field name="creart_datetime"/>
<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_party" groups="yuthon_salary.group_lc_user,yuthon_salary.group_wg_user" string="党支部会"/>
<field name="party_char"/>
<field name="is_district_state"/>
<field name="is_district_government"/>
<field name="is_district_party"/>
<field name="issue_state" column_invisible="1"/>
<field name="issue_state_party"/>
<field name="issue_state"/>
<field name="is_party_passed" column_invisible="1"/>
<field name="company_id" column_invisible="1"/>
<button name="single_meeting_issue" string="上会" type="object" class="oe_highlight"
invisible="issue_state_party != 'will' or is_party_passed == 'pass'"/>
<button name="meeting_record" string="会议详情" type="object" class="oe_highlight"
invisible="issue_state_party == 'will'"/>
<button name="correction" string="修正提醒" type="object" class="oe_highlight"/>
<field name="company_id" optional="hide"/>
<button name="single_meeting_issue" string="上会" type="object" class="oe_highlight" invisible="issue_state != 'will' or is_party_passed == 'pass'"/>
<button name="meeting_record" string="会议详情" type="object" class="oe_highlight" invisible="not is_party_passed"/>
<button name="correction" string="修正提醒" type="object" class="oe_highlight"/>
<button name="issue_cancel" string="取消" type="object" class="oe_highlight"/>
<button name="unlink" string="删除" type="object" class="oe_highlight"/>
</tree>
@@ -352,10 +323,10 @@
<field name="name">issue.library.tree</field>
<field name="model">issue.library</field>
<field name="arch" type="xml">
<tree string="党总委议题库"
decoration-info="issue_state_party == 'will'"
decoration-success="issue_state_party == 'done'"
decoration-muted="issue_state_party == 'cancel'">
<tree string="议题库"
decoration-info="issue_state == 'will'"
decoration-success="issue_state == 'done'"
decoration-muted="issue_state == 'cancel'">
<header>
<button name="all_meeting_issue" type="object" string="批量上会" class="oe_highlight"/>
<button name="issue_party_approval" type="object" string="批量审批" class="oe_highlight"/>
@@ -364,21 +335,17 @@
<field name="department_id"/>
<field name="creart_datetime"/>
<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_party" groups="yuthon_salary.group_lc_user,yuthon_salary.group_wg_user" string="党支部会"/>
<field name="party_char"/>
<field name="is_district_state"/>
<field name="is_district_government"/>
<field name="is_district_party"/>
<field name="issue_state" column_invisible="1"/>
<field name="issue_state_party"/>
<field name="issue_state"/>
<field name="is_party_passed" column_invisible="1"/>
<field name="company_id" column_invisible="1"/>
<button name="single_meeting_issue" string="上会" type="object" class="oe_highlight"
invisible="issue_state_party != 'will' or is_party_passed == 'pass'"/>
<button name="meeting_record" string="会议详情" type="object" class="oe_highlight"
invisible="issue_state_party == 'will'"/>
<button name="correction" string="修正提醒" type="object" class="oe_highlight"/>
<field name="company_id" optional="hide"/>
<button name="single_meeting_issue" string="上会" type="object" class="oe_highlight" invisible="issue_state != 'will' or is_party_passed == 'pass'"/>
<button name="meeting_record" string="会议详情" type="object" class="oe_highlight" invisible="not is_party_passed"/>
<button name="correction" string="修正提醒" type="object" class="oe_highlight"/>
<button name="issue_cancel" string="取消" type="object" class="oe_highlight"/>
<button name="unlink" string="删除" type="object" class="oe_highlight"/>
</tree>
@@ -392,7 +359,7 @@
<form string="议题库">
<sheet>
<widget name="web_ribbon" title="普件" bg_color="text-bg-success"
invisible="urgency_level != 'normal'"/>
invisible="urgency_level != 'normal'"/>
<widget name="web_ribbon" title="急件" bg_color="text-bg-warning"
invisible="urgency_level != 'urgent'"/>
<widget name="web_ribbon" title="特急" bg_color="text-bg-danger"
@@ -410,8 +377,7 @@
</group>
<group>
<group>
<field name="name" required="1" force_save="1"
readonly="issue_state not in ['draft', 'cancel']"/>
<field name="name" required="1" force_save="1" readonly="issue_state not in ['draft', 'cancel']"/>
<field name="name_text" invisible="1"/>
<field name="work_end" invisible="1"/>
<field name="company_id" invisible="1"/>
@@ -419,8 +385,7 @@
<field name="creart_datetime" invisible="1"/>
<field name="issue_state" groups="soong_workflow.group_soong_workflow_manager"/>
<field name="topic_content" readonly="issue_state not in ['draft', 'cancel']"/>
<field name="documents_ids" widget="preview_many2many"
readonly="issue_state not in ['draft', 'cancel']"/>
<field name="documents_ids" widget="preview_many2many" readonly="issue_state not in ['draft', 'cancel']"/>
</group>
<group>
<field name="employee_id" invisible="1"/>
@@ -444,8 +409,7 @@
<field name="issue_library_line_ids">
<tree editable="bottom">
<field name="issue_library_id" column_invisible="1"/>
<field name="issue_approval_decision_id" class="list_ids_width"
context="{'search_default_group_scope': 1}"/>
<field name="issue_approval_decision_id" class="list_ids_width" context="{'search_default_group_scope': 1}"/>
<field name="council_id" readonly="1"/>
<field name="district_state_id" readonly="1"/>
<field name="district_government_id" readonly="1"/>
@@ -499,22 +463,18 @@
<field name="name">党总支议题库</field>
<field name="res_model">issue.library</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('is_push_party', '=', True), ('is_push_depart', '=', True),('issue_state', 'not in',
['draft', 'to_draft'])]
</field>
<field name="domain">[('is_push_party', '=', True), ('is_push_depart', '=', True)]</field>
<field name="search_view_id" ref="view_issue_library_filter"/>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'tree', 'view_id': ref('yuthon_issue.view_issue_library_tree2')}),
(0, 0, {'view_mode': 'form', 'view_id': ref('yuthon_issue.view_issue_library_form3')})]"/>
</record>
<record id="issue_library_action8" model="ir.actions.act_window">
<record id="issue_library_action8" model="ir.actions.act_window">
<field name="name">党支部会议题库</field>
<field name="res_model">issue.library</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('is_push_party', '=', True),('issue_state', 'not in', ['draft', 'to_draft']),
('is_push_depart', '=', True), ('company_id.name', '!=', '集团本部')]
</field>
<field name="domain">[('is_push_party', '=', True),('is_push_depart', '=', True), ('company_id.name', '!=', '集团本部')]</field>
<field name="search_view_id" ref="view_issue_library_filter"/>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'tree', 'view_id': ref('yuthon_issue.view_issue_library_tree3')}),
@@ -526,13 +486,13 @@
<field name="name">issue.library.tree</field>
<field name="model">issue.library</field>
<field name="arch" type="xml">
<tree string="班子会议题库"
<tree string="议题库"
decoration-info="issue_state == 'will'"
decoration-success="issue_state == 'done'"
decoration-muted="issue_state == 'cancel'">
<header>
<button name="all_meeting_issue" type="object" string="批量上会" class="oe_highlight"/>
<button name="issue_class_approval" type="object" string="批量审批" class="oe_highlight"/>
<button name="issue_class_approval" type="object" string="批量审批" class="oe_highlight"/>
</header>
<field name="name"/>
<field name="department_id"/>
@@ -542,15 +502,12 @@
<field name="is_district_state"/>
<field name="is_district_government"/>
<field name="is_district_party"/>
<field name="issue_state" column_invisible="1"/>
<field name="issue_state_class"/>
<field name="company_id" column_invisible="1"/>
<field name="issue_state"/>
<field name="company_id" optional="hide"/>
<field name="is_class_passed" column_invisible="1"/>
<button name="single_meeting_issue" string="上会" type="object" class="oe_highlight"
invisible="issue_state_class != 'will' or is_class_passed == 'pass'"/>
<button name="meeting_record" string="会议详情" type="object" class="oe_highlight"
invisible="issue_state_class == 'will'"/>
<button name="correction" string="修正提醒" type="object" class="oe_highlight"/>
<button name="single_meeting_issue" string="上会" type="object" class="oe_highlight" invisible="issue_state != 'will' or is_class_passed == 'pass'"/>
<button name="meeting_record" string="会议详情" type="object" class="oe_highlight" invisible="not is_class_passed"/>
<button name="correction" string="修正提醒" type="object" class="oe_highlight"/>
<button name="issue_cancel" string="取消" type="object" class="oe_highlight"/>
<button name="unlink" string="删除" type="object" class="oe_highlight"/>
</tree>
@@ -564,7 +521,7 @@
<form string="议题库">
<sheet>
<widget name="web_ribbon" title="普件" bg_color="text-bg-success"
invisible="urgency_level != 'normal'"/>
invisible="urgency_level != 'normal'"/>
<widget name="web_ribbon" title="急件" bg_color="text-bg-warning"
invisible="urgency_level != 'urgent'"/>
<widget name="web_ribbon" title="特急" bg_color="text-bg-danger"
@@ -582,8 +539,7 @@
</group>
<group>
<group>
<field name="name" required="1" force_save="1"
readonly="issue_state not in ['draft', 'cancel']"/>
<field name="name" required="1" force_save="1" readonly="issue_state not in ['draft', 'cancel']"/>
<field name="name_text" invisible="1"/>
<field name="work_end" invisible="1"/>
<field name="company_id" invisible="1"/>
@@ -591,8 +547,7 @@
<field name="creart_datetime" invisible="1"/>
<field name="topic_content" readonly="issue_state not in ['draft', 'cancel']"/>
<field name="issue_state" groups="soong_workflow.group_soong_workflow_manager"/>
<field name="documents_ids" widget="preview_many2many"
readonly="issue_state not in ['draft', 'cancel']"/>
<field name="documents_ids" widget="preview_many2many" readonly="issue_state not in ['draft', 'cancel']"/>
</group>
<group>
<field name="employee_id" invisible="1"/>
@@ -614,8 +569,7 @@
<tree editable="bottom">
<field name="ordinal"/>
<field name="issue_library_id" column_invisible="1"/>
<field name="issue_approval_decision_id" class="list_ids_width"
context="{'search_default_group_scope': 1}"/>
<field name="issue_approval_decision_id" class="list_ids_width" context="{'search_default_group_scope': 1}"/>
<field name="team_meet_id" readonly="1"/>
<field name="district_state_id" readonly="1"/>
<field name="district_government_id" readonly="1"/>
@@ -670,9 +624,7 @@
<field name="name">班子会议题库</field>
<field name="res_model">issue.library</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('is_push_class', '=', True), ('issue_state', 'not in', ['draft', 'to_draft']),
('is_push_depart', '=', True)]
</field>
<field name="domain">[('is_push_class', '=', True), ('is_push_depart', '=', True)]</field>
<field name="search_view_id" ref="view_issue_library_filter"/>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'tree', 'view_id': ref('yuthon_issue.view_issue_library_tree4')}),
@@ -685,9 +637,9 @@
<field name="model">issue.library</field>
<field name="arch" type="xml">
<tree string="董事会议题"
decoration-info="issue_state_boss == 'will'"
decoration-success="issue_state_boss == 'done'"
decoration-muted="issue_state_boss == 'cancel'">
decoration-info="issue_state == 'will'"
decoration-success="issue_state == 'done'"
decoration-muted="issue_state == 'cancel'">
<header>
<button name="all_meeting_issue" type="object" string="批量上会" class="oe_highlight"/>
<button name="issue_boss_approval" type="object" string="批量审批" class="oe_highlight"/>
@@ -700,14 +652,11 @@
<field name="is_district_state"/>
<field name="is_district_government"/>
<field name="is_district_party"/>
<!-- <field name="issue_state"/>-->
<field name="issue_state_boss"/>
<field name="company_id" column_invisible="1"/>
<field name="issue_state"/>
<field name="company_id" optional="hide"/>
<field name="is_boss_passed" column_invisible="1"/>
<button name="single_meeting_issue" string="上会" type="object" class="oe_highlight"
invisible="issue_state_boss != 'will' or is_boss_passed == 'pass'"/>
<button name="meeting_record" string="会议详情" type="object" class="oe_highlight"
invisible="issue_state_boss == 'will'"/>
<button name="single_meeting_issue" string="上会" type="object" class="oe_highlight" invisible="issue_state != 'will' or is_boss_passed == 'pass'"/>
<button name="meeting_record" string="会议详情" type="object" class="oe_highlight" invisible="not is_boss_passed"/>
<button name="correction" string="修正提醒" type="object" class="oe_highlight"/>
<button name="issue_cancel" string="取消" type="object" class="oe_highlight"/>
<button name="unlink" string="删除" type="object" class="oe_highlight"/>
@@ -722,7 +671,7 @@
<form string="董事会议题库">
<sheet>
<widget name="web_ribbon" title="普件" bg_color="text-bg-success"
invisible="urgency_level != 'normal'"/>
invisible="urgency_level != 'normal'"/>
<widget name="web_ribbon" title="急件" bg_color="text-bg-warning"
invisible="urgency_level != 'urgent'"/>
<widget name="web_ribbon" title="特急" bg_color="text-bg-danger"
@@ -740,17 +689,15 @@
</group>
<group>
<group>
<field name="name" required="1" force_save="1"/>
<field name="name_text" invisible="1"/>
<field name="work_end" invisible="1"/>
<field name="company_id" invisible="1"/>
<field name="approval_decision_sequence" invisible="1"/>
<field name="creart_datetime" invisible="1"/>
<field name="topic_content" readonly="issue_state not in ['draft', 'cancel']"/>
<field name="issue_state" invisible="1"/>
<field name="issue_state_boss"/>
<field name="documents_ids" widget="preview_many2many"
readonly="issue_state not in ['draft', 'cancel']"/>
<field name="name" required="1" force_save="1"/>
<field name="name_text" invisible="1"/>
<field name="work_end" invisible="1"/>
<field name="company_id" invisible="1"/>
<field name="approval_decision_sequence" invisible="1"/>
<field name="creart_datetime" invisible="1"/>
<field name="topic_content" readonly="issue_state not in ['draft', 'cancel']"/>
<field name="issue_state" groups="soong_workflow.group_soong_workflow_manager"/>
<field name="documents_ids" widget="preview_many2many" readonly="issue_state not in ['draft', 'cancel']"/>
</group>
<group>
<field name="employee_id" invisible="1"/>
@@ -772,8 +719,7 @@
<tree editable="bottom">
<field name="ordinal"/>
<field name="issue_library_id" column_invisible="1"/>
<field name="issue_approval_decision_id" class="list_ids_width"
context="{'search_default_group_scope': 1}"/>
<field name="issue_approval_decision_id" class="list_ids_width" context="{'search_default_group_scope': 1}"/>
<field name="board_meet_id" readonly="1"/>
<field name="district_state_id" readonly="1"/>
<field name="district_government_id" readonly="1"/>
@@ -827,9 +773,7 @@
<field name="name">董事会议题库</field>
<field name="res_model">issue.library</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('is_push_boss', '=', True), ('issue_state', 'not in', ['draft', 'to_draft']),
('is_push_depart', '=', True)]
</field>
<field name="domain">[('is_push_boss', '=', True), ('is_push_depart', '=', True)]</field>
<field name="search_view_id" ref="view_issue_library_filter"/>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'tree', 'view_id': ref('yuthon_issue.view_issue_library_tree5')}),
@@ -844,12 +788,12 @@
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'tree', 'view_id': ref('yuthon_issue.view_issue_library_department_tree')})]"/>
</record>
<record id="issue_library_my_action" model="ir.actions.act_window">
<record id="issue_library_my_action" model="ir.actions.act_window">
<field name="name">我的议题</field>
<field name="res_model">issue.library</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('employee_id.user_id', '=', uid)]</field>
<field name="view_ids" eval="[(5, 0, 0),
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'tree', 'view_id': ref('yuthon_issue.view_issue_my_library_tree')})]"/>
</record>
</odoo>
@@ -6,9 +6,16 @@ class IssueLineAddWizard(models.Model):
_name = "issue.line.add.wizard"
issue_id = fields.Many2one('issue.library')
department_id = fields.Many2one('hr.department', string="部门")
approval_group_id = fields.Many2one('soong.approval.group', string="类别")
workflow_record_ids = fields.Many2many('soong.workflow.record', string="流程")
@api.onchange('department_id')
def _onchange_department_id(self):
if self.department_id:
return {'domain': {'approval_group_id': ['|', ('name', '!=', '人力资源'), ('parent_id.name', '!=', '人力资源')]}}
return {'domain': {'approval_group_id': ['|', ('name', '!=', '人力资源'), ('parent_id.name', '!=', '人力资源')]}}
def confirm(self):
for record_id in self.workflow_record_ids:
self.env['issue.library.approval.line'].create({
@@ -7,8 +7,11 @@
<form sting="添加流程弹窗">
<group>
<field name="issue_id" invisible="1"/>
<field name="approval_group_id"/>
<field name="workflow_record_ids" widget="many2many_tags" domain="[('approvals_group_id', '=', approval_group_id)]"/>
<field name="department_id"/>
<field name="approval_group_id" domain="['|', ('name', '!=', '人力资源'), ('parent_id.name', '!=', '人力资源')]"/>
<field name="workflow_record_ids" widget="many2many_tags"
domain="[('approvals_group_id', '=', approval_group_id), ('department_id', '=', department_id)]"
invisible="not approval_group_id"/>
</group>
<footer>
<button name="confirm" string="确定" type="object" class="oe_highlight"/>