添加功能

This commit is contained in:
zhouzhou
2024-11-29 10:00:41 +08:00
parent 02955f8517
commit 8247d8a0b9
27 changed files with 560 additions and 175 deletions
@@ -1,4 +1,6 @@
from odoo import models, fields, api, exceptions, _
class YuthonIndexApproval(models.Model):
_name = 'yuthon.index.approval'
_description = "组织指标库变更管理"
@@ -7,6 +9,8 @@ class YuthonIndexApproval(models.Model):
name = fields.Char('标题')
creation_time = fields.Datetime(string='申请日期', default=lambda self: fields.Datetime.now())
yuthon_company = fields.Selection([('thtz', '集团本部'), ('thwg', '天河物管'),
('thlc', '天河粮储')], string="所属公司")
job_id = fields.Many2one('hr.job', string="岗位")
reason_text = fields.Html(string='申请事由')
code = fields.Char(string="编号",
@@ -29,7 +33,7 @@ class YuthonIndexApproval(models.Model):
'new_compute_type': new.compute_type,
'new_check_norm': new.check_norm,
'new_department_ids': new.department_ids,
'new_in_charge_role_ids': new.in_charge_role_ids,
'new_in_charge_role_id': new.in_charge_role_id,
'new_employee_id': new.employee_id,
'new_start_index_time': new.start_index_time,
'new_end_index_time': new.end_index_time,
@@ -58,8 +62,8 @@ class NewIndexManagement(models.Model):
('two_index', '双向指标'), ], '计算类别')
new_check_norm = fields.Char('考核标准', required=True)
new_department_ids = fields.Many2many("hr.department", string="指标来源", required=True)
new_in_charge_role_ids = fields.Many2many('soong.user.role', string='角色')
new_employee_id = fields.Many2one('hr.employee', string="人员")
new_in_charge_role_id = fields.Many2one('soong.user.role', string='角色')
new_employee_ids = fields.Many2many('hr.employee', string="人员")
new_start_index_time = fields.Date(string='生效时间', required=True)
new_end_index_time = fields.Date(string='失效时间')
new_unit_compute = fields.Char('计算单位')
@@ -21,8 +21,8 @@ class YuthonIndexManagement(models.Model):
yuthon_company = fields.Selection([('thtz', '集团本部'), ('thwg', '天河物管'),
('thlc', '天河粮储')], string="所属公司")
department_ids = fields.Many2many("hr.department", string="指标来源")
in_charge_role_ids = fields.Many2many('soong.user.role', string='角色')
employee_id = fields.Many2one('hr.employee', string="人员")
in_charge_role_id = fields.Many2one('soong.user.role', string='角色')
employee_ids = fields.Many2many('hr.employee', string='人员范围')
start_index_time = fields.Date(string='生效时间', default=fields.Date.today())
end_index_time = fields.Date(string='失效时间')
unit_compute = fields.Char('计算单位')
@@ -54,6 +54,7 @@ class YuthonIndexManagement(models.Model):
"name":"组织库详情",
"view_mode": "form",
}
def put_assessment_tasks_approval(self):
index_applicant_kpi = []
index_applicant_gs = []
@@ -6,6 +6,8 @@ class YuthonAssessmentTasks(models.Model):
_description = '考核任务总汇'
name = fields.Char(string='考核任务名称')
yuthon_company = fields.Selection([('thtz', '集团本部'), ('thwg', '天河物管'),
('thlc', '天河粮储')], string="所属公司")
index_statu = fields.Selection([('work', '生效'), ('void', '作废')], string='状态')
performance_type = fields.Selection([('organize', '组织绩效'), ('employs', '员工绩效')], stroing='考核类型')
assessment_time = fields.Char(string='考核时间')
@@ -12,17 +12,19 @@ class YuthonDutyManagement(models.Model):
('up_half', '上半年'),
('down_half', '下半年'),
('year', '年度'), ], '周期', required=True)
yuthon_company = fields.Selection([('thtz', '集团本部'), ('thwg', '天河物管'),
('thlc', '天河粮储')], string="所属公司")
department_id = fields.Many2one("hr.department", string="部门", required=True)
start_index_time = fields.Date('指标生效时间')
end_index_time = fields.Date('指标失效时间')
users_role_ids = fields.Many2many('soong.user.role', string='被考核角色')
users_ids = fields.Many2many('hr.employee', string='被考核人员')
index_statu = fields.Selection([('work', '生效'), ('void', '作废')], '状态', required=True)
total_weights = fields.Float('总权重')
# 绩效考核
performance_kpi_ids = fields.One2many('yuthon.kpi.line', 'performance_kpi_id', string="KPI")
performance_gs_ids = fields.One2many('yuthon.gs.line', 'performance_gs_id', string="GS")
organization_ids = fields.One2many('yuthon.role.detail.lines', 'organization_id', string="考核角色")
@api.onchange('assessment_time', 'cycle', 'department_id')
def _onchange_name(self):
cycle_dict = {'monthly': '月度', 'quarter': '季度', 'up_half': '上半年', 'down_half': '下半年', 'year': '年度'}
@@ -79,35 +81,28 @@ class YuthonDutyManagement(models.Model):
'default_change_duty_gs_ids':[(6, 0, self.performance_gs_ids.ids)],
}}
@api.onchange('performance_kpi_ids','performance_gs_ids')
def _onchange_performance_kpi_ids(self):
self.total_weights = 0.0
for performance_kpi in self.performance_kpi_ids:
self.total_weights += performance_kpi.weight
for performance_gs in self.performance_gs_ids:
self.total_weights += performance_gs.weight
class YuthonKpiLine(models.Model):
_name = 'yuthon.kpi.line'
_description = "KPI明细行"
performance_kpi_id = fields.Many2one('yuthon.duty.management', string="KPI")
change_duty_kpi_id = fields.Many2one('yuthon.tissue.duty.approval', string="KPI变更明细")
duty_index_name = fields.Many2one('yuthon.index.management',string='指标名称', store=True)#
duty_index_definition = fields.Text(related='duty_index_name.index_definition', string="指标定义")
#半年考核任务
half_floor_limit = fields.Float('底限值')
half_benchmark_value = fields.Float('基准值')
half_top_limit = fields.Float('努力制')
#年考核任务
year_floor_limit = fields.Float('底限值1')
year_benchmark_value = fields.Float('基准值1')
year_top_limit = fields.Float('努力制1')
#月度考核任务
month_floor_limit = fields.Float('底限值')
month_benchmark_value = fields.Float('基准值')
month_top_limit = fields.Float('努力制')
#季度考核任务
quarter_floor_limit = fields.Float('底限值')
quarter_benchmark_value = fields.Float('基准值')
quarter_top_limit = fields.Float('努力制')
unit_compute = fields.Char('计算单位')
weight = fields.Char(string="权重%")
year_floor_limit = fields.Float('底限值T1')
unit_compute = fields.Char(string="单位")
year_benchmark_value = fields.Float('基准值T2')
year_top_limit = fields.Float('努力制T3')
weight = fields.Float(string="权重%")
class YuthonGsLine(models.Model):
_name = 'yuthon.gs.line'
@@ -128,4 +123,5 @@ class YuthonGsLine(models.Model):
node_target2 = fields.Char(string="节点目标")
quality_objectives2 = fields.Char(string="质量目标")
weight = fields.Char(string="权重%")
weight = fields.Float(string="权重%")
@@ -5,8 +5,9 @@ class YuthonEmployeeAppraisal(models.Model):
_name = 'yuthon.employee.appraisal'
_description = '员工绩效考核表'
name = fields.Char(string='名称')
yuthon_company = fields.Selection([('thtz', '集团本部'), ('thwg', '天河物管'),
('thlc', '天河粮储')], string="所属公司")
apply = fields.Char(string='本表适用于')
examiners = fields.Char(string='考核者')
evaluation_time = fields.Date(string='评价时间')
@@ -10,6 +10,9 @@ class YuthonEmployeeApproval(models.Model):
name = fields.Char('标题')
users_id = fields.Many2one('res.users', string="申请人", default=lambda self: self.env.user.id)
department_id = fields.Many2one(related='users_id.employee_id.department_id', string="部门")
yuthon_company = fields.Selection([('thtz', '集团本部'), ('thwg', '天河物管'),
('thlc', '天河粮储')], string="所属公司")
dimension = fields.Char('评价维度', required=True)
creation_time = fields.Datetime(string='申请日期', default=lambda self: fields.Datetime.now())
job_id = fields.Many2one('hr.job', string="岗位")
reason_text = fields.Html(string='申请事由')
@@ -1,12 +1,17 @@
from odoo import models, fields, api, exceptions, _
from odoo.exceptions import ValidationError, UserError
from odoo.odoo.tools.populate import compute
class YuthonEmployeePerformance(models.Model):
_name = 'yuthon.employee.performance'
_description = '员工绩效(考核任务)'
name = fields.Char('标题')
assessment_time = fields.Char('考核时间', required=True)
yuthon_company = fields.Selection([('thtz', '集团本部'), ('thwg', '天河物管'),
('thlc', '天河粮储')], string="所属公司")
cycle = fields.Selection([('monthly', '月度'),
('quarter', '季度'),
('up_half', '上半年'),
@@ -46,7 +51,6 @@ class YuthonEmployeePerformance(models.Model):
def write(self, vals):
result = super().write(vals)
if result:
# 只更新被修改的记录
for performance in self:
tasks = self.env['yuthon.assessment.tasks'].search([('performance_id', '=', performance.id)])
tasks.write({
@@ -62,9 +66,18 @@ class YuthonRoleDetailLines(models.Model):
role_id = fields.Many2one('yuthon.employee.performance', string="关联员工绩效(考核任务)")
organization_id = fields.Many2one('yuthon.duty.management', string='组织绩效考核角色明细行')
job_id = fields.Many2one('hr.job', string="考核角色")
employee_id = fields.Many2one('hr.employee', string="人员")
in_charge_role_id = fields.Many2one('soong.user.role', string='角色')
employee_ids = fields.Many2many('hr.employee', string='人员', compute='_compute_employee_ids', store=True)
weight = fields.Float(string="权重" )
@api.depends('in_charge_role_id')
def _compute_employee_ids(self):
for record in self:
if record.in_charge_role_id:
employee_user_role_ids = self.env['hr.employee'].search(
['|', ('user_role_id', '=', record.in_charge_role_id.id),
('user_role_ids', 'in', record.in_charge_role_id.id)])
record.employee_ids = employee_user_role_ids.ids
@@ -9,6 +9,8 @@ class YuthonGradingTasks(models.Model):
department_id = fields.Many2one("hr.department", string="部门", required=True)
index_time = fields.Date(string='时间')
gs_ids = fields.One2many("yuthon.gs.detail.lines", "gs_id", string="GS评分表明细行")
yuthon_company = fields.Selection([('thtz', '集团本部'), ('thwg', '天河物管'),
('thlc', '天河粮储')], string="所属公司")
@@ -10,6 +10,9 @@ class YuthonIndexEmployee(models.Model):
users_role_ids = fields.Many2many('soong.user.role', string='角色')
department_ids = fields.Many2many('hr.department', string='部门')
employee_ids = fields.Many2many('hr.employee', string='人员')
yuthon_company = fields.Selection([('thtz', '集团本部'), ('thwg', '天河物管'),
('thlc', '天河粮储')], string="所属公司")
dimension = fields.Char('评价维度', required=True)
name = fields.Char('评价维度', required=True)
change_employee_library_id = fields.Many2one('yuthon.employee.approval', string='变更指标库')
index_employee_ids = fields.One2many('yuthon.index.employee.line', 'index_employee_id', string='指标库明细')
@@ -26,10 +29,10 @@ class YuthonIndexEmployee(models.Model):
'views': [(form_id,'form')],
'context': {'default_change_employee_library_ids':index_applicant_data
}}
def put_assessment_tasks1_approval(self):
pass
def open_record(self):
return {
"type": "ir.actions.act_window",
@@ -5,22 +5,18 @@ class YuthonKpiTasks(models.Model):
_name = 'yuthon.kpi.tasks'
_description = 'KPI '
name = fields.Char(string='名称', required=True)
department_id = fields.Many2one("hr.department", string="部门", required=True)
index_time = fields.Date(string='时间')
kpi_ids = fields.One2many('yuthon.kpi.detail.lines', 'kpi_id', string='KPI明细')
yuthon_company = fields.Selection([('thtz', '集团本部'), ('thwg', '天河物管'),
('thlc', '天河粮储')], string="所属公司")
class YuthonKpiDetailLines(models.Model):
_name = 'yuthon.kpi.detail.lines'
_description = 'KPI明细行'
kpi_id = fields.Many2one('yuthon.kpi.tasks', string='KPI任务')
weight = fields.Float(string='权重')
kpl_name = fields.Char(string='kpl指标')
@@ -11,9 +11,21 @@ class YuthonPlanManagement(models.Model):
('May','五月'), ('June','六月'), ('July','七月'), ('August','八月'),
('September','九月'), ('October','十月'), ('November','十一月'), ('December','十二月')
,('half','上半年'), ('later','下半年')],string='选择时间')
yuthon_company = fields.Selection([('thtz', '集团本部'), ('thwg', '天河物管'),
('thlc', '天河粮储')], string="所属公司")
work_tasks_line_ids = fields.One2many('yuthon.work.tasks.line','plan_id',string='工作任务明细')
plan_management_ids = fields.One2many('yuthon.plan.management.line','plan_id',string='计划管理明细')
def button_plan_management(self):
employee = self.env.user.employee_id
index_list = []
index_ids = self.env['yuthon.index.management'].search([('employee_ids', 'in', employee.id)])
for index in index_ids:
index_list.append((0, 0, {
'task_type': index.index_type,
'goal': index.index_definition,
}))
self.plan_management_ids = index_list
class YuthonWorkTasksLine(models.Model):
_name = 'yuthon.work.tasks.line'
@@ -21,14 +33,26 @@ class YuthonWorkTasksLine(models.Model):
plan_id = fields.Many2one('yuthon.plan.management','关联个人工作任务')
select_time = fields.Selection(related='plan_id.select_time',string='选择时间')
task_type = fields.Selection([('KPI','KPI'),('GS','GS')],string='任务类型')
task_type = fields.Selection([('kpi', 'KPI'),
('gs', 'GS'), ('no', '否决指标')],string='任务类型')
task_name = fields.Many2one('yuthon.index.management',string='任务名称')
plan = fields.Char('计划安排及具体措施行动')
goal = fields.Char('目标',help="质量、数量、成本等方面要求")
goal = fields.Text('目标',help="质量、数量、成本等方面要求")
resource_requirements = fields.Text('资源需求')
summarize = fields.Text('完成情况总结')
class YuthonPlanManagementLine(models.Model):
_name = 'yuthon.plan.management.line'
_description = "个人工作任务明细"
plan_id = fields.Many2one('yuthon.plan.management', '关联个人工作任务')
task_type = fields.Selection([('kpi', 'KPI'),
('gs', 'GS'), ('no', '否决指标')], string='任务类型')
goal = fields.Text('目标', help="质量、数量、成本等方面要求")
@@ -10,6 +10,8 @@ class YuthonTissueDutyApproval(models.Model):
name = fields.Char('标题')
users_id = fields.Many2one('res.users', string="申请人", default=lambda self: self.env.user.id)
department_id = fields.Many2one(related='users_id.employee_id.department_id', string="部门")
yuthon_company = fields.Selection([('thtz', '集团本部'), ('thwg', '天河物管'),
('thlc', '天河粮储')], string="所属公司")
creation_time = fields.Datetime(string='申请日期', default=lambda self: fields.Datetime.now())
code = fields.Char(string="编号", default=lambda self: self.env['ir.sequence'].next_by_code('duty_approval_code'))
job_id = fields.Many2one('hr.job', string="岗位")
@@ -25,4 +25,5 @@ access_new_index_management_line,new_index_management_line,model_new_index_manag
access_new_employee_library_line,new_employee_library_line,model_new_employee_library_line,base.group_user,1,1,1,1
access_new_kpi_duty_approval,new_kpi_duty_approval,model_new_kpi_duty_approval,base.group_user,1,1,1,1
access_new_gs_duty_approval,new_gs_duty_approval,model_new_gs_duty_approval,base.group_user,1,1,1,1
access_yuthon_work_tasks_line,yuthon_work_tasks_line,model_yuthon_work_tasks_line,base.group_user,1,1,1,1
access_yuthon_work_tasks_line,yuthon_work_tasks_line,model_yuthon_work_tasks_line,base.group_user,1,1,1,1
access_yuthon_plan_management_line,yuthon_plan_management_line,model_yuthon_plan_management_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
25 access_new_employee_library_line new_employee_library_line model_new_employee_library_line base.group_user 1 1 1 1
26 access_new_kpi_duty_approval new_kpi_duty_approval model_new_kpi_duty_approval base.group_user 1 1 1 1
27 access_new_gs_duty_approval new_gs_duty_approval model_new_gs_duty_approval base.group_user 1 1 1 1
28 access_yuthon_work_tasks_line yuthon_work_tasks_line model_yuthon_work_tasks_line base.group_user 1 1 1 1
29 access_yuthon_plan_management_line yuthon_plan_management_line model_yuthon_plan_management_line base.group_user 1 1 1 1
@@ -8,6 +8,7 @@
<tree>
<field name="name"/>
<field name="creation_time"/>
<field name="yuthon_company" optional="hide"/>
</tree>
</field>
</record>
@@ -25,6 +26,7 @@
</group>
<group>
<field name="job_id"/>
<field name="yuthon_company"/>
</group>
<group/>
</group>
@@ -52,8 +54,8 @@
<field name="compute_type"/>
<field name="check_norm"/>
<field name="department_ids" widget="many2many_tags"/>
<field name="in_charge_role_ids" widget="many2many_tags"/>
<field name="employee_id"/>
<field name="in_charge_role_id"/>
<field name="employee_ids" widget="many2many_tags"/>
</tree>
</field>
</group>
@@ -70,8 +72,8 @@
<field name="new_compute_type"/>
<field name="new_check_norm"/>
<field name="new_department_ids" widget="many2many_tags"/>
<field name="new_in_charge_role_ids" widget="many2many_tags"/>
<field name="new_employee_id"/>
<field name="new_in_charge_role_id"/>
<field name="new_employee_ids" widget="many2many_tags"/>
</tree>
</field>
</group>
@@ -92,10 +94,23 @@
</field>
</record>
<!-- Action-->
<record id="yuthon_index_approval_action" model="ir.actions.act_window">
<record id="yuthon_index_approval_action1" model="ir.actions.act_window">
<field name="name">组织指标库变更</field>
<field name="res_model">yuthon.index.approval</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('yuthon_company','=','thtz')]</field>
</record>
<record id="yuthon_index_approval_action2" model="ir.actions.act_window">
<field name="name">组织指标库变更</field>
<field name="res_model">yuthon.index.approval</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('yuthon_company','=','thlc')]</field>
</record>
<record id="yuthon_index_approval_action3" model="ir.actions.act_window">
<field name="name">组织指标库变更</field>
<field name="res_model">yuthon.index.approval</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('yuthon_company','=','thwg')]</field>
</record>
</odoo>
@@ -8,7 +8,7 @@
<tree>
<header>
<button name="put_adjustment_approval" type="object" string="提交组织指标变更申请"/>
<button name="put_assessment_tasks_approval" type="object" string="提交考核任务"/>
<button name="put_assessment_tasks_approval" type="object" string="提交绩效考核责任书"/>
</header>
<field name="sequence" optional="hide"/>
<field name="dimension" optional="hide"/>
@@ -20,8 +20,8 @@
<field name="compute_type" optional="hide"/>
<field name="check_norm" optional="hide"/>
<field name="department_ids" widget="many2many_tags" optional="show"/>
<field name="in_charge_role_ids" widget="many2many_tags" optional="hide"/>
<field name="employee_id" optional="hide"/>
<field name="in_charge_role_id" optional="hide"/>
<field name="employee_ids" optional="hide"/>
<field name="end_index_time" optional="hide"/>
<field name="yuthon_company" optional="show"/>
<field name="start_index_time" optional="show"/>
@@ -50,11 +50,11 @@
<group>
<field name="compute_type"/>
<field name="department_ids" widget="many2many_tags"/>
<field name="employee_id"/>
<field name="employee_ids" widget="many2many_tags"/>
</group>
<group>
<field name="yuthon_company"/>
<field name="in_charge_role_ids" widget="many2many_tags"/>
<field name="in_charge_role_id"/>
<field name="start_index_time"/>
</group>
<group>
@@ -70,23 +70,26 @@
</form>
</field>
</record>
<record id="yuthon_index_management_search" model="ir.ui.view">
<field name="name">yuthon.index.management.search</field>
<field name="model">yuthon.index.management</field>
<field name="arch" type="xml">
<search>
<group expand="1">
<filter name="group_development_goals" string="发展目标" context="{'group_by': 'development_goals'}"/>
</group>
</search>
</field>
</record>
<!-- Action-->
<record id="yuthon_index_management_action" model="ir.actions.act_window">
<record id="yuthon_index_management_action1" model="ir.actions.act_window">
<field name="name">组织绩效</field>
<field name="res_model">yuthon.index.management</field>
<field name="view_mode">tree,form,search</field>
<field name="view_mode">tree,form</field>
<field name="context">{'search_default_group_development_goals': 1}</field>
<field name="domain">[('yuthon_company','=','thtz')]</field>
</record>
<record id="yuthon_index_management_action2" model="ir.actions.act_window">
<field name="name">组织绩效</field>
<field name="res_model">yuthon.index.management</field>
<field name="view_mode">tree,form</field>
<field name="context">{'search_default_group_development_goals': 1}</field>
<field name="domain">[('yuthon_company','=','thlc')]</field>
</record>
<record id="yuthon_index_management_action3" model="ir.actions.act_window">
<field name="name">组织绩效</field>
<field name="res_model">yuthon.index.management</field>
<field name="view_mode">tree,form</field>
<field name="context">{'search_default_group_development_goals': 1}</field>
<field name="domain">[('yuthon_company','=','thwg')]</field>
</record>
</odoo>
@@ -9,6 +9,7 @@
<field name="performance_type" string="绩效类型"/>
<field name="assessment_time" string="考核时间"/>
<field name="index_statu"/>
<field name="yuthon_company" optional="hide"/>
<button name="button_appraisal_ids" type="object" string="考核详情"/>
<button name="button_clone_task" type="object" string="克隆"/>
<button name="button_calculate_score" type="object" string="计算分数"/>
@@ -32,6 +33,7 @@
<group col="2">
<group>
<field name="performance_type" string="绩效类型"/>
<field name="yuthon_company"/>
</group>
<group>
<field name="assessment_time" string="考核时间"/>
@@ -64,10 +66,22 @@
</search>
</field>
</record>
<record id="yuthon_assessment_tasks_action" model="ir.actions.act_window">
<record id="yuthon_assessment_tasks_action1" model="ir.actions.act_window">
<field name="name">考核任务</field>
<field name="res_model">yuthon.assessment.tasks</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('yuthon_company','=','thtz')]</field>
</record>
<record id="yuthon_assessment_tasks_action2" model="ir.actions.act_window">
<field name="name">考核任务</field>
<field name="res_model">yuthon.assessment.tasks</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('yuthon_company','=','thlc')]</field>
</record>
<record id="yuthon_assessment_tasks_action3" model="ir.actions.act_window">
<field name="name">考核任务</field>
<field name="res_model">yuthon.assessment.tasks</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('yuthon_company','=','thwg')]</field>
</record>
</odoo>
@@ -4,14 +4,12 @@
<field name="name">yuthon.duty.management.tree</field>
<field name="model">yuthon.duty.management</field>
<field name="arch" type="xml">
<tree string="责任书"
decoration-danger="index_statu == 'void'"
decoration-success="index_statu == 'work'">
<tree string="责任书">
<field name="department_id"/>
<field name="yuthon_company" optional="hide"/>
<field name="name"/>
<field name="start_index_time"/>
<field name="end_index_time"/>
<field name="index_statu"/>
<button name="button_tissue_approval" type="object" string="提交责任书变更" class="btn-primary"/>
</tree>
</field>
@@ -31,27 +29,31 @@
</div>
<group>
<group>
<field name="yuthon_company"/>
<field name="department_id"/>
<field name="index_statu"/>
<field name="users_role_ids" widget="many2many_tags"/>
<field name="users_ids" widget="many2many_tags" invisible="1"/>
</group>
<group>
<field name="assessment_time"/>
<field name="cycle"/>
<field name="total_weights"/>
</group>
</group>
<notebook>
<page string="组织绩效(KPI)">
<field name="performance_kpi_ids" string=" ">
<tree editable="bottom">
<field name="performance_kpi_id" column_invisible="1"/>
<field name="duty_index_name" readonly="0"/>
<field name="duty_index_definition" readonly="0"/>
<field name="weight"/>
<field name="unit_compute"/>
</tree>
</field>
<field name="performance_kpi_ids" string=" ">
<tree editable="bottom">
<field name="performance_kpi_id" column_invisible="1"/>
<field name="duty_index_name" readonly="0"/>
<field name="duty_index_definition" readonly="0"/>
<field name="weight" sum = "Total"/>
<field name="unit_compute"/>
<field name="year_floor_limit"/>
<field name="year_benchmark_value"/>
<field name="year_top_limit"/>
</tree>
</field>
</page>
<page string="组织绩效(GS)">
<field name="performance_gs_ids" string=" ">
@@ -74,8 +76,8 @@
<field name="organization_ids" string=" ">
<tree editable="bottom">
<field name="organization_id" column_invisible="1"/>
<field name="job_id"/>
<field name="employee_id"/>
<field name="in_charge_role_id"/>
<field name="employee_ids" widget="many2many_tags"/>
<field name="weight"/>
</tree>
</field>
@@ -97,9 +99,22 @@
</field>
</record>
<!-- Action-->
<record id="yuthon_duty_management_action" model="ir.actions.act_window">
<record id="yuthon_duty_management_action1" model="ir.actions.act_window">
<field name="name">部门责任书</field>
<field name="res_model">yuthon.duty.management</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('yuthon_company','=','thtz')]</field>
</record>
<record id="yuthon_duty_management_action2" model="ir.actions.act_window">
<field name="name">部门责任书</field>
<field name="res_model">yuthon.duty.management</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('yuthon_company','=','thlc')]</field>
</record>
<record id="yuthon_duty_management_action3" model="ir.actions.act_window">
<field name="name">部门责任书</field>
<field name="res_model">yuthon.duty.management</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('yuthon_company','=','thwg')]</field>
</record>
</odoo>
@@ -10,6 +10,7 @@
<field name="apply"/>
<field name="examiners"/>
<field name="evaluation_time"/>
<field name="yuthon_company" optional="hide"/>
</tree>
</field>
</record>
@@ -33,6 +34,7 @@
</group>
<group>
<field name="evaluation_time"/>
<field name="yuthon_company"/>
</group>
</group>
<group col="2" string="被考核者的基本信息">
@@ -72,11 +74,23 @@
</record>
<!-- Action-->
<record id="yuthon_employee_appraisal_action" model="ir.actions.act_window">
<record id="yuthon_employee_appraisal_action1" model="ir.actions.act_window">
<field name="name">员工绩效考核表</field>
<field name="res_model">yuthon.employee.appraisal</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('yuthon_company','=','thtz')]</field>
</record>
<record id="yuthon_employee_appraisal_action2" model="ir.actions.act_window">
<field name="name">员工绩效考核表</field>
<field name="res_model">yuthon.employee.appraisal</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('yuthon_company','=','thlc')]</field>
</record>
<record id="yuthon_employee_appraisal_action3" model="ir.actions.act_window">
<field name="name">员工绩效考核表</field>
<field name="res_model">yuthon.employee.appraisal</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('yuthon_company','=','thwg')]</field>
</record>
</odoo>
@@ -10,6 +10,7 @@
<field name="users_id"/>
<field name="department_id"/>
<field name="creation_time"/>
<field name="yuthon_company" optional="hide"/>
</tree>
</field>
</record>
@@ -29,6 +30,7 @@
<group>
<field name="job_id"/>
<field name="department_id"/>
<field name="yuthon_company"/>
</group>
<group/>
</group>
@@ -87,10 +89,22 @@
</field>
</record>
<!-- Action-->
<record id="yuthon_employee_approval_action" model="ir.actions.act_window">
<record id="yuthon_employee_approval_action1" model="ir.actions.act_window">
<field name="name">员工指标库变更</field>
<field name="res_model">yuthon.employee.approval</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('yuthon_company','=','thtz')]</field>
</record>
<record id="yuthon_employee_approval_action2" model="ir.actions.act_window">
<field name="name">员工指标库变更</field>
<field name="res_model">yuthon.employee.approval</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('yuthon_company','=','thlc')]</field>
</record>
<record id="yuthon_employee_approval_action3" model="ir.actions.act_window">
<field name="name">员工指标库变更</field>
<field name="res_model">yuthon.employee.approval</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('yuthon_company','=','thwg')]</field>
</record>
</odoo>
@@ -8,6 +8,7 @@
decoration-danger="index_statu == 'void'"
decoration-success="index_statu == 'work'">
<field name="department_id"/>
<field name="yuthon_company" optional="hide"/>
<field name="name"/>
<field name="start_index_time"/>
<field name="end_index_time"/>
@@ -36,6 +37,7 @@
<group>
<field name="assessment_time"/>
<field name="cycle"/>
<field name="yuthon_company"/>
</group>
</group>
<notebook>
@@ -51,8 +53,8 @@
<field name="role_ids">
<tree editable="bottom">
<field name="role_id" column_invisible="1"/>
<field name="job_id"/>
<field name="employee_id"/>
<field name="in_charge_role_id"/>
<field name="employee_ids" widget="many2many_tags"/>
<field name="weight" sum="Total"/>
</tree>
</field>
@@ -65,9 +67,22 @@
</form>
</field>
</record>
<record id="yuthon_employee_performance_action" model="ir.actions.act_window">
<record id="yuthon_employee_performance_action1" model="ir.actions.act_window">
<field name="name">员工绩效</field>
<field name="res_model">yuthon.employee.performance</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('yuthon_company','=','thtz')]</field>
</record>
<record id="yuthon_employee_performance_action2" model="ir.actions.act_window">
<field name="name">员工绩效</field>
<field name="res_model">yuthon.employee.performance</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('yuthon_company','=','thlc')]</field>
</record>
<record id="yuthon_employee_performance_action3" model="ir.actions.act_window">
<field name="name">员工绩效</field>
<field name="res_model">yuthon.employee.performance</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('yuthon_company','=','thwg')]</field>
</record>
</odoo>
@@ -9,6 +9,7 @@
<field name="name"/>
<field name="department_id"/>
<field name="index_time"/>
<field name="yuthon_company" optional="hide"/>
</tree>
</field>
</record>
@@ -26,6 +27,7 @@
<group col="2">
<group>
<field name="department_id"/>
<field name="yuthon_company"/>
</group>
<group>
<field name="index_time"/>
@@ -54,9 +56,22 @@
</field>
</record>
<!-- Action-->
<record id="yuthon_grading_tasks_action" model="ir.actions.act_window">
<record id="yuthon_grading_tasks_action1" model="ir.actions.act_window">
<field name="name">GS评分表</field>
<field name="res_model">yuthon.grading.tasks</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('yuthon_company','=','thtz')]</field>
</record>
<record id="yuthon_grading_tasks_action2" model="ir.actions.act_window">
<field name="name">GS评分表</field>
<field name="res_model">yuthon.grading.tasks</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('yuthon_company','=','thlc')]</field>
</record>
<record id="yuthon_grading_tasks_action3" model="ir.actions.act_window">
<field name="name">GS评分表</field>
<field name="res_model">yuthon.grading.tasks</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('yuthon_company','=','thwg')]</field>
</record>
</odoo>
@@ -14,6 +14,7 @@
<field name="users_role_ids" widget="many2many_tags"/>
<field name="employee_ids" widget="many2many_tags"/>
<field name="start_index_time"/>
<field name="yuthon_company" optional="hide"/>
<field name="end_index_time"/>
</tree>
</field>
@@ -28,6 +29,7 @@
<group>
<field name="name"/>
<field name="start_index_time"/>
<field name="yuthon_company"/>
</group>
<group>
<field name="employee_ids" widget="many2many_tags"/>
@@ -53,9 +55,22 @@
</form>
</field>
</record>
<record id="yuthon_index_employee_action" model="ir.actions.act_window">
<record id="yuthon_index_employee_action1" model="ir.actions.act_window">
<field name="name">员工绩效</field>
<field name="res_model">yuthon.index.employee</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('yuthon_company','=','thtz')]</field>
</record>
<record id="yuthon_index_employee_action2" model="ir.actions.act_window">
<field name="name">员工绩效</field>
<field name="res_model">yuthon.index.employee</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('yuthon_company','=','thlc')]</field>
</record>
<record id="yuthon_index_employee_action3" model="ir.actions.act_window">
<field name="name">员工绩效</field>
<field name="res_model">yuthon.index.employee</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('yuthon_company','=','thwg')]</field>
</record>
</odoo>
+16 -1
View File
@@ -9,6 +9,7 @@
<field name="name"/>
<field name="department_id"/>
<field name="index_time"/>
<field name="yuthon_company" optional="hide"/>
</tree>
</field>
</record>
@@ -26,6 +27,7 @@
<group col="2">
<group>
<field name="department_id"/>
<field name="yuthon_company"/>
</group>
<group>
<field name="index_time"/>
@@ -56,9 +58,22 @@
</field>
</record>
<!-- Action-->
<record id="yuthon_kpi_tasks_action" model="ir.actions.act_window">
<record id="yuthon_kpi_tasks_action1" model="ir.actions.act_window">
<field name="name">KPI评分表</field>
<field name="res_model">yuthon.kpi.tasks</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('yuthon_company','=','thtz')]</field>
</record>
<record id="yuthon_kpi_tasks_action2" model="ir.actions.act_window">
<field name="name">KPI评分表</field>
<field name="res_model">yuthon.kpi.tasks</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('yuthon_company','=','thlc')]</field>
</record>
<record id="yuthon_kpi_tasks_action3" model="ir.actions.act_window">
<field name="name">KPI评分表</field>
<field name="res_model">yuthon.kpi.tasks</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('yuthon_company','=','thwg')]</field>
</record>
</odoo>
@@ -4,35 +4,33 @@
name="绩效考核"
web_icon="yuthon_performance,static/description/icon.png"
sequence="5"/>
<menuitem id="yuthon_performance_duty_menu"
parent="yuthon_performance_menu_config_root"
name="绩效考核"
sequence="1"/>
<menuitem id="yuthon_organization_performance_menu"
parent="yuthon_performance_duty_menu"
name="组织绩效责任书"
sequence="1"
action="yuthon_duty_management_action"/>
<menuitem id="yuthon_employee_performance_menu"
parent="yuthon_performance_duty_menu"
name="员工绩效"
sequence="3"
action="yuthon_duty_management_action"/>
<menuitem id="yuthon_index_management_menu"
parent="yuthon_performance_menu_config_root"
name="指标库"
sequence="3"
action="yuthon_index_management_action"/>
<menuitem id="yuthon_organization_performance_library"
parent="yuthon_index_management_menu"
name="组织绩效指标库"
sequence="1"
action="yuthon_index_management_action"/>
<menuitem id="yuthon_employee_performance_library"
parent="yuthon_index_management_menu"
name="员工绩效指标库"
sequence="3"
action="yuthon_index_management_action"/>
<!-- <menuitem id="yuthon_performance_duty_menu"-->
<!-- parent="yuthon_performance_menu_config_root"-->
<!-- name="绩效考核"-->
<!-- sequence="1"/>-->
<!-- <menuitem id="yuthon_organization_performance_menu"-->
<!-- parent="yuthon_performance_duty_menu"-->
<!-- name="组织绩效责任书"-->
<!-- sequence="1"-->
<!-- action="yuthon_duty_management_action"/>-->
<!-- <menuitem id="yuthon_employee_performance_menu"-->
<!-- parent="yuthon_performance_duty_menu"-->
<!-- name="员工绩效"-->
<!-- sequence="3"-->
<!-- action="yuthon_duty_management_action"/>-->
<!-- <menuitem id="yuthon_index_management_menu"-->
<!-- parent="yuthon_performance_menu_config_root"-->
<!-- name="指标库"-->
<!-- sequence="3"-->
<!-- action="yuthon_index_management_action"/>-->
<!-- <menuitem id="yuthon_organization_performance_library"-->
<!-- parent="yuthon_index_management_menu"-->
<!-- name="组织绩效指标库"-->
<!-- sequence="1"-->
<!-- action="yuthon_index_management_action"/>-->
<!-- <menuitem id="yuthon_employee_performance_library"-->
<!-- parent="yuthon_index_management_menu"-->
<!-- name="员工绩效指标库"-->
<!-- sequence="3"-->
<!-- action="yuthon_index_management_action"/>-->
</odoo>
@@ -7,15 +7,18 @@
<tree>
<field name="name"/>
<field name="select_time"/>
<field name="yuthon_company" optional="hide"/>
</tree>
</field>
</record>
<record id="yuthon_plan_management_form" model="ir.ui.view">
<field name="name">yuthon.plan.management.form</field>
<field name="model">yuthon.plan.management</field>
<field name="arch" type="xml">
<form>
<header>
<button name="button_plan_management" type="object" string="按钮" class="oe_highlight"/>
</header>
<sheet>
<div class="oe_title">
<label for="name"/>
@@ -25,6 +28,7 @@
</div>
<group>
<field name="select_time"/>
<field name="yuthon_company"/>
</group>
<notebook>
<page string="一月计划详情" invisible="select_time != 'January'">
@@ -210,16 +214,36 @@
</field>
</page>
</notebook>
<group string="个人工作任务">
<field name="plan_management_ids" string=" ">
<tree editable="bottom">
<field name="plan_id" column_invisible="1"/>
<field name="task_type"/>
<field name="goal"/>
</tree>
</field>
</group>
</sheet>
</form>
</field>
</record>
<!-- Action-->
<record id="yuthon_plan_management_action" model="ir.actions.act_window">
<record id="yuthon_plan_management_action1" model="ir.actions.act_window">
<field name="name">个人工作任务</field>
<field name="res_model">yuthon.plan.management</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('yuthon_company','=','thtz')]</field>
</record>
<record id="yuthon_plan_management_action2" model="ir.actions.act_window">
<field name="name">个人工作任务</field>
<field name="res_model">yuthon.plan.management</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('yuthon_company','=','thlc')]</field>
</record>
<record id="yuthon_plan_management_action3" model="ir.actions.act_window">
<field name="name">个人工作任务</field>
<field name="res_model">yuthon.plan.management</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('yuthon_company','=','thwg')]</field>
</record>
</odoo>
@@ -10,6 +10,7 @@
<field name="users_id"/>
<field name="department_id"/>
<field name="creation_time"/>
<field name="yuthon_company" optional="hide"/>
</tree>
</field>
</record>
@@ -29,6 +30,7 @@
<group>
<field name="job_id"/>
<field name="department_id"/>
<field name="yuthon_company"/>
</group>
<group>
<field name="is_kpi"/>
@@ -109,10 +111,23 @@
</record>
<!-- Action-->
<record id="yuthon_tissue_duty_approval_action" model="ir.actions.act_window">
<record id="yuthon_tissue_duty_approval_action1" model="ir.actions.act_window">
<field name="name">组织绩效变更申请表</field>
<field name="res_model">yuthon.tissue.duty.approval</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('yuthon_company','=','thtz')]</field>
</record>
<record id="yuthon_tissue_duty_approval_action2" model="ir.actions.act_window">
<field name="name">组织绩效变更申请表</field>
<field name="res_model">yuthon.tissue.duty.approval</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('yuthon_company','=','thlc')]</field>
</record>
<record id="yuthon_tissue_duty_approval_action3" model="ir.actions.act_window">
<field name="name">组织绩效变更申请表</field>
<field name="res_model">yuthon.tissue.duty.approval</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('yuthon_company','=','thwg')]</field>
</record>
</odoo>
+209 -44
View File
@@ -5,81 +5,246 @@
name="绩效考核"
parent="human_resources_menu_root_board"
sequence="13"/>
<menuitem id="yuthon_index_management_menu_board"
<menuitem id="yuthon_performance_menu_tt_root"
name="天河投资绩效"
parent="yuthon_performance_menu_config_root_board"
sequence="1"/>
<menuitem id="yuthon_index_management_menu_tt_board"
parent="yuthon_performance_menu_tt_root"
name="指标库"
sequence="1"/>
<menuitem id="yuthon_organization_performance_library_board"
parent="yuthon_index_management_menu_board"
<menuitem id="yuthon_organization_performance_library_board1"
parent="yuthon_index_management_menu_tt_board"
name="组织绩效指标库"
sequence="1"
action="yuthon_performance.yuthon_index_management_action"/>
<menuitem id="yuthon_employee_performance_library_board"
parent="yuthon_index_management_menu_board"
action="yuthon_performance.yuthon_index_management_action1"/>
<menuitem id="yuthon_employee_performance_library_board1"
parent="yuthon_index_management_menu_tt_board"
name="员工绩效指标库"
sequence="3"
action="yuthon_performance.yuthon_index_employee_action"/>
<menuitem id="yuthon_performance_approval_management_menu_board"
parent="yuthon_index_management_menu_board"
action="yuthon_performance.yuthon_index_employee_action1"/>
<menuitem id="yuthon_performance_approval_management_menu_board1"
parent="yuthon_index_management_menu_tt_board"
name="组织指标变更申请表"
action="yuthon_performance.yuthon_index_approval_action"
action="yuthon_performance.yuthon_index_approval_action1"
sequence="5"/>
<menuitem id="yuthon_performance_employee_management_menu_board"
parent="yuthon_index_management_menu_board"
<menuitem id="yuthon_performance_employee_management_menu_board1"
parent="yuthon_index_management_menu_tt_board"
name="员工指标变更申请表"
action="yuthon_performance.yuthon_employee_approval_action"
action="yuthon_performance.yuthon_employee_approval_action1"
sequence="7"/>
<menuitem id="yuthon_performance_duty_menu_board"
parent="yuthon_performance_menu_config_root_board"
<menuitem id="yuthon_performance_duty_menu_tt_board"
parent="yuthon_performance_menu_tt_root"
name="考核任务"
sequence="3"/>
<menuitem id="yuthon_performance_duty_management_menu_board"
parent="yuthon_performance_duty_menu_board"
<menuitem id="yuthon_performance_duty_management_menu_board2"
parent="yuthon_performance_duty_menu_tt_board"
name="考核任务总汇"
action="yuthon_performance.yuthon_assessment_tasks_action"
action="yuthon_performance.yuthon_assessment_tasks_action1"
sequence="1"/>
<menuitem id="yuthon_organization_performance_menu_board"
parent="yuthon_performance_duty_menu_board"
<menuitem id="yuthon_organization_performance_menu_board1"
parent="yuthon_performance_duty_menu_tt_board"
name="组织绩效责任书"
sequence="3"
action="yuthon_performance.yuthon_duty_management_action"/>
<menuitem id="yuthon_employee_performance_menu_board"
parent="yuthon_performance_duty_menu_board"
action="yuthon_performance.yuthon_duty_management_action1"/>
<menuitem id="yuthon_employee_performance_menu_board1"
parent="yuthon_performance_duty_menu_tt_board"
name="员工绩效"
sequence="5"
action="yuthon_performance.yuthon_employee_performance_action"/>
<menuitem id="yuthon_tissue_duty_approval_menu_board"
action="yuthon_performance.yuthon_employee_performance_action1"/>
<menuitem id="yuthon_tissue_duty_approval_menu_board1"
name="组织绩效变更申请"
parent="yuthon_performance_duty_menu_board"
parent="yuthon_performance_duty_menu_tt_board"
sequence="7"
action="yuthon_performance.yuthon_tissue_duty_approval_action"/>
<menuitem id="yuthon_plan_management_board"
parent="yuthon_performance_menu_config_root_board"
action="yuthon_performance.yuthon_tissue_duty_approval_action1"/>
<menuitem id="yuthon_plan_management_board1"
parent="yuthon_performance_menu_tt_root"
name="个人工作任务"
sequence="5"
action="yuthon_performance.yuthon_plan_management_action"/>
<menuitem id="yuthon_score_root_board"
parent="yuthon_performance_menu_config_root_board"
action="yuthon_performance.yuthon_plan_management_action1"/>
<menuitem id="yuthon_score_root_board1"
parent="yuthon_performance_menu_tt_root"
name="评分"
sequence="7"/>
<menuitem id="yuthon_score_form_menu_board"
parent="yuthon_score_root_board"
<menuitem id="yuthon_score_form_menu_board1"
parent="yuthon_score_root_board1"
name="组织绩效评分表"
sequence="2"/>
<menuitem id="yuthon_gs_tasks_menu_board"
parent="yuthon_score_form_menu_board"
<menuitem id="yuthon_gs_tasks_menu_board1"
parent="yuthon_score_form_menu_board1"
name="GS评分表"
sequence="1"
action="yuthon_performance.yuthon_grading_tasks_action"/>
<menuitem id="yuthon_kpi_tasks_menu_board"
parent="yuthon_score_form_menu_board"
action="yuthon_performance.yuthon_grading_tasks_action1"/>
<menuitem id="yuthon_kpi_tasks_menu_board1"
parent="yuthon_score_form_menu_board1"
name="KPI评分表"
sequence="3"
action="yuthon_performance.yuthon_kpi_tasks_action"/>
<menuitem id="yuthon_employee_appraisal_root_board"
parent="yuthon_score_root_board"
action="yuthon_performance.yuthon_kpi_tasks_action1"/>
<menuitem id="yuthon_employee_appraisal_root_board1"
parent="yuthon_score_root_board1"
name="员工绩效考核表"
sequence="5"
action="yuthon_performance.yuthon_employee_appraisal_action"/>
action="yuthon_performance.yuthon_employee_appraisal_action1"/>
<!--天河粮储-->
<menuitem id="yuthon_performance_menu_lc_config"
name="天河粮储绩效"
parent="yuthon_performance_menu_config_root_board"
sequence="3"/>
<menuitem id="yuthon_index_management_menu_lc_board"
parent="yuthon_performance_menu_lc_config"
name="指标库"
sequence="1"/>
<menuitem id="yuthon_organization_performance_library_board2"
parent="yuthon_index_management_menu_lc_board"
name="组织绩效指标库"
sequence="1"
action="yuthon_performance.yuthon_index_management_action2"/>
<menuitem id="yuthon_employee_performance_library_board2"
parent="yuthon_index_management_menu_lc_board"
name="员工绩效指标库"
sequence="3"
action="yuthon_performance.yuthon_index_employee_action2"/>
<menuitem id="yuthon_performance_approval_management_menu_board2"
parent="yuthon_index_management_menu_lc_board"
name="组织指标变更申请表"
action="yuthon_performance.yuthon_index_approval_action2"
sequence="5"/>
<menuitem id="yuthon_performance_employee_management_menu_board2"
parent="yuthon_index_management_menu_lc_board"
name="员工指标变更申请表"
action="yuthon_performance.yuthon_employee_approval_action2"
sequence="7"/>
<menuitem id="yuthon_performance_duty_menu_lc_board"
parent="yuthon_performance_menu_lc_config"
name="考核任务"
sequence="3"/>
<menuitem id="yuthon_performance_duty_management_menu_board2"
parent="yuthon_performance_duty_menu_lc_board"
name="考核任务总汇"
action="yuthon_performance.yuthon_assessment_tasks_action2"
sequence="1"/>
<menuitem id="yuthon_organization_performance_menu_board2"
parent="yuthon_performance_duty_menu_lc_board"
name="组织绩效责任书"
sequence="3"
action="yuthon_performance.yuthon_duty_management_action2"/>
<menuitem id="yuthon_employee_performance_menu_board2"
parent="yuthon_performance_duty_menu_lc_board"
name="员工绩效"
sequence="5"
action="yuthon_performance.yuthon_employee_performance_action2"/>
<menuitem id="yuthon_tissue_duty_approval_menu_board2"
name="组织绩效变更申请"
parent="yuthon_performance_duty_menu_lc_board"
sequence="7"
action="yuthon_performance.yuthon_tissue_duty_approval_action2"/>
<menuitem id="yuthon_plan_management_board2"
parent="yuthon_performance_menu_lc_config"
name="个人工作任务"
sequence="5"
action="yuthon_performance.yuthon_plan_management_action2"/>
<menuitem id="yuthon_score_root_board2"
parent="yuthon_performance_menu_lc_config"
name="评分"
sequence="7"/>
<menuitem id="yuthon_score_form_menu_board2"
parent="yuthon_score_root_board2"
name="组织绩效评分表"
sequence="2"/>
<menuitem id="yuthon_gs_tasks_menu_board2"
parent="yuthon_score_form_menu_board2"
name="GS评分表"
sequence="1"
action="yuthon_performance.yuthon_grading_tasks_action2"/>
<menuitem id="yuthon_kpi_tasks_menu_board2"
parent="yuthon_score_form_menu_board2"
name="KPI评分表"
sequence="3"
action="yuthon_performance.yuthon_kpi_tasks_action2"/>
<menuitem id="yuthon_employee_appraisal_root_board2"
parent="yuthon_score_root_board2"
name="员工绩效考核表"
sequence="5"
action="yuthon_performance.yuthon_employee_appraisal_action2"/>
<menuitem id="yuthon_performance_menu_wg_config"
name="天河物管绩效"
parent="yuthon_performance_menu_config_root_board"
sequence="5"/>
<menuitem id="yuthon_index_management_menu_wg_board"
parent="yuthon_performance_menu_wg_config"
name="指标库"
sequence="1"/>
<menuitem id="yuthon_organization_performance_library_board3"
parent="yuthon_index_management_menu_wg_board"
name="组织绩效指标库"
sequence="1"
action="yuthon_performance.yuthon_index_management_action3"/>
<menuitem id="yuthon_employee_performance_library_board3"
parent="yuthon_index_management_menu_wg_board"
name="员工绩效指标库"
sequence="3"
action="yuthon_performance.yuthon_index_employee_action3"/>
<menuitem id="yuthon_performance_approval_management_menu_board3"
parent="yuthon_index_management_menu_wg_board"
name="组织指标变更申请表"
action="yuthon_performance.yuthon_index_approval_action3"
sequence="5"/>
<menuitem id="yuthon_performance_employee_management_menu_board3"
parent="yuthon_index_management_menu_wg_board"
name="员工指标变更申请表"
action="yuthon_performance.yuthon_employee_approval_action3"
sequence="7"/>
<menuitem id="yuthon_performance_duty_menu_wg_board"
parent="yuthon_performance_menu_wg_config"
name="考核任务"
sequence="3"/>
<menuitem id="yuthon_performance_duty_management_menu_board3"
parent="yuthon_performance_duty_menu_wg_board"
name="考核任务总汇"
action="yuthon_performance.yuthon_assessment_tasks_action3"
sequence="1"/>
<menuitem id="yuthon_organization_performance_menu_board3"
parent="yuthon_performance_duty_menu_wg_board"
name="组织绩效责任书"
sequence="3"
action="yuthon_performance.yuthon_duty_management_action3"/>
<menuitem id="yuthon_employee_performance_menu_board3"
parent="yuthon_performance_duty_menu_wg_board"
name="员工绩效"
sequence="5"
action="yuthon_performance.yuthon_employee_performance_action3"/>
<menuitem id="yuthon_tissue_duty_approval_menu_board3"
name="组织绩效变更申请"
parent="yuthon_performance_duty_menu_wg_board"
sequence="7"
action="yuthon_performance.yuthon_tissue_duty_approval_action3"/>
<menuitem id="yuthon_plan_management_board3"
parent="yuthon_performance_menu_wg_config"
name="个人工作任务"
sequence="5"
action="yuthon_performance.yuthon_plan_management_action3"/>
<menuitem id="yuthon_score_root_board3"
parent="yuthon_performance_menu_wg_config"
name="评分"
sequence="7"/>
<menuitem id="yuthon_score_form_menu_board3"
parent="yuthon_score_root_board3"
name="组织绩效评分表"
sequence="2"/>
<menuitem id="yuthon_gs_tasks_menu_board3"
parent="yuthon_score_form_menu_board3"
name="GS评分表"
sequence="1"
action="yuthon_performance.yuthon_grading_tasks_action3"/>
<menuitem id="yuthon_kpi_tasks_menu_board3"
parent="yuthon_score_form_menu_board3"
name="KPI评分表"
sequence="3"
action="yuthon_performance.yuthon_kpi_tasks_action3"/>
<menuitem id="yuthon_employee_appraisal_root_board3"
parent="yuthon_score_root_board3"
name="员工绩效考核表"
sequence="5"
action="yuthon_performance.yuthon_employee_appraisal_action2"/>
</odoo>