添加功能
This commit is contained in:
@@ -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
|
||||
|
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
Reference in New Issue
Block a user