@@ -74,7 +74,7 @@ class YuthonWillTask(models.Model):
|
||||
remarks = fields.Text(string='备注')
|
||||
creation_time = fields.Date(string='创建时间', default=fields.Date.today())
|
||||
employee_ids = fields.Many2many('hr.employee', 'will_task_employee_rel', 'custom_id', 'employee_id',
|
||||
string='人员', store=True, index=True, domain=lambda self: self._get_employee_domain())
|
||||
string='人员', store=True, index=True)
|
||||
employee_ids2 = fields.Many2many('hr.employee', 'will_task_employee_rel2', 'custom_id', 'employee_id',
|
||||
string='司机', store=True, index=True)
|
||||
users_ids = fields.Many2many('res.users', string='用户', store=True, index=True, default=lambda self: self.env.user)
|
||||
@@ -88,23 +88,24 @@ class YuthonWillTask(models.Model):
|
||||
|
||||
@api.onchange('is_this_company')
|
||||
def _onchange_is_this_company(self):
|
||||
"""当是否为本公司字段变化时,更新员工列表和domain"""
|
||||
if self.is_this_company:
|
||||
# 获取当前用户所属的公司列表
|
||||
company_ids = self.env.companies.ids
|
||||
# 过滤已选员工,只保留属于当前公司的员工
|
||||
self.employee_ids = self.employee_ids.filtered(
|
||||
lambda emp: emp.company_id.id in company_ids
|
||||
)
|
||||
# 返回domain,限制可选员工为当前公司的员工
|
||||
return {
|
||||
'domain': {
|
||||
'employee_ids': [('company_id', 'in', company_ids)]
|
||||
}
|
||||
}
|
||||
else:
|
||||
# 当不限制为本公司时,清空domain,允许选择所有员工
|
||||
return {'domain': {'employee_ids': []}}
|
||||
pass
|
||||
# """当是否为本公司字段变化时,更新员工列表和domain"""
|
||||
# if self.is_this_company:
|
||||
# # 获取当前用户所属的公司列表
|
||||
# company_ids = self.env.companies.ids
|
||||
# # 过滤已选员工,只保留属于当前公司的员工
|
||||
# self.employee_ids = self.employee_ids.filtered(
|
||||
# lambda emp: emp.company_id.id in company_ids
|
||||
# )
|
||||
# # 返回domain,限制可选员工为当前公司的员工
|
||||
# return {
|
||||
# 'domain': {
|
||||
# 'employee_ids': [('company_id', 'in', company_ids)]
|
||||
# }
|
||||
# }
|
||||
# else:
|
||||
# # 当不限制为本公司时,清空domain,允许选择所有员工
|
||||
# return {'domain': {'employee_ids': []}}
|
||||
|
||||
@api.onchange('employee_ids', 'user_id')
|
||||
def _onchange_employee_ids(self):
|
||||
|
||||
@@ -42,83 +42,74 @@
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_yuthon_will_task_form" model="ir.ui.view">
|
||||
<field name="name">yuthon.will.task.form</field>
|
||||
<field name="model">yuthon.will.task</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="日程">
|
||||
<sheet>
|
||||
<widget name="web_ribbon" title="不紧急不重要" bg_color="text-bg-secondary"
|
||||
invisible="priority != 'general'"/>
|
||||
<widget name="web_ribbon" title="重要不紧急" bg_color="text-bg-success"
|
||||
invisible="priority != 'important'"/>
|
||||
<widget name="web_ribbon" title="紧急不重要" bg_color="text-bg-warning"
|
||||
invisible="priority != 'urgent'"/>
|
||||
<widget name="web_ribbon" title="重要且紧急" bg_color="text-bg-danger"
|
||||
invisible="priority != 'very_urgent'"/>
|
||||
<group col="3">
|
||||
<group>
|
||||
<field name="code" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="is_this_company" string="本公司"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="priority"/>
|
||||
</group>
|
||||
</group>
|
||||
<div class="oe_title">
|
||||
<label for="task_content"/>
|
||||
<h1>
|
||||
<field name="task_content" required="1"/>
|
||||
</h1>
|
||||
</div>
|
||||
<field name="name">yuthon.will.task.form</field>
|
||||
<field name="model">yuthon.will.task</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="日程">
|
||||
<sheet>
|
||||
<widget name="web_ribbon" title="不紧急不重要" bg_color="text-bg-secondary" invisible="priority != 'general'"/>
|
||||
<widget name="web_ribbon" title="重要不紧急" bg_color="text-bg-success" invisible="priority != 'important'"/>
|
||||
<widget name="web_ribbon" title="紧急不重要" bg_color="text-bg-warning" invisible="priority != 'urgent'"/>
|
||||
<widget name="web_ribbon" title="重要且紧急" bg_color="text-bg-danger" invisible="priority != 'very_urgent'"/>
|
||||
<group col="3">
|
||||
<group>
|
||||
<field name="code" readonly="1"/>
|
||||
</group>
|
||||
<group col="2">
|
||||
<group>
|
||||
<label for="start_date"/>
|
||||
<div class="d-inline-flex w-100">
|
||||
<field name="start_date" string="日期:" class="me-2"
|
||||
style="max-width: 10rem !important;"/>时间
|
||||
<field name="request_hour_from" string=" " class="ms-2"
|
||||
style="max-width: 5rem !important;"/>至
|
||||
<field name="request_hour_to" string=" " class="ms-2"
|
||||
style="max-width: 5rem !important;"/>
|
||||
</div>
|
||||
</group>
|
||||
<group>
|
||||
<field name="task_time_ids" widget="many2many_tags"/>
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
<field name="user_id"/>
|
||||
<field name="task_state" invisible="1"/>
|
||||
<field name="employee_ids" widget="many2many_tags" options="{'no_create': True}"/>
|
||||
<field name="user_role_ids" widget="many2many_tags" invisible="1"/>
|
||||
<field name='users_ids' widget="many2many_tags" invisible="1"/>
|
||||
<field name="is_this_company" string="本公司"/>
|
||||
</group>
|
||||
<group col="2">
|
||||
<group>
|
||||
<field name="address"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name='employee_ids2' widget="many2many_tags" domain="[('user_role_ids.name', 'in', ['司机'])]" options="{'no_create': True}"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="remarks"/>
|
||||
<field name='document_ids' widget="preview_many2many"/>
|
||||
<field name="creation_time" invisible="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="priority"/>
|
||||
</group>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_follower_ids" groups="base.group_user" options="{'post_refresh': 'recipients'}"/>
|
||||
<field name="activity_ids"/>
|
||||
<field name="message_ids"/>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
</group>
|
||||
<div class="oe_title">
|
||||
<label for="task_content"/>
|
||||
<h1>
|
||||
<field name="task_content" required="1"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group col="2">
|
||||
<group>
|
||||
<label for="start_date"/>
|
||||
<div class="d-inline-flex w-100">
|
||||
<field name="start_date" string="日期:" class="me-2" style="max-width: 10rem !important;"/>时间
|
||||
<field name="request_hour_from" string=" " class="ms-2" style="max-width: 5rem !important;"/>至
|
||||
<field name="request_hour_to" string=" " class="ms-2" style="max-width: 5rem !important;"/>
|
||||
</div>
|
||||
</group>
|
||||
<group>
|
||||
<field name="task_time_ids" widget="many2many_tags"/>
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
<field name="user_id"/>
|
||||
<field name="task_state" invisible="1"/>
|
||||
<field name="employee_ids" widget="many2many_tags" options="{'no_create': True}"/>
|
||||
<field name="user_role_ids" widget="many2many_tags" invisible="1"/>
|
||||
<field name="users_ids" widget="many2many_tags" invisible="1"/>
|
||||
</group>
|
||||
<group col="2">
|
||||
<group>
|
||||
<field name="address"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="employee_ids2" widget="many2many_tags" domain="[('user_role_ids.name', 'in', ['司机'])]" options="{'no_create': True}"/>
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
<field name="remarks"/>
|
||||
<field name="document_ids" widget="preview_many2many"/>
|
||||
<field name="creation_time" invisible="1"/>
|
||||
</group>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_follower_ids" groups="base.group_user" options="{'post_refresh': 'recipients'}"/>
|
||||
<field name="activity_ids"/>
|
||||
<field name="message_ids"/>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record id='view_yuthon_will_task_tree2' model='ir.ui.view'>
|
||||
<field name='name'>yuthon.will.task.tree2</field>
|
||||
<field name='model'>yuthon.will.task</field>
|
||||
@@ -216,7 +207,7 @@
|
||||
</group>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_follower_ids" groups="base.group_user" options="{'post_refresh': 'recipients'}"/>
|
||||
<field name="message_follower_ids" groups="base.group_user"/>
|
||||
<field name="activity_ids"/>
|
||||
<field name="message_ids"/>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user