添加功能
This commit is contained in:
@@ -60,7 +60,7 @@ class IssueLibrary(models.Model):
|
|||||||
for issue_record in issue_active_ids:
|
for issue_record in issue_active_ids:
|
||||||
issue_record.write({"state": "approval"})
|
issue_record.write({"state": "approval"})
|
||||||
issue_decision_lines.append((0, 0, {
|
issue_decision_lines.append((0, 0, {
|
||||||
'issue_approval_id': issue_record.id,
|
'issue_library_id': issue_record.id,
|
||||||
'approval_decision_sequence': issue_record.approval_decision_sequence,
|
'approval_decision_sequence': issue_record.approval_decision_sequence,
|
||||||
'is_party':issue_record.is_party,
|
'is_party':issue_record.is_party,
|
||||||
'is_class': issue_record.is_class,
|
'is_class': issue_record.is_class,
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ class YuthonIndexApproval(models.Model):
|
|||||||
_name = 'yuthon.index.approval'
|
_name = 'yuthon.index.approval'
|
||||||
_description = "组织指标库变更管理"
|
_description = "组织指标库变更管理"
|
||||||
_rec_name = 'name'
|
_rec_name = 'name'
|
||||||
|
_inherit = 'soong.workflow.mixin'
|
||||||
|
|
||||||
name = fields.Char('标题')
|
name = fields.Char('标题')
|
||||||
creation_time = fields.Datetime(string='申请日期', default=lambda self: fields.Datetime.now())
|
creation_time = fields.Datetime(string='申请日期', default=lambda self: fields.Datetime.now())
|
||||||
@@ -10,3 +11,61 @@ class YuthonIndexApproval(models.Model):
|
|||||||
reason_text = fields.Html(string='申请事由')
|
reason_text = fields.Html(string='申请事由')
|
||||||
|
|
||||||
change_index_library_ids = fields.One2many("yuthon.index.management",'change_index_library_id',string="组织指标库变更明细")
|
change_index_library_ids = fields.One2many("yuthon.index.management",'change_index_library_id',string="组织指标库变更明细")
|
||||||
|
new_index_library_ids = fields.One2many("new.index.management.line",'new_change_index_library_id',string="新组织指标库变更明细")
|
||||||
|
|
||||||
|
@api.onchange('change_index_library_ids')
|
||||||
|
def onchange_change_index_library_ids(self):
|
||||||
|
new_lines = []
|
||||||
|
for old in self:
|
||||||
|
for new in old.change_index_library_ids:
|
||||||
|
new_lines.append((0, 0, {
|
||||||
|
'new_dimension': new.dimension,
|
||||||
|
'new_development_goals': new.development_goals,
|
||||||
|
'new_index_name': new.index_name,
|
||||||
|
'new_index_definition': new.index_definition,
|
||||||
|
'new_index_type': new.index_type,
|
||||||
|
'new_index_compute': new.index_compute,
|
||||||
|
'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_employee_id': new.employee_id,
|
||||||
|
'new_start_index_time': new.start_index_time,
|
||||||
|
'new_end_index_time': new.end_index_time,
|
||||||
|
'new_unit_compute': new.unit_compute,
|
||||||
|
'new_weight': new.weight,
|
||||||
|
'new_compute_method': new.compute_method,
|
||||||
|
'new_compute_act': new.compute_act,
|
||||||
|
}))
|
||||||
|
self.new_index_library_ids = new_lines
|
||||||
|
|
||||||
|
|
||||||
|
class NewIndexManagement(models.Model):
|
||||||
|
_name = 'new.index.management.line'
|
||||||
|
_description = "新组织指标库变更明细"
|
||||||
|
|
||||||
|
|
||||||
|
new_change_index_library_id = fields.Many2one('yuthon.index.approval',string="关联组织绩效指标库变更")
|
||||||
|
new_dimension = fields.Char('维度', required=True)
|
||||||
|
new_development_goals = fields.Char('发展目标', required=True)
|
||||||
|
new_index_name = fields.Char('指标名称', required=True)
|
||||||
|
new_index_definition = fields.Text('指标定义', required=True)
|
||||||
|
new_index_type = fields.Selection([('kpi', 'KPI'),
|
||||||
|
('gs', 'GS'),
|
||||||
|
('refused_index', '否决指标'), ], '指标类别')
|
||||||
|
new_index_compute = fields.Char('指标计算公式', required=True)
|
||||||
|
new_compute_type = fields.Selection([('bad_index', '反向指标'),
|
||||||
|
('good_index', '正向指标'),
|
||||||
|
('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_start_index_time = fields.Date(string='生效时间', required=True)
|
||||||
|
new_end_index_time = fields.Date(string='失效时间')
|
||||||
|
new_unit_compute = fields.Char('计算单位')
|
||||||
|
new_weight = fields.Char(string="权重%")
|
||||||
|
new_compute_method = fields.Char(string="计算方法")
|
||||||
|
new_compute_act = fields.Char(string="计划安排及具体措施/行动")
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -35,8 +35,7 @@ class YuthonIndexManagement(models.Model):
|
|||||||
index_duty_approval_id = fields.Many2one('yuthon.duty.approval', string="部门责任变更明细")
|
index_duty_approval_id = fields.Many2one('yuthon.duty.approval', string="部门责任变更明细")
|
||||||
|
|
||||||
def put_adjustment_approval(self):
|
def put_adjustment_approval(self):
|
||||||
index_applicant_ids = self.env["yuthon.index.management"].browse(
|
index_applicant_ids = self.env["yuthon.index.management"].browse(self._context.get('active_ids', self._context.get('active_id')))
|
||||||
self._context.get('active_ids', self._context.get('active_id')))
|
|
||||||
index_applicant_data = [(6, 0,index_applicant_ids.ids)]
|
index_applicant_data = [(6, 0,index_applicant_ids.ids)]
|
||||||
form_id = self.env.ref('yuthon_performance.yuthon_index_approval_form').id
|
form_id = self.env.ref('yuthon_performance.yuthon_index_approval_form').id
|
||||||
return {
|
return {
|
||||||
@@ -45,23 +44,16 @@ class YuthonIndexManagement(models.Model):
|
|||||||
'view_mode': 'form',
|
'view_mode': 'form',
|
||||||
'res_model': 'yuthon.index.approval',
|
'res_model': 'yuthon.index.approval',
|
||||||
'views': [(form_id, 'form')],
|
'views': [(form_id, 'form')],
|
||||||
'context': {'default_change_index_library_ids': index_applicant_data}
|
'context': {'default_change_index_library_ids': index_applicant_data,}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def open_record(self):
|
||||||
|
return {
|
||||||
|
"type": "ir.actions.act_window",
|
||||||
|
"res_model": 'yuthon.index.management',
|
||||||
|
"res_id": self.id,
|
||||||
|
"name":"组织库详情",
|
||||||
|
"view_mode": "form",
|
||||||
|
}
|
||||||
def put_assessment_tasks_approval(self):
|
def put_assessment_tasks_approval(self):
|
||||||
pass
|
pass
|
||||||
# index_applicant_ids = self.env["yuthon.index.management"].browse(
|
|
||||||
# self._context.get('active_ids', self._context.get('active_id')))
|
|
||||||
# index_applicant_data = [(6, 0,index_applicant_ids.ids)]
|
|
||||||
# form_id = self.env.ref('yuthon_performance.yuthon_duty_management_form').id
|
|
||||||
# if self.index_type == 'kpi':
|
|
||||||
# context = {'default_performance_kpi_ids': index_applicant_data}
|
|
||||||
# else:
|
|
||||||
# context = {'default_performance_gs_ids': index_applicant_data}
|
|
||||||
# return{
|
|
||||||
# 'name': '计划安排及具体措施/行动',
|
|
||||||
# 'type': 'ir.actions.act_window',
|
|
||||||
# 'view_mode': 'form',
|
|
||||||
# 'res_model': 'yuthon.duty.management',
|
|
||||||
# 'views': [(form_id, 'form')],
|
|
||||||
# 'context': context
|
|
||||||
# }
|
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ class YuthonEmployeeApproval(models.Model):
|
|||||||
_name = 'yuthon.employee.approval'
|
_name = 'yuthon.employee.approval'
|
||||||
_description = "员工指标库变更管理"
|
_description = "员工指标库变更管理"
|
||||||
_rec_name = 'name'
|
_rec_name = 'name'
|
||||||
|
_inherit = 'soong.workflow.mixin'
|
||||||
|
|
||||||
name = fields.Char('标题')
|
name = fields.Char('标题')
|
||||||
creation_time = fields.Datetime(string='申请日期', default=lambda self: fields.Datetime.now())
|
creation_time = fields.Datetime(string='申请日期', default=lambda self: fields.Datetime.now())
|
||||||
@@ -12,3 +13,33 @@ class YuthonEmployeeApproval(models.Model):
|
|||||||
reason_text = fields.Html(string='申请事由')
|
reason_text = fields.Html(string='申请事由')
|
||||||
|
|
||||||
change_employee_library_ids = fields.One2many("yuthon.index.employee",'change_employee_library_id',string="员工指标库库变更明细")
|
change_employee_library_ids = fields.One2many("yuthon.index.employee",'change_employee_library_id',string="员工指标库库变更明细")
|
||||||
|
new_change_employee_library_ids = fields.One2many("new.employee.library.line",'new_change_employee_library_id',string="新员工指标库变更明细")
|
||||||
|
|
||||||
|
|
||||||
|
@api.onchange('change_employee_library_ids')
|
||||||
|
def _onchange_change_employee_library_ids(self):
|
||||||
|
new_lines = []
|
||||||
|
for old in self:
|
||||||
|
for new in old.change_employee_library_ids:
|
||||||
|
new_lines.append((0, 0,{
|
||||||
|
'new_users_role_ids': new.users_role_ids,
|
||||||
|
'new_department_ids': new.department_ids,
|
||||||
|
'new_employee_ids': new.employee_ids,
|
||||||
|
'new_dimension': new.dimension,
|
||||||
|
'new_start_index_time':new.start_index_time,
|
||||||
|
'new_end_index_time': new.end_index_time,
|
||||||
|
}))
|
||||||
|
self.new_change_employee_library_ids = new_lines
|
||||||
|
|
||||||
|
class NewEmployeeLibraryLine(models.Model):
|
||||||
|
_name = 'new.employee.library.line'
|
||||||
|
_description = "新员工指标库变更明细"
|
||||||
|
|
||||||
|
|
||||||
|
new_change_employee_library_id = fields.Many2one('yuthon.employee.approval', string='关联员工指标库变更')
|
||||||
|
new_users_role_ids = fields.Many2many('soong.user.role', string='角色')
|
||||||
|
new_department_ids = fields.Many2many('hr.department', string='部门')
|
||||||
|
new_employee_ids = fields.Many2many('hr.employee', string='人员')
|
||||||
|
new_dimension = fields.Char('评价维度', required=True)
|
||||||
|
new_start_index_time = fields.Datetime('开始时间', required=True)
|
||||||
|
new_end_index_time = fields.Datetime('结束时间', required=True)
|
||||||
|
|||||||
@@ -21,4 +21,6 @@ access_yuthon_appraisal_line_detail,yuthon_appraisal_line_detail,model_yuthon_ap
|
|||||||
access_yuthon_role_detail_lines,yuthon_role_detail_lines,model_yuthon_role_detail_lines,base.group_user,1,1,1,1
|
access_yuthon_role_detail_lines,yuthon_role_detail_lines,model_yuthon_role_detail_lines,base.group_user,1,1,1,1
|
||||||
access_yuthon_assessment_tasks_lines,yuthon_assessment_tasks_lines,model_yuthon_assessment_tasks_lines,base.group_user,1,1,1,1
|
access_yuthon_assessment_tasks_lines,yuthon_assessment_tasks_lines,model_yuthon_assessment_tasks_lines,base.group_user,1,1,1,1
|
||||||
access_yuthon_assessment_tasks_wizard,yuthon_assessment_tasks_wizard,model_yuthon_assessment_tasks_wizard,base.group_user,1,1,1,1
|
access_yuthon_assessment_tasks_wizard,yuthon_assessment_tasks_wizard,model_yuthon_assessment_tasks_wizard,base.group_user,1,1,1,1
|
||||||
access_yuthon_yuthon_index_employee_line,yuthon_index_employee_line,model_yuthon_index_employee_line,base.group_user,1,1,1,1
|
access_yuthon_index_employee_line,yuthon_index_employee_line,model_yuthon_index_employee_line,base.group_user,1,1,1,1
|
||||||
|
access_new_index_management_line,new_index_management_line,model_new_index_management_line,base.group_user,1,1,1,1
|
||||||
|
access_new_employee_library_line,new_employee_library_line,model_new_employee_library_line,base.group_user,1,1,1,1
|
||||||
|
@@ -34,9 +34,10 @@
|
|||||||
</group>
|
</group>
|
||||||
</group>
|
</group>
|
||||||
<notebook>
|
<notebook>
|
||||||
<page string="组织绩效">
|
<page string="组织绩效详情">
|
||||||
<field name="change_index_library_ids">
|
<group string="原指标库">
|
||||||
<tree>
|
<field name="change_index_library_ids" string=" ">
|
||||||
|
<tree editable="bottom" create="false" delete="false" edit="false">
|
||||||
<field name="dimension"/>
|
<field name="dimension"/>
|
||||||
<field name="development_goals"/>
|
<field name="development_goals"/>
|
||||||
<field name="index_name"/>
|
<field name="index_name"/>
|
||||||
@@ -50,8 +51,29 @@
|
|||||||
<field name="employee_id"/>
|
<field name="employee_id"/>
|
||||||
<field name="start_index_time"/>
|
<field name="start_index_time"/>
|
||||||
<field name="end_index_time"/>
|
<field name="end_index_time"/>
|
||||||
|
<button name="open_record" type="object" string="详情信息"/>
|
||||||
</tree>
|
</tree>
|
||||||
</field>
|
</field>
|
||||||
|
</group>
|
||||||
|
<group string="新指标库">
|
||||||
|
<field name="new_index_library_ids" string=" ">
|
||||||
|
<tree editable="bottom" delete="false">
|
||||||
|
<field name="new_dimension"/>
|
||||||
|
<field name="new_development_goals"/>
|
||||||
|
<field name="new_index_name"/>
|
||||||
|
<field name="new_index_definition"/>
|
||||||
|
<field name="new_index_type"/>
|
||||||
|
<field name="new_index_compute"/>
|
||||||
|
<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_start_index_time"/>
|
||||||
|
<field name="new_end_index_time"/>
|
||||||
|
</tree>
|
||||||
|
</field>
|
||||||
|
</group>
|
||||||
</page>
|
</page>
|
||||||
</notebook>
|
</notebook>
|
||||||
</sheet>
|
</sheet>
|
||||||
|
|||||||
@@ -35,15 +35,32 @@
|
|||||||
</group>
|
</group>
|
||||||
<notebook>
|
<notebook>
|
||||||
<page string="员工绩效">
|
<page string="员工绩效">
|
||||||
<field name="change_employee_library_ids">
|
<group string="原员工指标库">
|
||||||
<tree editable="bottom">
|
<field name="change_employee_library_ids" string=" ">
|
||||||
|
<tree editable="bottom" create="false" delete="false" edit="false">
|
||||||
|
<field name="dimension"/>
|
||||||
|
<field name="change_employee_library_id" column_invisible="1"/>
|
||||||
<field name="department_ids" widget="many2many_tags"/>
|
<field name="department_ids" widget="many2many_tags"/>
|
||||||
<field name="users_role_ids"/>
|
<field name="users_role_ids" widget="many2many_tags"/>
|
||||||
<field name="employee_ids"/>
|
<field name="employee_ids" widget="many2many_tags"/>
|
||||||
<field name="start_index_time"/>
|
<field name="start_index_time"/>
|
||||||
<field name="end_index_time"/>
|
<field name="end_index_time"/>
|
||||||
</tree>
|
</tree>
|
||||||
</field>
|
</field>
|
||||||
|
</group>
|
||||||
|
<group string="新员工指标库">
|
||||||
|
<field name="new_change_employee_library_ids" string=" ">
|
||||||
|
<tree editable="bottom" delete="false">
|
||||||
|
<field name="new_change_employee_library_id" column_invisible="1"/>
|
||||||
|
<field name="new_dimension"/>
|
||||||
|
<field name="new_department_ids" widget="many2many_tags"/>
|
||||||
|
<field name="new_users_role_ids" widget="many2many_tags"/>
|
||||||
|
<field name="new_employee_ids" widget="many2many_tags"/>
|
||||||
|
<field name="new_start_index_time"/>
|
||||||
|
<field name="new_end_index_time"/>
|
||||||
|
</tree>
|
||||||
|
</field>
|
||||||
|
</group>
|
||||||
</page>
|
</page>
|
||||||
</notebook>
|
</notebook>
|
||||||
</sheet>
|
</sheet>
|
||||||
|
|||||||
@@ -681,13 +681,18 @@
|
|||||||
parent="yuthon_performance_menu_config_root_board"
|
parent="yuthon_performance_menu_config_root_board"
|
||||||
name="评分"
|
name="评分"
|
||||||
sequence="7"/>
|
sequence="7"/>
|
||||||
<menuitem id="yuthon_gs_tasks_menu_board"
|
<menuitem id="yuthon_score_form_menu_board"
|
||||||
parent="yuthon_score_root_board"
|
parent="yuthon_score_root_board"
|
||||||
|
name="组织绩效评分表"
|
||||||
|
sequence="2"/>
|
||||||
|
|
||||||
|
<menuitem id="yuthon_gs_tasks_menu_board"
|
||||||
|
parent="yuthon_score_form_menu_board"
|
||||||
name="GS评分表"
|
name="GS评分表"
|
||||||
sequence="1"
|
sequence="1"
|
||||||
action="yuthon_performance.yuthon_grading_tasks_action"/>
|
action="yuthon_performance.yuthon_grading_tasks_action"/>
|
||||||
<menuitem id="yuthon_kpi_tasks_menu_board"
|
<menuitem id="yuthon_kpi_tasks_menu_board"
|
||||||
parent="yuthon_score_root_board"
|
parent="yuthon_score_form_menu_board"
|
||||||
name="KPI评分表"
|
name="KPI评分表"
|
||||||
sequence="3"
|
sequence="3"
|
||||||
action="yuthon_performance.yuthon_kpi_tasks_action"/>
|
action="yuthon_performance.yuthon_kpi_tasks_action"/>
|
||||||
|
|||||||
Reference in New Issue
Block a user