!3907 添加功能

Merge pull request !3907 from 李鹏宇/dev_zhou
This commit is contained in:
李鹏宇
2025-07-17 08:45:18 +00:00
committed by Gitee
2 changed files with 111 additions and 5 deletions
@@ -18,6 +18,22 @@ class YuthonVacationReports(models.Model):
working_overtime = fields.Float(string='加班时', compute='_compute_working_overtime', store=True)
meal_fee = fields.Integer(string="误餐次数", compute='_compute_meal_fee', store=True)
def overtime_allocation(self):
form_id = self.env.ref('hr_holidays.hr_leave_allocation_view_form_manager').id
holiday_status_id = self.env['hr.leave.type'].search([('name', '=', '补休')])
return {
'name': '补休时分配',
'view_mode': 'form',
'res_model': 'hr.leave.allocation',
'type': 'ir.actions.act_window',
'views': [(form_id, 'form')],
'context': {
'default_holiday_status_id': holiday_status_id.id,
'default_employee_ids': [(6, 0, [self.employee_id.id])],
'default_allocation_type': 'regular',
'default_name': '补休增加',
}}
def update_vac(self):
vacation_ids = self.env["yuthon.vacation.reports"].browse(
self._context.get('active_ids', self._context.get('active_id')))
@@ -4,7 +4,7 @@
<field name="name">yuthon.vacation.reports.tree</field>
<field name="model">yuthon.vacation.reports</field>
<field name="arch" type="xml">
<tree string="假期额度记录" editable="bottom">
<tree string="假期额度日志" editable="bottom">
<field name="employee_id" options="{'no_create': True}"/>
<field name="leave"/>
<field name="working_overtime"/>
@@ -19,9 +19,20 @@
<field name="name">yuthon.vacation.reports.form</field>
<field name="model">yuthon.vacation.reports</field>
<field name="arch" type="xml">
<form string="假期额度记录">
<form string="假期额度日志">
<sheet>
<field name="employee_id"/>
<field name="employee_id" invisible="1"/>
<group col="3">
<group>
<field name="leave" string="剩余年假"/>
</group>
<group>
<field name="working_overtime" string="剩余补休"/>
</group>
<group>
<field name="meal_fee" string="剩余误餐费"/>
</group>
</group>
<notebook>
<page string="年假">
<field name="leave_ids" context="{'default_employee_id': employee_id}">
@@ -40,6 +51,7 @@
</field>
</page>
<page string="加班">
<button name="overtime_allocation" string="分配" type="object" class="btn btn-primary"/>
<field name="overtime_ids" context="{'default_employee_id': employee_id}">
<tree editable="bottom" delete="false" decoration-muted="is_void">
<field name="vacation_id" column_invisible="1"/>
@@ -77,16 +89,94 @@
</form>
</field>
</record>
<record id="view_yuthon_vacation_reports_form1" model="ir.ui.view">
<field name="name">yuthon.vacation.reports.form</field>
<field name="model">yuthon.vacation.reports</field>
<field name="arch" type="xml">
<form string="我的假期额度记录" create="1" edit="1" delete="1">
<sheet>
<field name="employee_id" invisible="1"/>
<group col="3">
<group>
<field name="leave" string="剩余年假" readonly="1"/>
</group>
<group>
<field name="working_overtime" string="剩余补休" readonly="1"/>
</group>
<group>
<field name="meal_fee" string="剩余误餐费" readonly="1"/>
</group>
</group>
<notebook>
<page string="年假">
<field name="leave_ids" context="{'default_employee_id': employee_id}">
<tree editable="bottom" delete="false" decoration-muted="is_void" edit="false" create="false">
<field name="employee_id" column_invisible="1"/>
<field name="vacation_id" column_invisible="1"/>
<field name="workflow_record_id" domain="[('workflow_id.name', '=', '请假'), ('create_uid.employee_id', '=', employee_id)]"/>
<field name="update_type" readonly="1"/>
<field name="update_date" readonly="1"/>
<field name="update_lines"/>
<field name="allocation_type" optional="hide"/>
<field name="is_void" optional="hide"/>
<field name="text"/>
<button name="unlink" string="删除" invisible="workflow_record_id" type="object" class="btn-primary"/>
</tree>
</field>
</page>
<page string="加班">
<field name="overtime_ids" context="{'default_employee_id': employee_id}">
<tree editable="bottom" delete="false" decoration-muted="is_void" edit="false" create="false">
<field name="vacation_id" column_invisible="1"/>
<field name="employee_id" column_invisible="1"/>
<field name="workflow_record_id" domain="[('workflow_id.name', '=', '加班'), ('create_uid.employee_id', '=', employee_id)]"/>
<field name="update_type" readonly="1"/>
<field name="update_date" readonly="1"/>
<field name="workday"/>
<field name="legal_day"/>
<field name="public_holidays"/>
<field name="meal_number" column_invisible="1"/>
<field name="is_void" optional="hide"/>
<field name="text"/>
<button name="unlink" string="删除" invisible="workflow_record_id" type="object" class="btn-primary"/>
</tree>
</field>
</page>
<page string="误餐">
<field name="meal_fee_ids" context="{'default_employee_id': employee_id}">
<tree editable="bottom" delete="false" decoration-muted="is_void" edit="false" create="false">
<field name="employee_id" column_invisible="1"/>
<field name="vacation_id" column_invisible="1"/>
<field name="workflow_record_id" domain="[('workflow_id.name', '=', '外出'), ('create_uid.employee_id', '=', employee_id)]"/>
<field name="update_type" readonly="1"/>
<field name="update_date" readonly="1"/>
<field name="update_lines"/>
<field name="is_void" optional="hide"/>
<field name="text"/>
<button name="unlink" string="删除" invisible="workflow_record_id" type="object" class="btn-primary"/>
</tree>
</field>
</page>
</notebook>
</sheet>
</form>
</field>
</record>
<record id="view_yuthon_vacation_reports_action" model="ir.actions.act_window">
<field name="name">假期额度记录</field>
<field name="name">假期额度日志</field>
<field name="res_model">yuthon.vacation.reports</field>
<field name="view_mode">tree,form</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'tree', 'view_id': ref('yuthon_holiday.view_yuthon_vacation_reports_tree')}),
(0, 0, {'view_mode': 'form', 'view_id': ref('yuthon_holiday.view_yuthon_vacation_reports_form')})]"/>
</record>
<record id="view_yuthon_vacation_reports_my_action" model="ir.actions.act_window">
<field name="name">我的假期额度</field>
<field name="res_model">yuthon.vacation.reports</field>
<field name="view_mode">tree,form</field>
<field name="view_mode">form</field>
<field name="domain">[('employee_id.user_id', '=', uid)]</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'form', 'view_id': ref('yuthon_holiday.view_yuthon_vacation_reports_form1')})]"/>
</record>
<record id="all_update_employee" model="ir.actions.server">
<field name="name">更新报表</field>