138 lines
6.7 KiB
XML
138 lines
6.7 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo>
|
|
<record id="view_salary_slip_tree" model="ir.ui.view">
|
|
<field name="name">yuthon.salary.slip.tree</field>
|
|
<field name="model">yuthon.salary.slip</field>
|
|
<field name="arch" type="xml">
|
|
<list>
|
|
<field name="name"/>
|
|
<field name="year"/>
|
|
<field name="month"/>
|
|
<field name="employee_id"/>
|
|
<field name="department_id"/>
|
|
<field name="total_income"/>
|
|
<field name="total_deduction"/>
|
|
<field name="net_salary"/>
|
|
<field name="state" widget="badge" decoration-success="state == 'paid'" decoration-info="state == 'approved'" decoration-muted="state == 'draft'"/>
|
|
</list>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_salary_slip_form" model="ir.ui.view">
|
|
<field name="name">yuthon.salary.slip.form</field>
|
|
<field name="model">yuthon.salary.slip</field>
|
|
<field name="arch" type="xml">
|
|
<form>
|
|
<header>
|
|
<button name="action_calculate" string="计算薪资" type="object" class="oe_highlight" invisible="state != 'draft'"/>
|
|
<button name="action_confirm" string="确认" type="object" class="oe_highlight" invisible="state != 'draft'"/>
|
|
<button name="action_approve" string="审核" type="object" class="oe_highlight" invisible="state != 'confirmed'"/>
|
|
<button name="action_pay" string="发放" type="object" class="oe_highlight" invisible="state != 'approved'"/>
|
|
<button name="action_draft" string="退回草稿" type="object" invisible="state not in ('confirmed', 'approved')"/>
|
|
<field name="state" widget="statusbar" statusbar_visible="draft,confirmed,approved,paid"/>
|
|
</header>
|
|
<sheet>
|
|
<div class="oe_title">
|
|
<h1><field name="name" readonly="1"/></h1>
|
|
</div>
|
|
<group>
|
|
<group string="基本信息">
|
|
<field name="employee_id"/>
|
|
<field name="department_id" readonly="1"/>
|
|
<field name="job_id" readonly="1"/>
|
|
<field name="salary_record_id"/>
|
|
</group>
|
|
<group string="薪资周期">
|
|
<field name="year"/>
|
|
<field name="month"/>
|
|
<field name="date_from"/>
|
|
<field name="date_to"/>
|
|
</group>
|
|
</group>
|
|
<group string="收入明细">
|
|
<group>
|
|
<field name="basic_salary"/>
|
|
<field name="position_salary"/>
|
|
<field name="performance_salary"/>
|
|
<field name="class_hour_fee"/>
|
|
<field name="class_teacher_allowance"/>
|
|
</group>
|
|
<group>
|
|
<field name="seniority_allowance"/>
|
|
<field name="education_allowance"/>
|
|
<field name="title_allowance"/>
|
|
<field name="other_income"/>
|
|
</group>
|
|
</group>
|
|
<group string="扣款明细">
|
|
<group>
|
|
<field name="pension_personal"/>
|
|
<field name="medical_personal"/>
|
|
<field name="unemployment_personal"/>
|
|
<field name="provident_fund_personal"/>
|
|
</group>
|
|
<group>
|
|
<field name="personal_income_tax"/>
|
|
<field name="other_deduction"/>
|
|
</group>
|
|
</group>
|
|
<group class="oe_subtotal_footer">
|
|
<group>
|
|
<field name="total_income"/>
|
|
<field name="total_deduction"/>
|
|
<div class="oe_subtotal_footer_separator">
|
|
<label for="net_salary"/>
|
|
</div>
|
|
<field name="net_salary" nolabel="1" class="oe_subtotal_footer_separator"/>
|
|
</group>
|
|
</group>
|
|
<group string="发放信息">
|
|
<field name="bank_name"/>
|
|
<field name="bank_account"/>
|
|
</group>
|
|
<field name="note" placeholder="备注..."/>
|
|
</sheet>
|
|
<div class="oe_chatter">
|
|
<field name="message_follower_ids"/>
|
|
<field name="activity_ids"/>
|
|
<field name="message_ids"/>
|
|
</div>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_salary_slip_search" model="ir.ui.view">
|
|
<field name="name">yuthon.salary.slip.search</field>
|
|
<field name="model">yuthon.salary.slip</field>
|
|
<field name="arch" type="xml">
|
|
<search>
|
|
<field name="name"/>
|
|
<field name="employee_id"/>
|
|
<field name="department_id"/>
|
|
<filter name="draft" string="草稿" domain="[('state', '=', 'draft')]"/>
|
|
<filter name="confirmed" string="已确认" domain="[('state', '=', 'confirmed')]"/>
|
|
<filter name="approved" string="已审核" domain="[('state', '=', 'approved')]"/>
|
|
<filter name="paid" string="已发放" domain="[('state', '=', 'paid')]"/>
|
|
<group expand="0" string="分组">
|
|
<filter name="group_department" string="按部门" context="{'group_by': 'department_id'}"/>
|
|
<filter name="group_month" string="按月" context="{'group_by': 'month'}"/>
|
|
<filter name="group_state" string="按状态" context="{'group_by': 'state'}"/>
|
|
</group>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="action_salary_slip" model="ir.actions.act_window">
|
|
<field name="name">薪资单</field>
|
|
<field name="res_model">yuthon.salary.slip</field>
|
|
<field name="view_mode">list,form</field>
|
|
</record>
|
|
|
|
<!-- 薪资报表动作 -->
|
|
<record id="action_salary_report" model="ir.actions.act_window">
|
|
<field name="name">薪资报表</field>
|
|
<field name="res_model">yuthon.salary.slip</field>
|
|
<field name="view_mode">list,form,pivot,graph</field>
|
|
</record>
|
|
</odoo>
|