From 0c11940e584a25db45ba2d5e219384e0946aa33e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= <9664676+pengyuthon@user.noreply.gitee.com> Date: Mon, 5 Jan 2026 20:32:26 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- room/__manifest__.py | 3 +- room/data/room_code_data.xml | 10 +++ room/models/room_booking.py | 24 +++++- room/views/room_booking_views.xml | 30 +++++++- soong_workflow/wizard/soong_bounced_wizard.py | 14 ++-- .../wizard/soong_workflow_comment_wizard.py | 6 +- .../models/yuthon_vacation_reports.py | 31 +++++++- .../views/yuthon_vacation_reports_views.xml | 3 + yuthon_issue/models/inherit_room_booking.py | 75 ++++++++++++++----- yuthon_issue/models/issue_approval.py | 9 +++ yuthon_issue/models/issue_library.py | 26 ++++--- yuthon_issue/views/inherit_room_booking.xml | 2 +- yuthon_issue/views/issue_library_views.xml | 31 ++++---- yuthon_issue/views/menus.xml | 2 +- 14 files changed, 200 insertions(+), 66 deletions(-) create mode 100644 room/data/room_code_data.xml diff --git a/room/__manifest__.py b/room/__manifest__.py index b698c541e..85edf8534 100644 --- a/room/__manifest__.py +++ b/room/__manifest__.py @@ -7,11 +7,12 @@ 'description': 'Experience the Ease of Booking Meeting Rooms with Real-Time Availability Display.', 'category': 'Services/Room', 'version': '1.0', - 'depends': ['mail', 'hr', 'documents', 'yuthon_wechat', 'fleet', 'calendar', 'yuthon_hr_employee'], + 'depends': ['mail', 'hr', 'documents', 'yuthon_wechat', 'fleet', 'calendar', 'yuthon_hr_employee', 'soong_workflow',], 'data': [ 'data/message_template_views.xml', 'data/room_wechat_cron_data.xml', 'data/ir_module_category_data.xml', + 'data/room_code_data.xml', 'data/room_meeting_type_data.xml', 'security/ir_rule.xml', 'security/ir.model.access.csv', diff --git a/room/data/room_code_data.xml b/room/data/room_code_data.xml new file mode 100644 index 000000000..145e6f2f7 --- /dev/null +++ b/room/data/room_code_data.xml @@ -0,0 +1,10 @@ + + + + 议题会议编号 + room_booking_approval_code + YTHY%(y)s%(month)s%(day)s + 3 + + + \ No newline at end of file diff --git a/room/models/room_booking.py b/room/models/room_booking.py index 2651cffee..612c0635a 100644 --- a/room/models/room_booking.py +++ b/room/models/room_booking.py @@ -12,11 +12,12 @@ from datetime import timedelta """富文本字段保存无效""" class RoomBooking(models.Model): _name = "room.booking" - _inherit = ["mail.thread"] + _inherit = ['mail.thread.main.attachment', 'mail.activity.mixin', 'soong.workflow.mixin'] _description = "Room Booking" _order = "start_datetime desc, id" name = fields.Char(string="标题", required=True, tracking=1) + code = fields.Char(string="流水号", default=lambda self: self.env['ir.sequence'].next_by_code('room_booking_approval_code')) room_id = fields.Many2one("room.room", string="Room", required=True, ondelete="cascade", group_expand="_read_group_room_id", tracking=4) start_datetime = fields.Datetime(string="Start Datetime", required=True, tracking=2) @@ -33,8 +34,24 @@ class RoomBooking(models.Model): task_time_ids = fields.Many2many('yuthon.task.time', string='提醒') meeting_type = fields.Selection([('up', '线上'), ('down', '线下'), ('exterior', '外部')], default='down', string="会议形式", required=True) + urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度', + default='normal') meeting_type_id = fields.Many2one('room.meeting.type', string="会议类型") - room_users_ids = fields.Many2many('res.users', string="出席人员") + self_users_ids = fields.Many2many( + 'res.users', + string="当前经办人", + relation='issue_room_approval_self_users_res_users_rel', + column1='approval_id', + column2='self_user_id', + default=lambda self: [(6, 0, [self.env.user.id])] + ) + room_users_ids = fields.Many2many( + 'res.users', + string="出席人员", + relation='issue_room_approval_room_users_res_users_rel', + column1='approval_id', + column2='room_user_id' + ) room_users_names = fields.Char(string="出席人员char", compute="_compute_room_users", store=True) other_company_id = fields.Many2one('res.partner', string="外部公司") host = fields.Many2one('hr.employee', string="主持人") @@ -52,7 +69,8 @@ class RoomBooking(models.Model): driver = fields.Many2one('hr.employee', string="司机") partner_ids = fields.Many2many('res.partner', string="日程安排人员") is_this_company = fields.Boolean(string='本公司', default=True) - + work_end = fields.Boolean(string="结束") + name_title = fields.Char(string="议题会议审批") # 关联流程 relevancy_type = fields.Selection([('none', '无')], string="关联流程类型") diff --git a/room/views/room_booking_views.xml b/room/views/room_booking_views.xml index c48094b04..37652a711 100644 --- a/room/views/room_booking_views.xml +++ b/room/views/room_booking_views.xml @@ -130,13 +130,32 @@
-
+ + + + + + + + + + + +
+

+ +

+