Merge branch 'refs/heads/dev' into dev_zhou

This commit is contained in:
zhouzhou
2024-10-24 20:52:51 +08:00
14 changed files with 271 additions and 224 deletions
+4 -35
View File
@@ -24,18 +24,17 @@ class RoomBooking(models.Model):
default=lambda self: self.env.user.id if not self.env.user._is_public() else False,
tracking=5)
# Fields used to group bookings in gantt view
office_id = fields.Many2one(related="room_id.office_id", string="Office", readonly=True, store=True)
company_id = fields.Many2one(related="room_id.company_id", string="Company", readonly=True, store=True)
# pengyuthon
department_id = fields.Many2one('hr.department', related='organizer_id.employee_id.department_id', string="申请人部门")
is_notice = fields.Boolean(string="是否发布通知", default=True)
is_hour = fields.Boolean(string="提前一小时", default=True)
is_day = fields.Boolean(string="提前一天", default=True)
meeting_type = fields.Selection([('up', '线上'), ('down', '线下'), ('exterior', '外部')], default='down', string="会议形式",
required=True)
meeting_type_id = fields.Many2one('room.meeting.type', string="会议类型",)
room_users_ids = fields.Many2many('res.users', string="会议参加人员",store=True)
meeting_type_id = fields.Many2one('room.meeting.type', string="会议类型")
room_users_ids = fields.Many2many('res.users', string="会议参加人员", store=True)
other_company_id = fields.Many2one('res.partner', string="外部公司")
other_company_user_ids = fields.One2many(related="other_company_id.child_ids", string="其他人员")
@@ -53,7 +52,6 @@ class RoomBooking(models.Model):
# 关联流程
relevancy_type = fields.Selection([('none', '无')], string="关联流程类型")
#打开选择范围弹窗
def open_select_range_wizard(self):
return {
'name': '选择范围',
@@ -67,7 +65,6 @@ class RoomBooking(models.Model):
@api.model_create_multi
def create(self, vals_list):
bookings = super(RoomBooking, self).create(vals_list)
# Notify frontend views of new bookings
for room, bookings in bookings.grouped("room_id").items():
room._notify_booking_view("create", bookings)
data = vals_list[0]
@@ -112,29 +109,6 @@ class RoomBooking(models.Model):
html_content = file.read().replace('姓名', html_select)
self.write({'meeting_data': html_content})
# @api.depends('department_ids', 'employee_ids', 'users_role_ids')
# def compute_room_users_ids(self):
# department_users_list = users_role_list = []
# for users in self:
# if users.department_ids:
# # 查看是否下级部门
# for depart in users.department_ids:
# department_users_data = users.env['hr.employee'].search([('department_id', '=', depart.id)])
# department_users_list = [de.user_id.id for de in department_users_data]
# if depart.child_ids:
# for child in depart.child_ids:
# department_child_users_data = users.env['hr.employee'].search(
# [('department_id', '=', child.id)])
# department_users_list += [de.user_id.id for de in department_child_users_data]
# employee_users_list = users.employee_ids.user_id.ids
# if users.users_role_ids:
# for user_id in users.users_role_ids:
# user_role_data = users.env['hr.employee'].search(['|', ('user_role_id', '=', user_id.id), ('user_role_ids', '=', user_id.id)])
# users_role_list = [ro.user_id.id for ro in user_role_data]
# publish_user_list = department_users_list + employee_users_list + users_role_list
# false_none_list = [x for x in publish_user_list if x != False]
# users.room_users_ids = [(6, 0, list(set(false_none_list)))]
@api.onchange('department_ids', 'employee_ids', 'users_role_ids', 'room_users_ids')
def onchange_partner_ids(self):
for par in self:
@@ -161,9 +135,6 @@ class RoomBooking(models.Model):
self.env['room.meeting.sign'].create({
'room_booking_id': self.id,
'partner_name': external.name,
# 'sign_user_name': external.name, # 单位名称里面的联系人
# 'job': external.function,
# 'mobile': external.mobile,
'user_type': 'outsiders',
'sign_type': 'no',
})
@@ -181,9 +152,7 @@ class RoomBooking(models.Model):
# 企业用户发送通知
partner_ids = self.sudo().env['res.users'].search([('id', 'in', self.room_users_ids.ids)]).mapped(
'partner_id').ids
self.sudo().with_context(lang=self.env.lang)._message_auto_subscribe_notify(partner_ids,
'room.message_yuthon_room_users_data')
# odoo发通知
self.sudo().with_context(lang=self.env.lang)._message_auto_subscribe_notify(partner_ids, 'room.message_yuthon_room_users_data')
def meeting_sign_in(self):
# 页面填写信息之后返回给地址
+2 -2
View File
@@ -1,3 +1,3 @@
.wizard_width {
width: 50% !important;
.horizontal-button {
white-space: nowrap !important; /* 确保文本不换行 */
}
+53 -50
View File
@@ -128,8 +128,7 @@
<button name="meeting_sign_in" string="签到" invisible="meeting_type != 'down'" type="object"
class="oe_highlight"/>
<button name="meeting_partner_create" string="录入" invisible="meeting_type != 'down'"
type="object"
class="oe_highlight"/>
type="object" class="oe_highlight"/>
<button name="sync_wechat_room" string="同步企业微信" type="object" class="oe_highlight"/>
</header>
<group>
@@ -152,61 +151,65 @@
<field name="meeting_type_id" required="1"/>
</group>
</group>
<div>
<button name="open_select_range_wizard" type="object">参与范围</button>
</div>
<group>
<group>
<group>
<field name="room_users_ids" widget="many2many_tags"/>
<field name="partner_ids" widget="many2many_tags" force_save="1" invisible="1"/>
<field name="other_company_user_ids" widget="many2many_tags" readonly="1"/>
<field name="is_notice"/>
</group>
<group>
<button name="open_select_range_wizard" string="选择范围" type="object" class="btn btn-primary horizontal-button"/>
</group>
</group>
<group>
<group>
<field name="is_hour" invisible="not is_notice"/>
<field name="is_day" invisible="not is_notice"/>
</group>
<group>
<field name="room_users_ids" widget="many2many_tags"/>
<field name="partner_ids" widget="many2many_tags" force_save="1" invisible="1"/>
<field name="other_company_user_ids" widget="many2many_tags" readonly="1"/>
</group>
</group>
<notebook>
<page name="sign" string="签到详情">
<group>
</group>
<notebook>
<page name="sign" string="签到详情">
<group>
<field name="should_user"/>
<group>
<field name="should_user"/>
</group>
<group>
<field name="right_user"/>
</group>
<field name="meeting_sing_ids">
<tree delete="0" create="0">
<field name="room_booking_id" column_invisible="1"/>
<field name="sign_user_name"/>
<field name="partner_name"/>
<field name="job"/>
<field name="mobile"/>
<field name="user_type"/>
<field name="sign_type"/>
<field name="sign_time"/>
</tree>
</field>
</group>
<group>
<field name="right_user"/>
</group>
<field name="meeting_sing_ids">
<tree delete="0" create="0">
<field name="room_booking_id" column_invisible="1"/>
<field name="sign_user_name"/>
<field name="partner_name"/>
<field name="job"/>
<field name="mobile"/>
<field name="user_type"/>
<field name="sign_type"/>
<field name="sign_time"/>
</tree>
</field>
</group>
</page>
<page name="meeting_html" string="会议说明">
<button name="button_meeting_data" string="座位排列" type="object" class="oe_highlight"/>
<field name="meeting_data" widget="tinymce"/>
</page>
</notebook>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids"/>
<field name="message_ids"/>
</div>
</form>
</field>
</record>
</page>
<page name="meeting_html" string="会议说明">
<button name="button_meeting_data" string="座位排列" type="object" class="oe_highlight"/>
<field name="meeting_data" widget="tinymce"/>
</page>
</notebook>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids"/>
<field name="message_ids"/>
</div>
</form>
</field>
</record>
<record id="room_booking_action" model="ir.actions.act_window">
<field name="name">Bookings</field>
<field name="res_model">room.booking</field>
<field name="view_mode">gantt,calendar,list,kanban,form,search</field>
</record>
</odoo>
<record id="room_booking_action" model="ir.actions.act_window">
<field name="name">Bookings</field>
<field name="res_model">room.booking</field>
<field name="view_mode">gantt,calendar,list,kanban,form,search</field>
</record>
</odoo>
@@ -4,7 +4,7 @@
<field name="name">room.select.range.wizard.form</field>
<field name="model">room.select.range.wizard</field>
<field name="arch" type="xml">
<form js_class="wizard_width">
<form>
<group col="2">
<group>
<field name="department_ids" widget="many2many_tags"/>
@@ -23,11 +23,5 @@
<field name="padding">3</field>
<field name="company_id" eval="False"/>
</record>
<record id="issue_meeting_code_num_sequence" model="ir.sequence">
<field name="name">会议纪要编号</field>
<field name="code">issue_meeting_minutes_code</field>
<field name="prefix">HY%(y)s%(month)s%(day)s</field>
<field name="padding">3</field>
<field name="company_id" eval="False"/>
</record>
</odoo>
+29 -10
View File
@@ -1,21 +1,26 @@
from odoo import api, fields, models, _
from odoo.exceptions import UserError
class RoomBooking(models.Model):
_inherit = 'room.booking'
room_booking_library_ids = fields.One2many('issue.meeting.line', 'meeting_booking_id')
room_booking_id = fields.Many2one('issue.library')
is_issue = fields.Boolean(string="是否关联议题")
issue_meeting_line_ids = fields.One2many('issue.meeting.line', 'meeting_booking_id', string="关联议题明细行")
def bottom_meeting_approval(self):
library_data = []
for library in self.room_booking_library_ids:
for library in self.issue_meeting_line_ids:
if library.state == 'done':
raise UserError('当前纪要不允许重复提交')
library.state = 'done'
library_data.append((0, 0, {
'minutes_id':library.issue_meeting.id,
'decision_results':library.decision_results,
'overview':library.decision_details,
'minutes_id': library.issue_library_id.id,
'decision_results': library.decision_results,
'overview': library.decision_details,
}))
return {
'name':'会议纪要审批',
'name': '会议纪要审批',
'type': 'ir.actions.act_window',
'view_mode': "form",
'res_model': 'issue.meeting.minutes',
@@ -26,14 +31,28 @@ class RoomBooking(models.Model):
'default_meeting_minutes_ids': library_data
}}
@api.model_create_multi
def create(self, vals_list):
res = super().create(vals_list)
for vals in vals_list:
if vals['issue_meeting_line_ids']:
for line in vals['issue_meeting_line_ids']:
self.env['issue.library.room.line'].create({
'issue_library_id': line[2]['issue_library_id'],
'room_booking_id': res.id,
'room_id': vals['room_id'],
'meeting_type_id': vals['meeting_type_id'],
'approval_date': vals['start_datetime'],
})
return res
class IssueMeetingLine(models.Model):
_name = 'issue.meeting.line'
_description = '关联议题库明细行'
_description = '关联议题明细行'
meeting_booking_id = fields.Many2one('room.booking', string='关联会议室')
issue_meeting_id = fields.Many2one('issue.library', string='关联议题库')
issue_library_id = fields.Many2one('issue.library', string='关联议题')
decision_results = fields.Selection([('agree', '通过'), ('disagree', '未通过')], string="决策结果")
decision_details = fields.Text(string="决策详情")
state = fields.Selection([('no', '未提交'), ('done', '已提交')], default='no', string="状态")
-3
View File
@@ -30,9 +30,6 @@ class IssueApproval(models.Model):
decision_display = fields.Char(string="决策清单", default='{"template": "yuthon_issue.html_decision_demo"}')
is_parent_unit = fields.Boolean(string="上级单位")
def pub_meeting_minutes(self):
pass
class IssueApprovalLine(models.Model):
_name = 'issue.approval.line'
+23 -5
View File
@@ -25,11 +25,11 @@ class IssueLibrary(models.Model):
relevancy_type = fields.Selection([('none', '无')], string="关联流程类型")
issue_approval_id = fields.Many2one('issue.approval', string="关联议题审批")
issue_library_line_ids = fields.One2many('issue.library.line', 'issue_library_id', string="决策明细")
issue_library_approval_line_ids = fields.One2many('issue.library.approval.line', 'issue_approval_id', string='流程记录')
issue_library_approval_line_ids = fields.One2many('issue.library.approval.line', 'issue_library_id', string='流程记录')
approval_decision_sequence = fields.Char(string="决策清单事项")
is_booking = fields.Boolean(string="是否上会")
room_booking_ids = fields.One2many('room.booking', 'room_booking_id', string="关联会议明细行")
issue_library_room_line_ids = fields.One2many('issue.library.room.line', 'issue_library_id', string="关联会议明细行")
# 权限相关隐藏字段
employee_id = fields.Many2one('hr.employee', string='创建人', default=lambda self: self.env.user.employee_id)
department_id = fields.Many2one('hr.department', string='部门', related='employee_id.department_id')
@@ -86,6 +86,7 @@ class IssueLibrary(models.Model):
"views": [[form_id, "form"]],
"context": {
"id": issue_approval_id.id,
"is_issue": True,
}
}
@@ -99,6 +100,11 @@ class IssueLibrary(models.Model):
raise UserError("当前状态不允许上会")
for meet in self:
meet.write({"state": "on_meet"})
issue_details = []
for issue in issue_active_ids:
issue_details.append((0, 0, {
'issue_library_id': issue.id,
}))
form_id = self.env.ref("room.room_booking_view_form").id
return {
"type": "ir.actions.act_window",
@@ -106,7 +112,8 @@ class IssueLibrary(models.Model):
"res_model": "room.booking",
"views": [[form_id, "form"]],
"context": {
'default_room_booking_library_ids': [(6,0, issue_active_ids.ids)],
'default_is_issue': True,
'default_issue_meeting_line_ids': issue_details,
}
}
@@ -150,14 +157,14 @@ class IssueLibraryLine(models.Model):
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_bureau = fields.Selection(related='issue_approval_decision_id.district_bureau', string='上级单位')
ordinal = fields.Char(related='issue_approval_decision_id.sequence',string='序号')
ordinal = fields.Char(related='issue_approval_decision_id.sequence', string='序号')
class IssueLibraryApprovalLine(models.Model):
_name = "issue.library.approval.line"
_description = '关联流程明细'
issue_approval_id = fields.Many2one('issue.library')
issue_library_id = fields.Many2one('issue.library', string="关联议题")
workflow_record_id = fields.Many2one('soong.workflow.record', string="标题")
code = fields.Char(string="流程编号")
approval_type = fields.Many2one(related="workflow_record_id.workflow_id", string="类型")
@@ -171,3 +178,14 @@ class IssueLibraryApprovalLine(models.Model):
"name": self.workflow_record_id.name,
"view_mode": "form",
}
class IssueLibraryRoomLine(models.Model):
_name = "issue.library.room.line"
_description = '关联会议明细'
issue_library_id = fields.Many2one('issue.library', string="关联议题")
room_booking_id = fields.Many2one('room.booking', string="会议名称")
room_id = fields.Many2one('room.room', string="会议地点")
meeting_type_id = fields.Many2one('room.meeting.type', string="会议类型")
approval_date = fields.Datetime(related="room_booking_id.write_date", string="创建日期")
+1 -1
View File
@@ -12,7 +12,7 @@ class IssueMeetingMinutes(models.Model):
meeting_type_id = fields.Many2one('room.meeting.type', string="会议类型")
meeting_date = fields.Datetime(string="会议时间")
code = fields.Char(string='编号', required=True, copy=False,
default=lambda self: self.env['ir.sequence'].next_by_code('issue_meeting_code_num_sequence'))
default=lambda self: self.env['ir.sequence'].next_by_code('issue_meeting_minutes_code'))
meeting_minutes_ids = fields.One2many('issue.meeting.minutes.line', 'meeting_minutes_id', string="会议纪要明细")
notice_documents_ids = fields.Many2many('documents.document', string="纪要签名附件")
@@ -8,3 +8,6 @@ access_issue_approval_line,issue_approval_line,model_issue_approval_line,base.gr
access_issue_library,issue_library,model_issue_library,base.group_user,1,1,1,1
access_issue_meeting_minutes_line,issue_meeting_minutes_line,model_issue_meeting_minutes_line,base.group_user,1,1,1,1
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
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
8 access_issue_library issue_library model_issue_library base.group_user 1 1 1 1
9 access_issue_meeting_minutes_line issue_meeting_minutes_line model_issue_meeting_minutes_line base.group_user 1 1 1 1
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
+15 -4
View File
@@ -5,20 +5,31 @@
<field name="model">room.booking</field>
<field name="inherit_id" ref="room.room_booking_view_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='room_id']" position="after">
<field name="is_issue"/>
</xpath>
<xpath expr="//page[@name='sign']" position="after">
<page string="关联议题">
<field name="room_booking_library_ids">
<page string="关联议题" invisible="is_issue == False">
<field name="issue_meeting_line_ids">
<tree editable="bottom">
<field name="meeting_booking_id" column_invisible="1"/>
<field name="issue_meeting_id"/>
<field name="issue_library_id" readonly="1"/>
<field name="decision_results"/>
<field name="decision_details"/>
<field name="state"/>
</tree>
</field>
<button name="bottom_meeting_approval" string="提交会议审批单" type="object" class="oe_highlight"/>
<button name="bottom_meeting_approval" string="提交会议纪要审批单" type="object" class="oe_highlight"/>
</page>
</xpath>
</field>
</record>
<record id="issue_meeting_action" model="ir.actions.act_window">
<field name="name">议题相关会议</field>
<field name="res_model">room.booking</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('is_issue','=',True)]</field>
</record>
</odoo>
@@ -12,7 +12,6 @@
<field name="department_id"/>
<field name="issue_display" widget="json_template"/>
<field name="decision_display" widget="json_template"/>
<button name="pub_meeting_minutes" string="会议纪要" type="object" class="oe_highlight"/>
</tree>
</field>
</record>
+133 -105
View File
@@ -34,17 +34,9 @@
<field name="state" widget="statusbar"/>
</header>
<sheet>
<group>
<div class="oe_title">
<label for="name"/>
<h1>
<field name="name" required="1"/>
</h1>
</div>
<group/>
</group>
<group>
<group>
<field name="name" required="1"/>
<field name="code"/>
<field name="approval_decision_sequence" invisible="1"/>
<field name="notice_documents_ids" widget="preview_many2many"/>
@@ -89,7 +81,7 @@
<page string="关联流程">
<field name="issue_library_approval_line_ids" readonly="1">
<tree>
<field name="issue_approval_id" column_invisible="1"/>
<field name="issue_library_id" column_invisible="1"/>
<field name="workflow_record_id" string="标题"/>
<field name="code"/>
<field name="approval_type"/>
@@ -107,13 +99,13 @@
</group>
</page>
<page string="关联会议" invisible="is_booking == False">
<field name="room_booking_ids">
<field name="issue_library_room_line_ids" readonly="1">
<tree>
<field name="room_booking_id" string="会议名称"/>
<field name="room_id" string="会议地点"/>
<field name="issue_library_id" column_invisible="1"/>
<field name="room_booking_id"/>
<field name="room_id"/>
<field name="meeting_type_id"/>
<field name="start_datetime"/>
<field name="stop_datetime"/>
<field name="approval_date"/>
</tree>
</field>
</page>
@@ -223,18 +215,10 @@
<field name="state" widget="statusbar"/>
</header>
<sheet>
<group>
<div class="oe_title">
<label for="name"/>
<h1>
<field name="name" required="1"/>
</h1>
</div>
<group/>
</group>
<group>
<group>
<field name="code"/>
<field name="name" required="1"/>
<field name="approval_decision_sequence" invisible="1"/>
<field name="notice_documents_ids" widget="preview_many2many"/>
<field name="creart_datetime"/>
@@ -244,6 +228,7 @@
<field name="department_id" invisible="1"/>
<field name="yuthon_company" invisible="1"/>
<field name="users_role_ids" invisible="1" widget="many2many_tags"/>
<field name="is_booking"/>
</group>
</group>
<group col="2">
@@ -269,7 +254,7 @@
<page string="关联流程">
<field name="issue_library_approval_line_ids" readonly="1">
<tree>
<field name="issue_approval_id" column_invisible="1"/>
<field name="issue_library_id" column_invisible="1"/>
<field name="workflow_record_id" string="标题"/>
<field name="code"/>
<field name="approval_type"/>
@@ -286,6 +271,17 @@
<group/>
</group>
</page>
<page string="关联会议" invisible="is_booking == False">
<field name="issue_library_room_line_ids" readonly="1">
<tree>
<field name="issue_library_id" column_invisible="1"/>
<field name="room_booking_id"/>
<field name="room_id"/>
<field name="meeting_type_id"/>
<field name="approval_date"/>
</tree>
</field>
</page>
</notebook>
</sheet>
</form>
@@ -365,17 +361,9 @@
<field name="state" widget="statusbar"/>
</header>
<sheet>
<group>
<div class="oe_title">
<label for="name"/>
<h1>
<field name="name" required="1"/>
</h1>
</div>
<group/>
</group>
<group>
<group>
<field name="name" required="1"/>
<field name="code"/>
<field name="approval_decision_sequence" invisible="1"/>
<field name="notice_documents_ids" widget="preview_many2many"/>
@@ -386,6 +374,7 @@
<field name="department_id" invisible="1"/>
<field name="yuthon_company" invisible="1"/>
<field name="users_role_ids" invisible="1" widget="many2many_tags"/>
<field name="is_booking"/>
</group>
</group>
<group col="2">
@@ -411,7 +400,7 @@
<page string="关联流程">
<field name="issue_library_approval_line_ids" readonly="1">
<tree>
<field name="issue_approval_id" column_invisible="1"/>
<field name="issue_library_id" column_invisible="1"/>
<field name="workflow_record_id" string="标题"/>
<field name="code"/>
<field name="approval_type"/>
@@ -428,6 +417,17 @@
<group/>
</group>
</page>
<page string="关联会议" invisible="is_booking == False">
<field name="issue_library_room_line_ids" readonly="1">
<tree>
<field name="issue_library_id" column_invisible="1"/>
<field name="room_booking_id"/>
<field name="room_id"/>
<field name="meeting_type_id"/>
<field name="approval_date"/>
</tree>
</field>
</page>
</notebook>
</sheet>
</form>
@@ -506,18 +506,10 @@
<field name="state" widget="statusbar"/>
</header>
<sheet>
<group>
<div class="oe_title">
<label for="name"/>
<h1>
<field name="name" required="1"/>
</h1>
</div>
<group/>
</group>
<group>
<group>
<field name="code"/>
<field name="name" required="1"/>
<field name="approval_decision_sequence" invisible="1"/>
<field name="notice_documents_ids" widget="preview_many2many"/>
<field name="creart_datetime"/>
@@ -527,6 +519,7 @@
<field name="department_id" invisible="1"/>
<field name="yuthon_company" invisible="1"/>
<field name="users_role_ids" invisible="1" widget="many2many_tags"/>
<field name="is_booking"/>
</group>
</group>
<group col="2">
@@ -552,7 +545,7 @@
<page string="关联流程">
<field name="issue_library_approval_line_ids" readonly="1">
<tree>
<field name="issue_approval_id" column_invisible="1"/>
<field name="issue_library_id" column_invisible="1"/>
<field name="workflow_record_id" string="标题"/>
<field name="code"/>
<field name="approval_type"/>
@@ -569,6 +562,17 @@
<group/>
</group>
</page>
<page string="关联会议" invisible="is_booking == False">
<field name="issue_library_room_line_ids" readonly="1">
<tree>
<field name="issue_library_id" column_invisible="1"/>
<field name="room_booking_id"/>
<field name="room_id"/>
<field name="meeting_type_id"/>
<field name="approval_date"/>
</tree>
</field>
</page>
</notebook>
</sheet>
</form>
@@ -648,18 +652,10 @@
<field name="state" widget="statusbar"/>
</header>
<sheet>
<group>
<div class="oe_title">
<label for="name"/>
<h1>
<field name="name" required="1"/>
</h1>
</div>
<group/>
</group>
<group>
<group>
<field name="code"/>
<field name="name" required="1"/>
<field name="approval_decision_sequence" invisible="1"/>
<field name="notice_documents_ids" widget="preview_many2many"/>
<field name="creart_datetime"/>
@@ -669,6 +665,7 @@
<field name="department_id" invisible="1"/>
<field name="yuthon_company" invisible="1"/>
<field name="users_role_ids" invisible="1" widget="many2many_tags"/>
<field name="is_booking"/>
</group>
</group>
<group col="2">
@@ -694,7 +691,7 @@
<page string="关联流程">
<field name="issue_library_approval_line_ids" readonly="1">
<tree>
<field name="issue_approval_id" column_invisible="1"/>
<field name="issue_library_id" column_invisible="1"/>
<field name="workflow_record_id" string="标题"/>
<field name="code"/>
<field name="approval_type"/>
@@ -711,6 +708,17 @@
<group/>
</group>
</page>
<page string="关联会议" invisible="is_booking == False">
<field name="issue_library_room_line_ids" readonly="1">
<tree>
<field name="issue_library_id" column_invisible="1"/>
<field name="room_booking_id"/>
<field name="room_id"/>
<field name="meeting_type_id"/>
<field name="approval_date"/>
</tree>
</field>
</page>
</notebook>
</sheet>
</form>
@@ -790,18 +798,10 @@
<field name="state" widget="statusbar"/>
</header>
<sheet>
<group>
<div class="oe_title">
<label for="name"/>
<h1>
<field name="name" required="1"/>
</h1>
</div>
<group/>
</group>
<group>
<group>
<field name="code"/>
<field name="name" required="1"/>
<field name="approval_decision_sequence" invisible="1"/>
<field name="notice_documents_ids" widget="preview_many2many"/>
<field name="creart_datetime"/>
@@ -811,6 +811,7 @@
<field name="department_id" invisible="1"/>
<field name="yuthon_company" invisible="1"/>
<field name="users_role_ids" invisible="1" widget="many2many_tags"/>
<field name="is_booking"/>
</group>
</group>
<group col="2">
@@ -836,7 +837,7 @@
<page string="关联流程">
<field name="issue_library_approval_line_ids" readonly="1">
<tree>
<field name="issue_approval_id" column_invisible="1"/>
<field name="issue_library_id" column_invisible="1"/>
<field name="workflow_record_id" string="标题"/>
<field name="code"/>
<field name="approval_type"/>
@@ -853,6 +854,17 @@
<group/>
</group>
</page>
<page string="关联会议" invisible="is_booking == False">
<field name="issue_library_room_line_ids" readonly="1">
<tree>
<field name="issue_library_id" column_invisible="1"/>
<field name="room_booking_id"/>
<field name="room_id"/>
<field name="meeting_type_id"/>
<field name="approval_date"/>
</tree>
</field>
</page>
</notebook>
</sheet>
</form>
@@ -932,18 +944,10 @@
<field name="state" widget="statusbar"/>
</header>
<sheet>
<group>
<div class="oe_title">
<label for="name"/>
<h1>
<field name="name" required="1"/>
</h1>
</div>
<group/>
</group>
<group>
<group>
<field name="code"/>
<field name="name" required="1"/>
<field name="approval_decision_sequence" invisible="1"/>
<field name="notice_documents_ids" widget="preview_many2many"/>
<field name="creart_datetime"/>
@@ -953,6 +957,7 @@
<field name="department_id" invisible="1"/>
<field name="yuthon_company" invisible="1"/>
<field name="users_role_ids" invisible="1" widget="many2many_tags"/>
<field name="is_booking"/>
</group>
</group>
<group col="2">
@@ -978,7 +983,7 @@
<page string="关联流程">
<field name="issue_library_approval_line_ids" readonly="1">
<tree>
<field name="issue_approval_id" column_invisible="1"/>
<field name="issue_library_id" column_invisible="1"/>
<field name="workflow_record_id" string="标题"/>
<field name="code"/>
<field name="approval_type"/>
@@ -995,6 +1000,17 @@
<group/>
</group>
</page>
<page string="关联会议" invisible="is_booking == False">
<field name="issue_library_room_line_ids" readonly="1">
<tree>
<field name="issue_library_id" column_invisible="1"/>
<field name="room_booking_id"/>
<field name="room_id"/>
<field name="meeting_type_id"/>
<field name="approval_date"/>
</tree>
</field>
</page>
</notebook>
</sheet>
</form>
@@ -1074,18 +1090,10 @@
<field name="state" widget="statusbar"/>
</header>
<sheet>
<group>
<div class="oe_title">
<label for="name"/>
<h1>
<field name="name" required="1"/>
</h1>
</div>
<group/>
</group>
<group>
<group>
<field name="code"/>
<field name="name" required="1"/>
<field name="approval_decision_sequence" invisible="1"/>
<field name="notice_documents_ids" widget="preview_many2many"/>
<field name="creart_datetime"/>
@@ -1095,6 +1103,7 @@
<field name="department_id" invisible="1"/>
<field name="yuthon_company" invisible="1"/>
<field name="users_role_ids" invisible="1" widget="many2many_tags"/>
<field name="is_booking"/>
</group>
</group>
<group col="2">
@@ -1120,7 +1129,7 @@
<page string="关联流程">
<field name="issue_library_approval_line_ids" readonly="1">
<tree>
<field name="issue_approval_id" column_invisible="1"/>
<field name="issue_library_id" column_invisible="1"/>
<field name="workflow_record_id" string="标题"/>
<field name="code"/>
<field name="approval_type"/>
@@ -1137,6 +1146,17 @@
<group/>
</group>
</page>
<page string="关联会议" invisible="is_booking == False">
<field name="issue_library_room_line_ids" readonly="1">
<tree>
<field name="issue_library_id" column_invisible="1"/>
<field name="room_booking_id"/>
<field name="room_id"/>
<field name="meeting_type_id"/>
<field name="approval_date"/>
</tree>
</field>
</page>
</notebook>
</sheet>
</form>
@@ -1219,18 +1239,10 @@
<field name="state" widget="statusbar"/>
</header>
<sheet>
<group>
<div class="oe_title">
<label for="name"/>
<h1>
<field name="name" required="1"/>
</h1>
</div>
<group/>
</group>
<group>
<group>
<field name="code"/>
<field name="name" required="1"/>
<field name="approval_decision_sequence" invisible="1"/>
<field name="notice_documents_ids" widget="preview_many2many"/>
<field name="creart_datetime"/>
@@ -1240,6 +1252,7 @@
<field name="department_id" invisible="1"/>
<field name="yuthon_company" invisible="1"/>
<field name="users_role_ids" invisible="1" widget="many2many_tags"/>
<field name="is_booking"/>
</group>
</group>
<group col="4">
@@ -1273,7 +1286,7 @@
<page string="关联流程">
<field name="issue_library_approval_line_ids" readonly="1">
<tree>
<field name="issue_approval_id" column_invisible="1"/>
<field name="issue_library_id" column_invisible="1"/>
<field name="workflow_record_id" string="标题"/>
<field name="code"/>
<field name="approval_type"/>
@@ -1290,6 +1303,17 @@
<group/>
</group>
</page>
<page string="关联会议" invisible="is_booking == False">
<field name="issue_library_room_line_ids" readonly="1">
<tree>
<field name="issue_library_id" column_invisible="1"/>
<field name="room_booking_id"/>
<field name="room_id"/>
<field name="meeting_type_id"/>
<field name="approval_date"/>
</tree>
</field>
</page>
</notebook>
</sheet>
</form>
@@ -1381,18 +1405,10 @@
<field name="state" widget="statusbar"/>
</header>
<sheet>
<group>
<div class="oe_title">
<label for="name"/>
<h1>
<field name="name" required="1"/>
</h1>
</div>
<group/>
</group>
<group>
<group>
<field name="code"/>
<field name="name" required="1"/>
<field name="approval_decision_sequence" invisible="1"/>
<field name="notice_documents_ids" widget="preview_many2many"/>
<field name="creart_datetime"/>
@@ -1402,6 +1418,7 @@
<field name="department_id" invisible="1"/>
<field name="yuthon_company" invisible="1"/>
<field name="users_role_ids" invisible="1" widget="many2many_tags"/>
<field name="is_booking"/>
</group>
</group>
<group col="4">
@@ -1435,7 +1452,7 @@
<page string="关联流程">
<field name="issue_library_approval_line_ids" readonly="1">
<tree>
<field name="issue_approval_id" column_invisible="1"/>
<field name="issue_library_id" column_invisible="1"/>
<field name="workflow_record_id" string="标题"/>
<field name="code"/>
<field name="approval_type"/>
@@ -1452,6 +1469,17 @@
<group/>
</group>
</page>
<page string="关联会议" invisible="is_booking == False">
<field name="issue_library_room_line_ids" readonly="1">
<tree>
<field name="issue_library_id" column_invisible="1"/>
<field name="room_booking_id"/>
<field name="room_id"/>
<field name="meeting_type_id"/>
<field name="approval_date"/>
</tree>
</field>
</page>
</notebook>
</sheet>
</form>
+6
View File
@@ -42,6 +42,12 @@
action="issue_library_approval_action"
sequence="28"/>
<menuitem id="issue_meeting_menu"
parent="tianhe_issue_library_menu_root"
name="议题相关会议"
action="issue_meeting_action"
sequence="29"/>
<menuitem id="issue_meeting_minutes_menu"
parent="tianhe_issue_library_menu_root"
name="会议纪要"