@@ -6,38 +6,38 @@
|
||||
name="Workflow"
|
||||
web_icon="soong_workflow,static/description/icon.png"
|
||||
sequence="2"/>
|
||||
<menuitem id="menu_workflow_approval_request_my"
|
||||
name="待办流程"
|
||||
parent="menu_soong_workflow_root"
|
||||
action="soong_workflow_record_action"
|
||||
sequence="1"/>
|
||||
<menuitem id="menu_workflow_approval_request_copy"
|
||||
name="抄送/传阅流程"
|
||||
parent="menu_soong_workflow_root"
|
||||
action="soong_workflow_record_action_copy"
|
||||
sequence="2"/>
|
||||
<menuitem id="menu_workflow_approval_request_entrust"
|
||||
name="委托流程"
|
||||
parent="menu_soong_workflow_root"
|
||||
action="soong_workflow_record_action"
|
||||
sequence="3"/>
|
||||
<menuitem id="menu_workflow_approval_request_all"
|
||||
name="流程查询"
|
||||
parent="menu_soong_workflow_root"
|
||||
action="soong_workflow_record_action_all"
|
||||
sequence="4"/>
|
||||
<menuitem id="menu_workflow_approval_request_admin"
|
||||
name="流程监控"
|
||||
parent="menu_soong_workflow_root"
|
||||
action="soong_workflow_record_action_admin"
|
||||
sequence="4"/>
|
||||
<menuitem id="menu_workflow_approval_request_new"
|
||||
name="新建流程"
|
||||
parent="menu_soong_workflow_root"
|
||||
action="action_kklw_workflow_approval_request"
|
||||
sequence="1"/>
|
||||
<menuitem id="menu_workflow_approval_request_my"
|
||||
name="待办流程"
|
||||
parent="menu_soong_workflow_root"
|
||||
action="soong_workflow_record_action"
|
||||
sequence="3"/>
|
||||
<menuitem id="menu_workflow_approval_request_copy"
|
||||
name="抄送/传阅流程"
|
||||
parent="menu_soong_workflow_root"
|
||||
action="soong_workflow_record_action_copy"
|
||||
sequence="5"/>
|
||||
<menuitem id="menu_workflow_approval_request_entrust"
|
||||
name="委托流程"
|
||||
parent="menu_soong_workflow_root"
|
||||
action="soong_workflow_record_action"
|
||||
sequence="7"/>
|
||||
<menuitem id="menu_workflow_approval_request_all"
|
||||
name="流程查询"
|
||||
parent="menu_soong_workflow_root"
|
||||
action="soong_workflow_record_action_all"
|
||||
sequence="9"/>
|
||||
<menuitem id="menu_workflow_approval_request_admin"
|
||||
name="流程监控"
|
||||
parent="menu_soong_workflow_root"
|
||||
action="soong_workflow_record_action_admin"
|
||||
sequence="11"/>
|
||||
<menuitem id="menu_soong_workflow_entrust"
|
||||
sequence="6"
|
||||
sequence="13"
|
||||
name="流程委托"
|
||||
action="soong_workflow_entrust_action"
|
||||
parent="menu_soong_workflow_root"/>
|
||||
@@ -45,14 +45,14 @@
|
||||
name="流程回收站"
|
||||
parent="menu_soong_workflow_root"
|
||||
action="soong_workflow_record_action_reclaim"
|
||||
sequence="7"/>
|
||||
sequence="15"/>
|
||||
<menuitem id="menu_soong_workflow_inspector_approval"
|
||||
sequence="8"
|
||||
sequence="17"
|
||||
name="督办审批"
|
||||
action="soong_workflow_inspector_action"
|
||||
parent="menu_soong_workflow_root"/>
|
||||
<menuitem id="menu_soong_other_setting"
|
||||
sequence="9"
|
||||
sequence="19"
|
||||
name="其他配置"
|
||||
parent="menu_soong_workflow_root"
|
||||
action="soong_note_action"/>
|
||||
|
||||
@@ -448,7 +448,7 @@ class HrAttendance(models.Model):
|
||||
self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name)
|
||||
|
||||
def card_lc_shift_remind_on_administrative(self):
|
||||
ba_up_users = self.env['planning.slot'].search([('template_id.planning_name', '=', '计划行政')])
|
||||
ba_up_users = self.env['planning.slot'].search([('template_id.planning_name', '=', '保安计划行政')])
|
||||
for user in ba_up_users:
|
||||
if user.start_datetime.date() == fields.date.today():
|
||||
self.env['card.remind.form'].create({
|
||||
@@ -457,8 +457,9 @@ class HrAttendance(models.Model):
|
||||
'shift': user.template_id.planning_name,
|
||||
'department': user.department_id.name, })
|
||||
self.card_in_comment(user.resource_id.employee_id, user.template_id.planning_name)
|
||||
|
||||
def card_lc_shift_remind_out_administrative(self):
|
||||
ba_up_users = self.env['planning.slot'].search([('template_id.planning_name', '=', '计划行政')])
|
||||
ba_up_users = self.env['planning.slot'].search([('template_id.planning_name', '=', '保安计划行政')])
|
||||
for user in ba_up_users:
|
||||
if user.start_datetime.date() == fields.date.today():
|
||||
self.env['card.remind.form'].create({
|
||||
@@ -467,6 +468,7 @@ class HrAttendance(models.Model):
|
||||
'shift': user.template_id.planning_name,
|
||||
'department': user.department_id.name, })
|
||||
self.card_out_comment(user.resource_id.employee_id, user.template_id.planning_name)
|
||||
|
||||
def card_in_comment(self, employee_id, planning_name):
|
||||
data = f"您的班次是{planning_name},还有10分钟上班,记得打卡"
|
||||
self.sudo().env["wecom.apps"].sync_send_message(category='att', user_id=employee_id.wecom_userid, message=data)
|
||||
|
||||
@@ -32,6 +32,8 @@
|
||||
'views/inherit_hr_applicant_views.xml',
|
||||
'views/publish_applicant_setting_views.xml',
|
||||
'views/inherit_res_groups_views.xml',
|
||||
'views/yuthon_medical_rule_views.xml',
|
||||
'views/yuthon_medical_manage_views.xml',
|
||||
'views/yuthon_job_postings_views.xml',
|
||||
'views/soong_user_role_views.xml',
|
||||
'wizard/hr_employee_wizard_views.xml',
|
||||
|
||||
@@ -11,4 +11,6 @@ from . import yuthon_job_postings
|
||||
from . import yuthon_party_setting
|
||||
from . import inherit_res_groups
|
||||
from . import soong_user_role
|
||||
from . import yuthon_medical_manage
|
||||
from . import yuthon_medical_rule
|
||||
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from odoo import api, fields, models, _
|
||||
from odoo.exceptions import UserError, ValidationError
|
||||
from datetime import datetime
|
||||
import re
|
||||
|
||||
|
||||
class YuthonMedicalManage(models.Model):
|
||||
_name = 'yuthon.medical.manage'
|
||||
_description = '体检费管理'
|
||||
|
||||
employee_id = fields.Many2one('hr.employee', string="员工姓名")
|
||||
current_year_remaining = fields.Float(string="本年剩余")
|
||||
last_year_quota = fields.Float(string="上年额度")
|
||||
last_year_balance = fields.Float(string="上年结余")
|
||||
last_year_used = fields.Float(string="上年使用")
|
||||
last_year_remaining = fields.Float(string="上年剩余")
|
||||
prev_last_year_quota = fields.Float(string="前年额度")
|
||||
prev_last_year_balance = fields.Float(string="前年结余")
|
||||
prev_last_year_used = fields.Float(string="前年使用")
|
||||
prev_last_year_remaining = fields.Float(string="前年剩余")
|
||||
@@ -0,0 +1,30 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from odoo import api, fields, models, _
|
||||
from odoo.exceptions import UserError, ValidationError
|
||||
from datetime import datetime
|
||||
import re
|
||||
|
||||
|
||||
class YuthonMedicalRule(models.Model):
|
||||
_name = 'yuthon.medical.rule'
|
||||
_description = '体检费规则'
|
||||
|
||||
base_amount = fields.Float(string='基数金额')
|
||||
starting_age = fields.Integer(string='起始年龄')
|
||||
increase_interval_years = fields.Integer(string='递增间隔(年)')
|
||||
increment_amount = fields.Float(string='递增金额')
|
||||
cap = fields.Float(string='封顶金额')
|
||||
allowance_unmarried_women = fields.Float(string='未婚女性补助')
|
||||
allowance_married_women = fields.Float(string='已婚女性补助')
|
||||
start_date = fields.Date(string='开始时间')
|
||||
end_date = fields.Date(string='结束时间')
|
||||
is_enable = fields.Boolean(string="是否启用", default=False, compute='compute_is_enable', store=True)
|
||||
|
||||
@api.depends('start_date', 'end_date')
|
||||
def compute_is_enable(self):
|
||||
for rec in self:
|
||||
if rec.start_date and rec.end_date:
|
||||
if rec.start_date <= fields.Date.today() < rec.end_date:
|
||||
rec.is_enable = True
|
||||
else:
|
||||
rec.is_enable = False
|
||||
@@ -15,4 +15,6 @@ access_yuthon_job_postings,yuthon_job_postings,model_yuthon_job_postings,base.gr
|
||||
access_interview_message_line,interview_message_line,model_interview_message_line,base.group_user,1,1,1,1
|
||||
access_yuthon_hr_employee_time_wizard,yuthon_hr_employee_time_wizard,model_yuthon_hr_employee_time_wizard,base.group_user,1,1,1,1
|
||||
access_hr_job_add_wizard,hr_job_add_wizard,model_hr_job_add_wizard,base.group_user,1,1,1,1
|
||||
access_yuthon_party_setting,yuthon_party_setting,model_yuthon_party_setting,base.group_user,1,1,1,1
|
||||
access_yuthon_party_setting,yuthon_party_setting,model_yuthon_party_setting,base.group_user,1,1,1,1
|
||||
access_yuthon_medical_rule,yuthon_medical_rule,model_yuthon_medical_rule,base.group_user,1,1,1,1
|
||||
access_yuthon_medical_manage,yuthon_medical_manage,model_yuthon_medical_manage,base.group_user,1,1,1,1
|
||||
|
@@ -95,4 +95,23 @@
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
<record id='view_crm_case_categ0_act_job1' model='ir.actions.act_window'>
|
||||
<field name='name'>面试信息</field>
|
||||
<field name='res_model'>hr.applicant</field>
|
||||
<field name='view_mode'>kanban,tree,form,pivot,graph,calendar,activity</field>
|
||||
<field name="context">{'search_default_stage':1}</field>
|
||||
<field name="domain">[('stage_id.name','!=',['人才库','待入职'])]</field>
|
||||
</record>
|
||||
<record id="view_crm_case_categ0_act_job2" model="ir.actions.act_window">
|
||||
<field name="name">人才库</field>
|
||||
<field name="res_model">hr.applicant</field>
|
||||
<field name="view_mode">kanban,tree,form,pivot,graph,calendar,activity</field>
|
||||
<field name="domain">[('stage_id.name', '=' , '人才库')]</field>
|
||||
</record>
|
||||
<record id="view_crm_case_categ0_act_job3" model="ir.actions.act_window">
|
||||
<field name="name">待入职</field>
|
||||
<field name="res_model">hr.applicant</field>
|
||||
<field name="view_mode">kanban,tree,form,pivot,graph,calendar,activity</field>
|
||||
<field name="domain">[('stage_id.name', '=', '待入职')]</field>
|
||||
</record>
|
||||
</odoo>
|
||||
@@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<odoo>
|
||||
<record id="view_yuthon_medical_manage_tree" model="ir.ui.view">
|
||||
<field name="name">yuthon.medical.manage.tree</field>
|
||||
<field name="model">yuthon.medical.manage</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="体检费管理" editable="bottom">
|
||||
<field name="employee_id"/>
|
||||
<field name="current_year_remaining"/>
|
||||
<field name="last_year_quota"/>
|
||||
<field name="last_year_balance"/>
|
||||
<field name="last_year_used"/>
|
||||
<field name="last_year_remaining"/>
|
||||
<field name="prev_last_year_quota"/>
|
||||
<field name="prev_last_year_balance"/>
|
||||
<field name="prev_last_year_used"/>
|
||||
<field name="prev_last_year_remaining"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_yuthon_medical_manage_action" model="ir.actions.act_window">
|
||||
<field name="name">体检费管理</field>
|
||||
<field name="res_model">yuthon.medical.manage</field>
|
||||
<field name="view_mode">tree</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<odoo>
|
||||
<record id="view_yuthon_medical_rule_tree" model="ir.ui.view">
|
||||
<field name="name">yuthon.medical.rule.tree</field>
|
||||
<field name="model">yuthon.medical.rule</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="体检费规则" editable="bottom">
|
||||
<field name="base_amount"/>
|
||||
<field name="starting_age"/>
|
||||
<field name="increase_interval_years"/>
|
||||
<field name="increment_amount"/>
|
||||
<field name="cap"/>
|
||||
<field name="allowance_unmarried_women"/>
|
||||
<field name="allowance_married_women"/>
|
||||
<field name="start_date"/>
|
||||
<field name="end_date"/>
|
||||
<field name="is_enable"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_yuthon_medical_rule_action" model="ir.actions.act_window">
|
||||
<field name="name">体检费规则</field>
|
||||
<field name="res_model">yuthon.medical.rule</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
</odoo>
|
||||
@@ -15,6 +15,60 @@ class HrPayrollStructure(models.Model):
|
||||
end_time = fields.Date(string="失效日期")
|
||||
is_enable = fields.Boolean(string="启用", default=True)
|
||||
|
||||
currency_id = fields.Many2one("res.currency", string="货币", required=True,
|
||||
default=lambda self: self.env.company.currency_id)
|
||||
rank_salary = fields.Monetary(string="职级工资", currency_field="currency_id")
|
||||
performance_bonus = fields.Monetary(string="绩效奖金", currency_field="currency_id")
|
||||
communication_subsidy = fields.Monetary(string="通讯补贴", currency_field="currency_id")
|
||||
position_salary = fields.Monetary(string="岗位工资", currency_field="currency_id")
|
||||
seniority_salary = fields.Monetary(string="工龄工资", currency_field="currency_id")
|
||||
overtime_pay = fields.Monetary(string="加班费", currency_field="currency_id")
|
||||
full_attendance_bonus = fields.Monetary(string="全勤奖", currency_field="currency_id")
|
||||
attendance_deduction = fields.Monetary(string="考勤扣款合计", currency_field="currency_id")
|
||||
assessment_reserve = fields.Monetary(string="考核保留量", currency_field="currency_id")
|
||||
temporary_performance_salary = fields.Monetary(string="临时绩效工资", currency_field="currency_id")
|
||||
post_allowance_bonus = fields.Monetary(string="顶岗奖励", currency_field="currency_id")
|
||||
excellence_performance_bonus = fields.Monetary(string="评优绩效奖金", currency_field="currency_id")
|
||||
performance_bonus_recovery = fields.Monetary(string="绩效奖金扣回", currency_field="currency_id")
|
||||
seniority_award = fields.Monetary(string="年功奖", currency_field="currency_id")
|
||||
special_management_bonus = fields.Monetary(string="经营特别奖", currency_field="currency_id")
|
||||
annual_leave_settlement = fields.Monetary(string="年假结算", currency_field="currency_id")
|
||||
assessment_reserve_payment = fields.Monetary(string="考核保留量发放", currency_field="currency_id")
|
||||
learning_progress_award = fields.Monetary(string="学习进步奖", currency_field="currency_id")
|
||||
performance_assessment_excellence_bonus = fields.Monetary(string="绩效考核评优奖金", currency_field="currency_id")
|
||||
prepaid_performance_bonus_recovery = fields.Monetary(string="预发绩效奖金扣回", currency_field="currency_id")
|
||||
temporary_performance_wages = fields.Monetary(string="临时绩效工资", currency_field="currency_id")
|
||||
year_end_double_salary = fields.Monetary(string="年终双薪", currency_field="currency_id")
|
||||
excellence_award_bonus = fields.Monetary(string="评优绩效奖金", currency_field="currency_id")
|
||||
excellence_bonus = fields.Monetary(string="评优奖金", currency_field="currency_id")
|
||||
learning_progress_bonus = fields.Monetary(string="学习进步奖", currency_field="currency_id")
|
||||
social_security_overdeduction_refund = fields.Monetary(string="多扣社保退回", currency_field="currency_id")
|
||||
performance_bonus_deduction = fields.Monetary(string="绩效奖金扣回", currency_field="currency_id")
|
||||
communication_subsidy_deduction = fields.Monetary(string="通讯补贴扣回", currency_field="currency_id")
|
||||
seniority_award_bonus = fields.Monetary(string="年功奖", currency_field="currency_id")
|
||||
total_budget_salary = fields.Monetary(string="(预算口径)应发工资合计", currency_field="currency_id")
|
||||
pre_tax_salary = fields.Monetary(string="税前工资合计", currency_field="currency_id")
|
||||
year_end_bonus = fields.Monetary(string="年终奖金", currency_field="currency_id")
|
||||
basic_pension = fields.Monetary(string="基本养老", currency_field="currency_id")
|
||||
basic_medical = fields.Monetary(string="基本医疗", currency_field="currency_id")
|
||||
unemployment = fields.Monetary(string="失业", currency_field="currency_id")
|
||||
housing_fund = fields.Monetary(string="公积金", currency_field="currency_id")
|
||||
personal_contributions_total = fields.Monetary(string="个人缴纳合计", currency_field="currency_id")
|
||||
child_education = fields.Monetary(string="子女教育", currency_field="currency_id")
|
||||
elderly_support = fields.Monetary(string="赡养老人", currency_field="currency_id")
|
||||
housing_loan = fields.Monetary(string="住房贷款", currency_field="currency_id")
|
||||
housing_rent = fields.Monetary(string="住房租金", currency_field="currency_id")
|
||||
continuing_education = fields.Monetary(string="继续教育", currency_field="currency_id")
|
||||
infant_care = fields.Monetary(string="3岁以下婴幼儿照护", currency_field="currency_id")
|
||||
special_deductions_total = fields.Monetary(string="专项附加扣除小计", currency_field="currency_id")
|
||||
corporate_annuity = fields.Monetary(string="企业年金", currency_field="currency_id")
|
||||
payable_salary = fields.Monetary(string="应发工资", currency_field="currency_id")
|
||||
social_security_funds = fields.Monetary(string="三险一金", currency_field="currency_id")
|
||||
annuity = fields.Monetary(string="年金", currency_field="currency_id")
|
||||
tax_adjustment = fields.Monetary(string="应补(退)税额", currency_field="currency_id")
|
||||
union_fees = fields.Monetary(string="工会会费", currency_field="currency_id")
|
||||
actual_salary = fields.Monetary(string="实发工资", currency_field="currency_id")
|
||||
|
||||
@api.model
|
||||
def read_group(self, domain, fields, groupby, offset=0, limit=None, orderby=False, lazy=True):
|
||||
res = super(HrPayrollStructure, self).read_group(domain, fields, groupby, offset=offset, limit=limit, orderby=orderby,
|
||||
|
||||
@@ -21,6 +21,57 @@
|
||||
<field name="lv_name" column_invisible="1"/>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='name']" position="after">
|
||||
<field name="rank_salary"/>
|
||||
<field name="performance_bonus"/>
|
||||
<field name="communication_subsidy"/>
|
||||
<field name="position_salary"/>
|
||||
<field name="seniority_salary"/>
|
||||
<field name="overtime_pay"/>
|
||||
<field name="full_attendance_bonus"/>
|
||||
<field name="attendance_deduction"/>
|
||||
<field name="assessment_reserve"/>
|
||||
<field name="temporary_performance_salary"/>
|
||||
<field name="post_allowance_bonus"/>
|
||||
<field name="excellence_performance_bonus"/>
|
||||
<field name="performance_bonus_recovery"/>
|
||||
<field name="seniority_award"/>
|
||||
<field name="special_management_bonus"/>
|
||||
<field name="annual_leave_settlement"/>
|
||||
<field name="assessment_reserve_payment"/>
|
||||
<field name="learning_progress_award"/>
|
||||
<field name="performance_assessment_excellence_bonus"/>
|
||||
<field name="prepaid_performance_bonus_recovery"/>
|
||||
<field name="temporary_performance_wages"/>
|
||||
<field name="year_end_double_salary"/>
|
||||
<field name="excellence_award_bonus"/>
|
||||
<field name="excellence_bonus"/>
|
||||
<field name="learning_progress_bonus"/>
|
||||
<field name="social_security_overdeduction_refund"/>
|
||||
<field name="performance_bonus_deduction"/>
|
||||
<field name="communication_subsidy_deduction"/>
|
||||
<field name="seniority_award_bonus"/>
|
||||
<field name="total_budget_salary"/>
|
||||
<field name="pre_tax_salary"/>
|
||||
<field name="year_end_bonus"/>
|
||||
<field name="basic_pension"/>
|
||||
<field name="basic_medical"/>
|
||||
<field name="unemployment"/>
|
||||
<field name="housing_fund"/>
|
||||
<field name="personal_contributions_total"/>
|
||||
<field name="child_education"/>
|
||||
<field name="elderly_support"/>
|
||||
<field name="housing_loan"/>
|
||||
<field name="housing_rent"/>
|
||||
<field name="continuing_education"/>
|
||||
<field name="infant_care"/>
|
||||
<field name="special_deductions_total"/>
|
||||
<field name="corporate_annuity"/>
|
||||
<field name="payable_salary"/>
|
||||
<field name="social_security_funds"/>
|
||||
<field name="annuity"/>
|
||||
<field name="tax_adjustment"/>
|
||||
<field name="union_fees"/>
|
||||
<field name="actual_salary"/>
|
||||
<field name="yuthon_company"/>
|
||||
<field name="create_time"/>
|
||||
<field name="end_time"/>
|
||||
|
||||
@@ -21,6 +21,21 @@
|
||||
parent="hr_recruitment_menu_root_board"
|
||||
action="hr_recruitment.crm_case_categ0_act_job"
|
||||
sequence="2"/>
|
||||
<menuitem id="hr_recruitment_interview_message_menu_board"
|
||||
name="面试信息"
|
||||
parent="hr_recruitment_all_menu_board"
|
||||
action="yuthon_hr_employee.view_crm_case_categ0_act_job1"
|
||||
sequence="1"/>
|
||||
<menuitem id="hr_recruitment_interview_onboard_board"
|
||||
name="待入职"
|
||||
parent="hr_recruitment_all_menu_board"
|
||||
action="yuthon_hr_employee.view_crm_case_categ0_act_job3"
|
||||
sequence="3"/>
|
||||
<menuitem id="hr_recruitment_interview_offboard_board"
|
||||
name="人才库"
|
||||
parent="hr_recruitment_all_menu_board"
|
||||
action="yuthon_hr_employee.view_crm_case_categ0_act_job2"
|
||||
sequence="5"/>
|
||||
<menuitem id="hr_process_manage_menu_root_board"
|
||||
name="个人信息登记表"
|
||||
parent="hr_recruitment_menu_root_board"
|
||||
@@ -101,22 +116,22 @@
|
||||
action="yuthon_sps_approval.view_yuthon_office_supplies_setting_action"
|
||||
sequence="17"/>
|
||||
<!-- 人事 -->
|
||||
<menuitem id="hr_employee_menu_root_board2"
|
||||
name="花名册"
|
||||
parent="human_resources_menu_root_board"
|
||||
groups="yuthon_hr_employee.group_hr_employee_user"
|
||||
action="hr.open_view_employee_list_my"
|
||||
sequence="1"/>
|
||||
<menuitem id="hr_menu_root_board"
|
||||
name="人事管理"
|
||||
parent="human_resources_menu_root_board"
|
||||
groups="yuthon_hr_employee.group_hr_employee_user"
|
||||
sequence="1"/>
|
||||
sequence="3"/>
|
||||
<menuitem id="hr_employee_menu_root_board"
|
||||
name="员工"
|
||||
parent="hr_menu_root_board"
|
||||
groups="yuthon_hr_employee.group_hr_employee_user"
|
||||
sequence="1"/>
|
||||
<menuitem id="hr_employee_menu_root_board2"
|
||||
name="花名册"
|
||||
parent="hr_employee_menu_root_board"
|
||||
groups="yuthon_hr_employee.group_hr_employee_user"
|
||||
action="hr.open_view_employee_list_my"
|
||||
sequence="1"/>
|
||||
<menuitem id="hr_recruitment_work_job_menu_board"
|
||||
name="岗位编制"
|
||||
parent="hr_employee_menu_root_board"
|
||||
@@ -141,6 +156,16 @@
|
||||
groups="yuthon_hr_employee.group_hr_employee_manager"
|
||||
action="hr_org_chart.action_hr_employee_org_chart"
|
||||
sequence="10"/>
|
||||
<menuitem id="hr_employee_medical_message_menu_root_board"
|
||||
name="体检费管理"
|
||||
parent="hr_employee_menu_root_board"
|
||||
action="yuthon_hr_employee.view_yuthon_medical_manage_action"
|
||||
sequence="13"/>
|
||||
<menuitem id="hr_employee_medical_rule_menu_root_board"
|
||||
name="体检费规则"
|
||||
parent="hr_employee_menu_root_board"
|
||||
action="yuthon_hr_employee.view_yuthon_medical_rule_action"
|
||||
sequence="15"/>
|
||||
<menuitem id="hr_set_process_menu_root_board"
|
||||
name="流程"
|
||||
parent="hr_menu_root_board"
|
||||
@@ -325,11 +350,11 @@
|
||||
parent="human_pay_setting_structural_tt_board"
|
||||
action="yuthon_salary.action_view_hr_payroll_structure_list_form1"
|
||||
sequence="3"/>
|
||||
<menuitem id="human_pay_setting_payroll_items_tt_board"
|
||||
name="工资项"
|
||||
parent="human_pay_setting_structural_tt_board"
|
||||
action="yuthon_salary.action_salary_rule_form1"
|
||||
sequence="7"/>
|
||||
<!-- <menuitem id="human_pay_setting_payroll_items_tt_board"-->
|
||||
<!-- name="工资项"-->
|
||||
<!-- parent="human_pay_setting_structural_tt_board"-->
|
||||
<!-- action="yuthon_salary.action_salary_rule_form1"-->
|
||||
<!-- sequence="7"/>-->
|
||||
<menuitem id="human_pay_setting_payroll_items_tt_setting_board"
|
||||
name="职级类别配置"
|
||||
parent="human_pay_setting_structural_tt_board"
|
||||
@@ -349,11 +374,11 @@
|
||||
parent="human_pay_setting_structural_lc_board"
|
||||
action="yuthon_salary.action_view_hr_payroll_structure_list_form2"
|
||||
sequence="3"/>
|
||||
<menuitem id="human_pay_setting_payroll_items_lc_board"
|
||||
name="工资项"
|
||||
parent="human_pay_setting_structural_lc_board"
|
||||
action="yuthon_salary.action_salary_rule_form2"
|
||||
sequence="7"/>
|
||||
<!-- <menuitem id="human_pay_setting_payroll_items_lc_board"-->
|
||||
<!-- name="工资项"-->
|
||||
<!-- parent="human_pay_setting_structural_lc_board"-->
|
||||
<!-- action="yuthon_salary.action_salary_rule_form2"-->
|
||||
<!-- sequence="7"/>-->
|
||||
<menuitem id="human_pay_setting_payroll_items_lc_setting_board"
|
||||
name="职级类别配置"
|
||||
parent="human_pay_setting_structural_lc_board"
|
||||
@@ -373,11 +398,11 @@
|
||||
parent="human_pay_setting_structural_wg_board"
|
||||
action="yuthon_salary.action_view_hr_payroll_structure_list_form3"
|
||||
sequence="5"/>
|
||||
<menuitem id="human_pay_setting_payroll_items_wg_board"
|
||||
name="工资项"
|
||||
parent="human_pay_setting_structural_wg_board"
|
||||
action="yuthon_salary.action_salary_rule_form3"
|
||||
sequence="7"/>
|
||||
<!-- <menuitem id="human_pay_setting_payroll_items_wg_board"-->
|
||||
<!-- name="工资项"-->
|
||||
<!-- parent="human_pay_setting_structural_wg_board"-->
|
||||
<!-- action="yuthon_salary.action_salary_rule_form3"-->
|
||||
<!-- sequence="7"/>-->
|
||||
<menuitem id="human_pay_setting_payroll_items_wg_setting_board"
|
||||
name="职级类别配置"
|
||||
parent="human_pay_setting_structural_wg_board"
|
||||
|
||||
Reference in New Issue
Block a user