@@ -7,6 +7,8 @@ class RoomBooking(models.Model):
|
||||
|
||||
is_issue = fields.Boolean(string="是否关联议题")
|
||||
issue_meeting_line_ids = fields.One2many('issue.meeting.line', 'meeting_booking_id', string="关联议题明细行")
|
||||
number_of_meetings = fields.Integer(string='会议次数')
|
||||
company_page = fields.Selection([('tz', '天河投资'), ('wg', '天河物管'), ('lc', '天河粮储')], string="公司")
|
||||
|
||||
def bottom_meeting_approval(self):
|
||||
library_data = []
|
||||
@@ -28,6 +30,8 @@ class RoomBooking(models.Model):
|
||||
'default_meeting_id': self.id,
|
||||
'default_meeting_type_id': self.meeting_type_id.id,
|
||||
'default_meeting_date': self.start_datetime,
|
||||
'default_number_of_meetings': self.number_of_meetings,
|
||||
'default_company_page':self.company_page,
|
||||
'default_meeting_minutes_ids': library_data
|
||||
}}
|
||||
|
||||
|
||||
@@ -8,6 +8,10 @@ class IssueMeetingMinutes(models.Model):
|
||||
_description = '会议纪要'
|
||||
_inherit = ['soong.workflow.mixin']
|
||||
|
||||
|
||||
name = fields.Char(string='名称')
|
||||
number_of_meetings = fields.Integer(string='会议次数')
|
||||
company_page = fields.Selection([('tz', '天河投资'), ('wg', '天河物管'), ('lc', '天河粮储')], string="公司")
|
||||
meeting_id = fields.Many2one('room.booking', string='会议名称', required=True)
|
||||
meeting_type_id = fields.Many2one('room.meeting.type', string="会议类型")
|
||||
meeting_date = fields.Datetime(string="会议时间")
|
||||
@@ -16,6 +20,16 @@ class IssueMeetingMinutes(models.Model):
|
||||
meeting_minutes_ids = fields.One2many('issue.meeting.minutes.line', 'meeting_minutes_id', string="会议纪要明细")
|
||||
notice_documents_ids = fields.Many2many('documents.document', string="纪要签名附件")
|
||||
|
||||
computed_meeting_name = fields.Char(string='会议名称', compute='_compute_meeting_name')
|
||||
@api.depends('meeting_date', 'number_of_meetings', 'meeting_id.name')
|
||||
def _compute_meeting_name(self):
|
||||
for record in self:
|
||||
if record.meeting_date and record.meeting_id:
|
||||
year = record.meeting_date.year
|
||||
meeting_name = record.meeting_id.name
|
||||
record.computed_meeting_name = f"{meeting_name}【{year}】{record.number_of_meetings}号"
|
||||
else:
|
||||
record.computed_meeting_name = False
|
||||
|
||||
class IssueMeetingMinutesLine(models.Model):
|
||||
_name = 'issue.meeting.minutes.line'
|
||||
|
||||
@@ -2,8 +2,49 @@
|
||||
<odoo>
|
||||
<template id="issue_meeting_minutes_report_template">
|
||||
<t t-call="web.basic_layout" t-foreach="docs" t-as="doc">
|
||||
|
||||
<div class="page">
|
||||
<h1 style="text-align:center;">
|
||||
<storng>
|
||||
<t t-esc="doc.name"/>
|
||||
<br/>
|
||||
<br/>
|
||||
</storng>
|
||||
</h1>
|
||||
<h2 style="text-align:center;">
|
||||
<storng>
|
||||
<t t-esc="doc.computed_meeting_name"/>
|
||||
</storng>
|
||||
</h2>
|
||||
<div style="text-indent: 4em;font-size: 24px;width: 900px;line-height: 2;" >
|
||||
<t t-esc="doc.meeting_date.strftime('%Y年%m月%d日')" />,
|
||||
<t t-if="doc.company_page == 'tz'">天河投资集团</t>
|
||||
<t t-elif="doc.company_page == 'wg'">天河物管集团</t>
|
||||
<t t-elif="doc.company_page == 'lc'">天河粮储集团</t>(下称“公司”)在
|
||||
<t t-esc="doc.meeting_id.room_id.name"/>(下称“会议”),召开了本年度
|
||||
第<t t-esc="doc.number_of_meetings"/>次<t t-esc="doc.meeting_type_id.name"/>,会议议题如下:<br/>
|
||||
</div>
|
||||
<div style="text-indent: 4em;font-size: 24px;width: 900px;line-height: 2;" >
|
||||
<t t-set="chinese_digits" t-value="['零', '一', '二', '三', '四', '五', '六', '七', '八', '九']"/>
|
||||
<t t-set="counter" t-value="1"/>
|
||||
<t t-foreach="doc.meeting_minutes_ids" t-as="dm">
|
||||
<t t-esc="chinese_digits[counter]"/>、<t t-esc="dm.minutes_id.name"/>
|
||||
<t t-set="counter" t-value="counter + 1" />
|
||||
</t>
|
||||
</div>
|
||||
<div style="text-indent: 4em;font-size: 24px;width: 900px;line-height: 2;" >
|
||||
<t t-set="chinese_digits" t-value="['零', '一', '二', '三', '四', '五', '六', '七', '八', '九']"/>
|
||||
<t t-set="counter" t-value="1" />
|
||||
<t t-foreach="doc.meeting_minutes_ids" t-as="dm">
|
||||
<span t-if="counter != 1" style="display: inline-block; width: 4em;"></span>
|
||||
<t t-esc="chinese_digits[counter]"/>、<t t-esc="dm.overview"/>
|
||||
<br/>
|
||||
<t t-set="counter" t-value="counter + 1" />
|
||||
</t>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
|
||||
|
||||
</template>
|
||||
|
||||
</odoo>
|
||||
@@ -8,6 +8,10 @@
|
||||
<xpath expr="//field[@name='room_id']" position="after">
|
||||
<field name="is_issue"/>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='meeting_type_id']" position="after">
|
||||
<field name="company_page"/>
|
||||
<field name="number_of_meetings"/>
|
||||
</xpath>
|
||||
<xpath expr="//page[@name='sign']" position="after">
|
||||
<page string="关联议题" invisible="is_issue == False">
|
||||
<field name="issue_meeting_line_ids">
|
||||
|
||||
@@ -21,10 +21,15 @@
|
||||
<group col="2">
|
||||
<group>
|
||||
<field name="code"/>
|
||||
<field name="name"/>
|
||||
<field name="meeting_id"/>
|
||||
<field name="meeting_date"/>
|
||||
<field name="meeting_type_id"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="number_of_meetings" invisible="1"/>
|
||||
<field name="company_page" invisible="1"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="会议纪要明细">
|
||||
|
||||
Reference in New Issue
Block a user