添加功能
This commit is contained in:
@@ -6,7 +6,7 @@ class HrJob(models.Model):
|
||||
_inherit = "hr.job"
|
||||
|
||||
|
||||
company = fields.Selection([('thtz', '天河投资集团'), ('thwg', '天河物管'),
|
||||
yuthon_company = fields.Selection([('thtz', '天河投资集团'), ('thwg', '天河物管'),
|
||||
('thlc', '天河粮储'), ('tctj', '天投城建')], string="所属公司")
|
||||
job_type_id = fields.Many2one('hr.job.type', string="岗位类别")
|
||||
job_lv_id = fields.Many2one('yuthon.job.lv', string="职级")
|
||||
@@ -15,16 +15,23 @@ class HrJob(models.Model):
|
||||
is_enable = fields.Boolean(string="是否启用", default=False, compute="compute_is_enable", store=True)
|
||||
compiling_external = fields.Integer(string="编制外人数")
|
||||
compiling_status = fields.Selection([('1', '缺编'), ('2', '满编')], compute="_compute_compiling_status", string="状态")
|
||||
missing_number = fields.Integer(string="缺编人数")
|
||||
missing_number = fields.Integer(string="缺编人数",compute='_depends_missing_number')
|
||||
establishment_quotas = fields.Integer(string="编制定员")
|
||||
job_personnel = fields.Char(string="在岗人员")
|
||||
remarks = fields.Text(string="备注")
|
||||
|
||||
@api.depends('expected_employees', 'no_of_employee')
|
||||
@api.depends('establishment_quotas', 'no_of_employee')
|
||||
def _compute_compiling_status(self):
|
||||
for state in self:
|
||||
if state.no_of_employee < state.expected_employees:
|
||||
if state.no_of_employee < state.establishment_quotas:
|
||||
state.compiling_status = '1'
|
||||
else:
|
||||
state.compiling_status = '2'
|
||||
|
||||
@api.depends('establishment_quotas', 'no_of_employee')
|
||||
def _depends_missing_number(self):
|
||||
for rec in self:
|
||||
rec.missing_number = rec.establishment_quotas - rec.no_of_employee
|
||||
|
||||
|
||||
@api.depends('start_time', 'end_time')
|
||||
|
||||
@@ -13,8 +13,10 @@ class YuthonHrDepartment(models.Model):
|
||||
department_function = fields.Char(string="部门职能")
|
||||
is_institution = fields.Boolean(string="是否机构")
|
||||
is_global_department = fields.Boolean(string="是否全局部门")
|
||||
create_time = fields.Datetime(string="创建时间", default=fields.Datetime.now)
|
||||
end_time = fields.Datetime(string="结束时间")
|
||||
create_date = fields.Date(string="创建时间", default=fields.Date.today())
|
||||
start_date = fields.Date(string="生效日期", default=fields.Date.today())
|
||||
expiration_date = fields.Date(string="失效日期", default=fields.Date.today())
|
||||
end_date = fields.Date(string="结束时间")
|
||||
department_code = fields.Char(string="部门序号", store=True)
|
||||
|
||||
@api.onchange('department_code', 'parent_id')
|
||||
|
||||
@@ -96,4 +96,5 @@
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
@@ -23,8 +23,8 @@
|
||||
<xpath expr="//field[@name='department_id']" position="after">
|
||||
<field name="job_type_id"/>
|
||||
<field name="job_lv_id"/>
|
||||
<field name="company"/>
|
||||
<field name="expected_employees" string="编制定员"/>
|
||||
<field name="yuthon_company"/>
|
||||
<field name="establishment_quotas"/>
|
||||
<field name="no_of_employee" string="在编人数"/>
|
||||
<field name="compiling_external"/>
|
||||
<field name="missing_number"/>
|
||||
@@ -52,18 +52,14 @@
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='department_id']" position="after">
|
||||
<field name="job_type_id"/>
|
||||
<field name="expected_employees" string="编制定员"/>
|
||||
<field name="establishment_quotas"/>
|
||||
<field name="no_of_employee" string="在编人数"/>
|
||||
<field name="compiling_external"/>
|
||||
<field name="missing_number"/>
|
||||
<field name="missing_number" force_save="1"/>
|
||||
<field name="compiling_status"/>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='department_id']" position="after">
|
||||
<field name="job_lv_id"/>
|
||||
<field name="company"/>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='description']" position="after">
|
||||
<attribute name="column_invisible">1</attribute>
|
||||
<field name="yuthon_company"/>
|
||||
</xpath>
|
||||
<div name="recruitment_target" position="after">
|
||||
<field name="start_time"/>
|
||||
|
||||
@@ -9,16 +9,27 @@
|
||||
<field name="model">hr.department</field>
|
||||
<field name="inherit_id" ref="hr.view_department_tree"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='total_employee']" position="attributes">
|
||||
<attribute name="column_invisible">1</attribute>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='parent_id']" position="attributes">
|
||||
<attribute name="column_invisible">1</attribute>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='color']" position="attributes">
|
||||
<attribute name="column_invisible">1</attribute>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='name']" position="after">
|
||||
<field name="department_phone"/>
|
||||
<field name="department_code"/>
|
||||
<field name="department_phone"/>
|
||||
<field name="department_fax" column_invisible="1"/>
|
||||
<field name="department_location"/>
|
||||
<field name="parent_id" string="上级部门"/>
|
||||
<field name="total_employee" string="员工数量"/>
|
||||
<field name="department_function" column_invisible="1"/>
|
||||
<field name="is_institution" column_invisible="1"/>
|
||||
<field name="is_global_department" column_invisible="1"/>
|
||||
<field name="create_time"/>
|
||||
<field name="end_time"/>
|
||||
<field name="start_date"/>
|
||||
<field name="expiration_date"/>
|
||||
</xpath>
|
||||
<field name="manager_id" position="attributes">
|
||||
<attribute name="column_invisible">1</attribute>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# email:pengyuthon@163.com
|
||||
|
||||
{
|
||||
'name': 'Yuthon hr apporval',
|
||||
'name': 'Yuthon Hr Apporval',
|
||||
'summary': '',
|
||||
'description': '''
|
||||
''',
|
||||
@@ -11,9 +11,10 @@
|
||||
'license': 'LGPL-3',
|
||||
'author': 'pengyuthon',
|
||||
'website': 'https://www.pengyuthon.com',
|
||||
'depends':['base', 'hr', 'hr_recruitment', 'yuthon_hr_employee', 'soong_workflow'],
|
||||
'depends':['base', 'hr', 'yuthon_hr_employee', 'soong_workflow', 'documents','hr_recruitment'],
|
||||
'data': [
|
||||
'security/ir.model.access.csv',
|
||||
'views/inherit_hr_job_views.xml',
|
||||
'views/yuthon_message_login_views.xml',
|
||||
'views/yuthon_onboard_approval_views.xml',
|
||||
'views/yuthon_enrollment_approval_views.xml',
|
||||
|
||||
@@ -0,0 +1,113 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<odoo>
|
||||
<record id="yuthon_account_approval_code" model="ir.sequence">
|
||||
<field name="name">薪资核算申请表-编号</field>
|
||||
<field name="code">yuthon_account_approval_code</field>
|
||||
<field name="prefix">XZ%(y)s%(month)s%(day)s</field>
|
||||
<field name="padding">3</field>
|
||||
</record>
|
||||
|
||||
<record id="yuthon_enrollment_approval_code" model="ir.sequence">
|
||||
<field name="name">参保方案申请表-编号</field>
|
||||
<field name="code">yuthon_enrollment_approval_code</field>
|
||||
<field name="prefix">CB%(y)s%(month)s%(day)s</field>
|
||||
<field name="padding">3</field>
|
||||
</record>
|
||||
|
||||
<record id="yuthon_interview_approval_code" model="ir.sequence">
|
||||
<field name="name">面试信息表-编号</field>
|
||||
<field name="code">yuthon_interview_approval_code</field>
|
||||
<field name="prefix">MS%(y)s%(month)s%(day)s</field>
|
||||
<field name="padding">3</field>
|
||||
</record>
|
||||
|
||||
<record id="yuthon_leaving_approval_code" model="ir.sequence">
|
||||
<field name="name">离职申请表-编号</field>
|
||||
<field name="code">yuthon_leaving_approval_code</field>
|
||||
<field name="prefix">LZ%(y)s%(month)s%(day)s</field>
|
||||
<field name="padding">3</field>
|
||||
</record>
|
||||
|
||||
<record id="yuthon_message_login_code" model="ir.sequence">
|
||||
<field name="name">个人信息登记表-编号</field>
|
||||
<field name="code">yuthon_message_login_code</field>
|
||||
<field name="prefix">GR%(y)s%(month)s%(day)s</field>
|
||||
<field name="padding">3</field>
|
||||
</record>
|
||||
|
||||
<record id="yuthon_onboard_approval_code" model="ir.sequence">
|
||||
<field name="name">入职申请表-编号</field>
|
||||
<field name="code">yuthon_onboard_approval_code</field>
|
||||
<field name="prefix">RZ%(y)s%(month)s%(day)s</field>
|
||||
<field name="padding">3</field>
|
||||
</record>
|
||||
|
||||
<record id="yuthon_prepare_approval_code" model="ir.sequence">
|
||||
<field name="name">编制调整需求表-编号</field>
|
||||
<field name="code">yuthon_prepare_approval_code</field>
|
||||
<field name="prefix">BZ%(y)s%(month)s%(day)s</field>
|
||||
<field name="padding">3</field>
|
||||
</record>
|
||||
|
||||
<record id="yuthon_rank_approval_code" model="ir.sequence">
|
||||
<field name="name">职级调整申请表-编号</field>
|
||||
<field name="code">yuthon_rank_approval_code</field>
|
||||
<field name="prefix">ZJ%(y)s%(month)s%(day)s</field>
|
||||
<field name="padding">3</field>
|
||||
</record>
|
||||
|
||||
<record id="yuthon_reassignment_approval_code" model="ir.sequence">
|
||||
<field name="name">调岗申请-编号</field>
|
||||
<field name="code">yuthon_reassignment_approval_code</field>
|
||||
<field name="prefix">TG%(y)s%(month)s%(day)s</field>
|
||||
<field name="padding">3</field>
|
||||
</record>
|
||||
|
||||
<record id="yuthon_recruitment_approval_code" model="ir.sequence">
|
||||
<field name="name">招聘需求申请表-编号</field>
|
||||
<field name="code">yuthon_recruitment_approval_code</field>
|
||||
<field name="prefix">ZP%(y)s%(month)s%(day)s</field>
|
||||
<field name="padding">3</field>
|
||||
</record>
|
||||
|
||||
<record id="yuthon_regularization_approval_code" model="ir.sequence">
|
||||
<field name="name">转正申请表-编号</field>
|
||||
<field name="code">yuthon_regularization_approval_code</field>
|
||||
<field name="prefix">ZZ%(y)s%(month)s%(day)s</field>
|
||||
<field name="padding">3</field>
|
||||
</record>
|
||||
|
||||
<record id="yuthon_salary_approval_code" model="ir.sequence">
|
||||
<field name="name">员工奖罚-编号</field>
|
||||
<field name="code">yuthon_salary_approval_code</field>
|
||||
<field name="prefix">YG%(y)s%(month)s%(day)s</field>
|
||||
<field name="padding">3</field>
|
||||
</record>
|
||||
<record id="yuthon_service_approval_code" model="ir.sequence">
|
||||
<field name="name">服务证明表-编号</field>
|
||||
<field name="code">yuthon_service_approval_code</field>
|
||||
<field name="prefix">FW%(y)s%(month)s%(day)s</field>
|
||||
<field name="padding">3</field>
|
||||
</record>
|
||||
|
||||
<record id="yuthon_system_approval_code" model="ir.sequence">
|
||||
<field name="name">制度调整申请表-编号</field>
|
||||
<field name="code">yuthon_system_approval_code</field>
|
||||
<field name="prefix">ZD%(y)s%(month)s%(day)s</field>
|
||||
<field name="padding">3</field>
|
||||
</record>
|
||||
|
||||
<record id="yuthon_title_approval_code" model="ir.sequence">
|
||||
<field name="name">职称聘任申请表-编号</field>
|
||||
<field name="code">yuthon_title_approval_code</field>
|
||||
<field name="prefix">PZ%(y)s%(month)s%(day)s</field>
|
||||
<field name="padding">3</field>
|
||||
</record>
|
||||
|
||||
<record id="yuthon_prepare_approval_code" model="ir.sequence">
|
||||
<field name="name">编制调整需求表-编号</field>
|
||||
<field name="code">yuthon_prepare_approval_code</field>
|
||||
<field name="prefix">BZ%(y)s%(month)s%(day)s</field>
|
||||
<field name="padding">3</field>
|
||||
</record>
|
||||
</odoo>
|
||||
@@ -1,3 +1,5 @@
|
||||
from . import hr_employee_page
|
||||
from . import inherit_hr_job
|
||||
from . import yuthon_message_login
|
||||
from . import yuthon_onboard_approval
|
||||
from . import yuthon_account_approval
|
||||
|
||||
@@ -2,63 +2,6 @@
|
||||
from odoo import api, fields, models, _
|
||||
|
||||
|
||||
class YuthonEmergencyContactLine(models.Model):
|
||||
_name = 'yuthon.emergency.contact.line'
|
||||
_description = "紧急联系人明细行"
|
||||
_inherit = ['soong_workflow', 'mail.activity.mixin']
|
||||
|
||||
employee_id = fields.Many2one('hr.employee', string="关联员工")
|
||||
message_login_id = fields.Many2one('yuthon.message.login', string="关联信息登记")
|
||||
name = fields.Char(string="姓名")
|
||||
user_sfz = fields.Char(string="身份证")
|
||||
user_relationship = fields.Selection([("parents", "父母"), ("children", "子女"), ("spouse", "配偶"), ("spouse", "其他")], string="关系")
|
||||
workplace = fields.Char(string="工作单位")
|
||||
post = fields.Char(string="岗位")
|
||||
phone_number = fields.Char(string="手机号")
|
||||
home_address = fields.Char(string="家庭住址")
|
||||
|
||||
|
||||
class YuthonWorkExperienceLine(models.Model):
|
||||
_name = 'yuthon.work.experience.line'
|
||||
_description = "工作经验明细行"
|
||||
|
||||
employee_id = fields.Many2one('hr.employee', string="关联员工")
|
||||
message_login_id = fields.Many2one('yuthon.message.login', string="关联信息登记")
|
||||
start_date = fields.Date(string="开始日期")
|
||||
end_date = fields.Date(string="结束日期")
|
||||
work_place = fields.Char(string="工作单位")
|
||||
post = fields.Char(string="岗位")
|
||||
contact_user = fields.Char(string="联系人")
|
||||
phone_number = fields.Char(string="联系人手机号")
|
||||
reason_leaving = fields.Char(string="离职原因")
|
||||
|
||||
|
||||
class YuthonEducationExperienceLine(models.Model):
|
||||
_name = 'yuthon.education.experience.line'
|
||||
_description = "教育经历明细行"
|
||||
|
||||
employee_id = fields.Many2one('hr.employee', string="关联员工")
|
||||
message_login_id = fields.Many2one('yuthon.message.login', string="关联信息登记")
|
||||
name_school = fields.Char(string="学校名称")
|
||||
start_date = fields.Date(string="入学时间")
|
||||
end_date = fields.Date(string="毕业时间")
|
||||
in_school_duties = fields.Char(string="在校职务")
|
||||
professional = fields.Char(string="专业")
|
||||
Part_time_degree = fields.Char(string="非全日制学历学位")
|
||||
full_time_degree = fields.Char(string="全日制学历学位")
|
||||
major_courses = fields.Char(string="主修课程")
|
||||
|
||||
|
||||
class YuthonSkillsCertificatesLine(models.Model):
|
||||
_name = 'yuthon.skills.certificates.line'
|
||||
_description = "技能证书管理明细行"
|
||||
|
||||
employee_id = fields.Many2one('hr.employee', string="关联员工")
|
||||
message_login_id = fields.Many2one('yuthon.message.login', string="关联信息登记")
|
||||
rank_name = fields.Char(string='职级名称')
|
||||
rank_type = fields.Char(string='职级类型')
|
||||
rank_time = fields.Date(string='职级时间')
|
||||
|
||||
|
||||
class YuthonPersonalSkillsSchedule(models.Model):
|
||||
_name = 'yuthon.personal.skills.schedule'
|
||||
@@ -88,10 +31,49 @@ class YuthonMostRecentWorkDetailLine(models.Model):
|
||||
_name = 'yuthon.recent.work.detail.line'
|
||||
_description = "最近工作经历明细行"
|
||||
|
||||
message_login_id = fields.Many2one('yuthon.message.login', string="关联信息登记") # 同上
|
||||
message_login_id = fields.Many2one('yuthon.message.login', string="关联信息登记")
|
||||
position = fields.Char(string='单位名称')
|
||||
post = fields.Char(string="岗位")
|
||||
last_department = fields.Char(string='部门')
|
||||
work_grades = fields.Char(string='工作内容成绩')
|
||||
last_training = fields.Char(string='培训')
|
||||
last_work_reason = fields.Char(string='离职原因')
|
||||
|
||||
class YuthonTrialScenarioDetailLine(models.Model):
|
||||
_name = 'yuthon.trial.scenario.detail.line'
|
||||
_description = "试用方案明细行 "
|
||||
|
||||
regularization_login_id = fields.Many2one('yuthon.regularization.approval', string="关联转正信息")
|
||||
job_responsibilities = fields.Char(string='工作职责')
|
||||
mission_objectives = fields.Char(string='工作任务与目标')
|
||||
completion_flag = fields.Char(string='工作完成标志')
|
||||
weight = fields.Integer(string='权重')
|
||||
completion_score = fields.Char(string='完成情况')
|
||||
assessment_scoring = fields.Char(string='考核评分')
|
||||
|
||||
|
||||
class YuthoJobRequirementDetailLine(models.Model):
|
||||
_name = 'yuthon.job.requirement.detail.line'
|
||||
_description = "任职要求明细行"
|
||||
|
||||
|
||||
qualifications_id = fields.Many2one('yuthon.requirement.approval', string="关联招聘需求")
|
||||
job_lv_work = fields.Many2one('hr.job.type', string="岗位类别")
|
||||
degree = fields.Selection([('high', '高中'), ('junior_college', '大专'), ('bachelor', '本科'),
|
||||
('master', '硕士'), ('doctor', '博士')], string="学历")
|
||||
sex = fields.Selection([('male', '男'), ('female', '女')], string="性别")
|
||||
specialty = fields.Char(string="专业")
|
||||
title = fields.Char(string="职称")
|
||||
admissions = fields.Char(string="执业资格")
|
||||
political_aspects = fields.Selection([('cpc_dang', '中共党员'), ('nld', '民盟'),
|
||||
('league_member', '共青团员'), ('people', '群众')], string="政治面貌")
|
||||
competency_require = fields.Char(string="能力要求")
|
||||
age = fields.Char(string="年龄")
|
||||
years_of_service = fields.Char(string="工作年限")
|
||||
|
||||
recruitment_ids = fields.One2many('hr.job', 'recruitment_approval_id', string="招聘申请")
|
||||
|
||||
class HrJobType(models.Model):
|
||||
_name = "hr.job.type"
|
||||
|
||||
name = fields.Char(string="类别名称")
|
||||
@@ -0,0 +1,83 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from odoo import api, fields, models, _
|
||||
from odoo.exceptions import UserError
|
||||
|
||||
class HrJob(models.Model):
|
||||
_inherit = "hr.job"
|
||||
|
||||
prepare_approval_id = fields.Many2one('yuthon.prepare.approval')
|
||||
recruitment_approval_id = fields.Many2one('yuthon.recruitment.approval')
|
||||
|
||||
is_pub = fields.Boolean(string="发布状态")
|
||||
|
||||
def pub_applicant_approval_button(self):
|
||||
"""
|
||||
发布需求审批流程
|
||||
"""
|
||||
for pub in self:
|
||||
if pub.is_pub == True:
|
||||
raise UserError('该岗位已提交需求申请')
|
||||
hr_job_ids = self.env["hr.job"].browse(self._context.get('active_ids', self._context.get('active_id')))
|
||||
hr_job_data = []
|
||||
for job in hr_job_ids:
|
||||
hr_job_data.append((0, 0, {
|
||||
'name': job.name,
|
||||
'department_id': job.department_id.id,
|
||||
'job_type_id': job.job_type_id.id,
|
||||
'job_lv_id': job.job_lv_id.name,
|
||||
'yuthon_company': job.yuthon_company,
|
||||
'establishment_quotas': job.establishment_quotas,
|
||||
'no_of_employee': job.no_of_employee,
|
||||
'compiling_external': job.compiling_external,
|
||||
'missing_number' : job.missing_number,
|
||||
'compiling_status' : job.compiling_status,
|
||||
'job_personnel' : job.job_personnel,
|
||||
'remarks' : job.remarks,
|
||||
}))
|
||||
form_id = self.env.ref("yuthon_hr_employee_approval.view_yuthon_recruitment_approval_form").id
|
||||
return {
|
||||
'type': 'ir.actions.act_window',
|
||||
'name': '提交岗位需求申请',
|
||||
'res_model': 'yuthon.recruitment.approval',
|
||||
"views": [[form_id, "form"]],
|
||||
"context": {
|
||||
'default_name': f'{self.department_id.name}部门需求申请表',
|
||||
'default_recruitment_ids': hr_job_data,
|
||||
}
|
||||
}
|
||||
|
||||
def pub_prepare_approval_button(self):
|
||||
"""
|
||||
发布编制调需求审批
|
||||
"""
|
||||
for pub in self:
|
||||
if pub.is_pub == True:
|
||||
raise UserError('该岗位编制调整需要已审批')
|
||||
hr_job_ids = self.env["hr.job"].browse(self._context.get('active_ids', self._context.get('active_id')))
|
||||
hr_job_data = []
|
||||
for job in hr_job_ids:
|
||||
hr_job_data.append((0, 0, {
|
||||
'name': job.name,
|
||||
'department_id': job.department_id.id,
|
||||
'job_type_id': job.job_type_id.id,
|
||||
'job_lv_id': job.job_lv_id.name,
|
||||
'yuthon_company': job.yuthon_company,
|
||||
'establishment_quotas': job.establishment_quotas,
|
||||
'no_of_employee': job.no_of_employee,
|
||||
'compiling_external': job.compiling_external,
|
||||
'missing_number': job.missing_number,
|
||||
'compiling_status': job.compiling_status,
|
||||
'job_personnel': job.job_personnel,
|
||||
'remarks': job.remarks,}
|
||||
))
|
||||
form_id = self.env.ref("yuthon_hr_employee_approval.view_yuthon_prepare_approval_form").id
|
||||
return {
|
||||
'type': 'ir.actions.act_window',
|
||||
'name': '提交岗位编制调整申请',
|
||||
'res_model': 'yuthon.prepare.approval',
|
||||
"views": [[form_id, "form"]],
|
||||
"context": {
|
||||
'default_name': f'{self.department_id.name}部门编制调制申请表',
|
||||
'default_adjust_information_ids': hr_job_data,
|
||||
}
|
||||
}
|
||||
@@ -8,4 +8,4 @@ class YuthonAccountApproval(models.Model):
|
||||
|
||||
|
||||
name = fields.Char(string='名称')
|
||||
|
||||
code = fields.Char(string="编号", default=lambda self: self.env['ir.sequence'].next_by_code('yuthon_account_approval_code'))
|
||||
|
||||
@@ -6,4 +6,7 @@ class YuthonEnrollmentApproval(models.Model):
|
||||
_description = '参保方案申请表'
|
||||
_inherit = 'soong.workflow.mixin'
|
||||
|
||||
name = fields.Char(string='名称')
|
||||
|
||||
name = fields.Char(string='名称')
|
||||
code = fields.Char(string="编号",
|
||||
default=lambda self: self.env['ir.sequence'].next_by_code('yuthon_enrollment_approval'))
|
||||
@@ -8,4 +8,4 @@ class YuthonInterviewApproval(models.Model):
|
||||
|
||||
|
||||
name = fields.Char(string='名称')
|
||||
|
||||
code = fields.Char(string="编号", default=lambda self: self.env['ir.sequence'].next_by_code('yuthon_interview_approval_code'))
|
||||
|
||||
@@ -8,4 +8,4 @@ class YuthonLeavingApproval(models.Model):
|
||||
|
||||
|
||||
name = fields.Char(string='名称')
|
||||
|
||||
code = fields.Char(string="编号", default=lambda self: self.env['ir.sequence'].next_by_code('yuthon_leaving_approval_code'))
|
||||
|
||||
@@ -16,10 +16,12 @@ class YuthonMessageLogin(models.Model):
|
||||
_name = 'yuthon.message.login'
|
||||
_description = "个人信息登记表"
|
||||
_rec_name = 'name'
|
||||
_inherit = 'soong.workflow.mixin'
|
||||
_inherit = ['soong.workflow.mixin','yuthon.emergency.contact.line','yuthon.work.experience.line','yuthon.education.experience.line']
|
||||
|
||||
#基本信息
|
||||
name = fields.Char(string='名称', default="人员信息登记表")
|
||||
code = fields.Char(string="编号",
|
||||
default=lambda self: self.env['ir.sequence'].next_by_code('yuthon_message_login_code'))
|
||||
staff_name = fields.Char(string='姓名')
|
||||
sex = fields.Selection([('male', '男'), ('female', '女')], string='性别')
|
||||
date_birth = fields.Date(string='出生年月')
|
||||
@@ -53,8 +55,8 @@ class YuthonMessageLogin(models.Model):
|
||||
|
||||
#最近工作情况
|
||||
last_work = fields.Char(string='单位名称')
|
||||
last_work_department = fields.Char(string='部门')
|
||||
last_work_position = fields.Char(string='岗位')
|
||||
last_work_department = fields.Many2one('hr.department', string="部门")
|
||||
last_work_position = fields.Many2one('hr.job', string="岗位")
|
||||
last_work_grades = fields.Char(string='工作内容成绩')
|
||||
last_work_training = fields.Char(string='接受的培训')
|
||||
last_work_reason = fields.Char(string='离职原因')
|
||||
|
||||
@@ -14,12 +14,15 @@ nation_list = [('a', '汉族'), ('b', '壮族'), ('v', '满族'), ('d', '回族'
|
||||
class YuthonOnboardApproval(models.Model):
|
||||
_name = 'yuthon.onboard.approval'
|
||||
_description = "入职申请表"
|
||||
_inherit = 'soong.workflow.mixin'
|
||||
_inherit = ['soong.workflow.mixin']
|
||||
|
||||
|
||||
name = fields.Char(string='名称', default='入职申请表')
|
||||
code = fields.Char(string="编号",
|
||||
default=lambda self: self.env['ir.sequence'].next_by_code('yuthon_onboard_approval_code'))
|
||||
worker_name = fields.Char(string='姓名')
|
||||
company = fields.Many2one('res.company', string='公司')
|
||||
yuthon_company = fields.Selection([('thtz', '天河投资集团'), ('thwg', '天河物管'),
|
||||
('thlc', '天河粮储'), ('tctj', '天投城建')], string="所属公司")
|
||||
date_birth = fields.Date(string='出生年月')
|
||||
nation = fields.Selection(nation_list, string='民族')
|
||||
grades = fields.Many2one('yuthon.job.lv', string='职级')
|
||||
@@ -32,4 +35,3 @@ class YuthonOnboardApproval(models.Model):
|
||||
('two', '两个月'), ('three', '三个月'), ('year', '一年')], string='试用期')
|
||||
contract_start = fields.Date(string='合同开始日期')
|
||||
contract_end = fields.Date(string='合同结束日期')
|
||||
select_company = fields.Many2one('res.company', string='选择入职公司')
|
||||
@@ -7,4 +7,15 @@ class YuthonPrepareApproval(models.Model):
|
||||
_inherit = 'soong.workflow.mixin'
|
||||
|
||||
|
||||
name = fields.Char(string='名称')
|
||||
|
||||
name = fields.Char(string='名称')
|
||||
code = fields.Char(string="编号",
|
||||
default=lambda self: self.env['ir.sequence'].next_by_code('yuthon_prepare_approval_code'))
|
||||
subordinate_companies = fields.Selection([('thtz', '天河投资集团'), ('thwg', '天河物管'),
|
||||
('thlc', '天河粮储'), ('tctj', '天投城建')], string="所属公司")
|
||||
department_id = fields.Many2one("hr.department", string="部门", required=True)
|
||||
reason = fields.Char(string="事由")
|
||||
notice_documents_ids = fields.Many2many('documents.document', string="附件")
|
||||
|
||||
|
||||
adjust_information_ids = fields.One2many('hr.job', 'prepare_approval_id', string="调整信息")
|
||||
@@ -7,4 +7,7 @@ class YuthonRankApproval(models.Model):
|
||||
_inherit = 'soong.workflow.mixin'
|
||||
|
||||
|
||||
|
||||
name = fields.Char(string='名称')
|
||||
code = fields.Char(string="编号",
|
||||
default=lambda self: self.env['ir.sequence'].next_by_code('yuthon_rank_approval_code'))
|
||||
|
||||
@@ -7,4 +7,7 @@ class YuthonReassignmentApproval(models.Model):
|
||||
_inherit = 'soong.workflow.mixin'
|
||||
|
||||
|
||||
|
||||
name = fields.Char(string='名称')
|
||||
code = fields.Char(string="编号",
|
||||
default=lambda self: self.env['ir.sequence'].next_by_code('yuthon_reassignment_approval_code'))
|
||||
|
||||
@@ -7,4 +7,27 @@ class YuthonRecruitmentApproval(models.Model):
|
||||
_inherit = 'soong.workflow.mixin'
|
||||
|
||||
|
||||
name = fields.Char(string='名称')
|
||||
|
||||
name = fields.Char(string='名称')
|
||||
workers_name = fields.Char(string='姓名')
|
||||
code = fields.Char(string="编号", default=lambda self: self.env['ir.sequence'].next_by_code('yuthon_recruitment_approval_code'))
|
||||
subordinate_companies = fields.Selection([('thtz', '天河投资集团'), ('thwg', '天河物管'),
|
||||
('thlc', '天河粮储'), ('tctj', '天投城建')], string="所属公司")
|
||||
department_id = fields.Many2one("hr.department", string="部门", required=True)
|
||||
reason = fields.Char(string="事由")
|
||||
notice_documents_ids = fields.Many2many('documents.document', string="附件")
|
||||
degree = fields.Selection([('high', '高中'), ('junior_college', '大专'), ('bachelor', '本科'),
|
||||
('master', '硕士'), ('doctor', '博士')], string="学历")
|
||||
sex = fields.Selection([('male', '男'), ('female', '女')], string="性别")
|
||||
specialty = fields.Char(string="专业")
|
||||
title = fields.Char(string="职称")
|
||||
admissions = fields.Char(string="执业资格")
|
||||
political_aspects = fields.Selection([('cpc_dang', '中共党员'), ('nld', '民盟'),
|
||||
('league_member', '共青团员'), ('people', '群众')], string="政治面貌")
|
||||
competency_require = fields.Char(string="能力要求")
|
||||
age = fields.Char(string="年龄")
|
||||
years_of_service = fields.Char(string="工作年限")
|
||||
|
||||
recruitment_ids = fields.One2many('hr.job', 'recruitment_approval_id', string="招聘申请")
|
||||
qualifications_ids = fields.One2many('yuthon.job.requirement.detail.line', 'qualifications_id', string="应聘人员")
|
||||
|
||||
|
||||
@@ -7,4 +7,47 @@ class YuthonRegularizationPrepareApproval(models.Model):
|
||||
_inherit = 'soong.workflow.mixin'
|
||||
|
||||
|
||||
|
||||
#员工信息
|
||||
name = fields.Char(string='名称')
|
||||
code = fields.Char(string="编号",
|
||||
default=lambda self: self.env['ir.sequence'].next_by_code('yuthon_regularization_approval_code'))
|
||||
employee_name = fields.Many2one('hr.employee',string='员工姓名')
|
||||
department_id = fields.Many2one("hr.department", string="任职部门", required=True)
|
||||
job_id = fields.Many2one('hr.job', string="主岗")
|
||||
job = fields.Char(string="职务")
|
||||
partner_name = fields.Char(string="任职单位")
|
||||
job_type_id = fields.Many2one('hr.job.type', string="岗位类别")
|
||||
job_lv_id = fields.Many2one('yuthon.job.lv', string="职级")
|
||||
onboarding_time = fields.Date(string="入职时间")
|
||||
trial_end_date = fields.Date(string="试用期结束日期")
|
||||
straight_online = fields.Char(string="直线上级")
|
||||
business_leader = fields.Char(string="业务线上级")
|
||||
#
|
||||
#转正考核
|
||||
job_coach = fields.Char(string="工作指导人一")
|
||||
job_coach2 = fields.Char(string="工作指导人二")
|
||||
scoring_system = fields.Char(string="评分分制")
|
||||
appraisal_total = fields.Char(string="考核权重合计")
|
||||
trial_scores = fields.Char(string="试用考核得分")
|
||||
assessment_date = fields.Date(string="自评日期")
|
||||
self_evaluation = fields.Text(string="自我评价")
|
||||
employee_pros = fields.Text(string="员工优点")
|
||||
improvements = fields.Text(string="需改进事项")
|
||||
notice_documents_ids = fields.Many2many('documents.document', string="考核文档")
|
||||
|
||||
#转正结果
|
||||
positive_results = fields.Char(string="转正结果")
|
||||
positive_date = fields.Date(string="转正日期")
|
||||
is_salary_adjustments = fields.Boolean(string="是否调整薪资")
|
||||
related_notes = fields.Text(string="转正相关说明")
|
||||
|
||||
|
||||
|
||||
#试用信息明细行
|
||||
trial_assessment_ids = fields.One2many('yuthon.trial.scenario.detail.line', 'regularization_login_id', string="试用期考核方案",help='请选择适用本人主岗的试用考核方案,或直接在下方填写')
|
||||
|
||||
class HrJobType(models.Model):
|
||||
_name = "hr.job.type"
|
||||
|
||||
name = fields.Char(string="类别名称")
|
||||
|
||||
@@ -7,4 +7,7 @@ class YuthonRewardApproval(models.Model):
|
||||
_inherit = 'soong.workflow.mixin'
|
||||
|
||||
|
||||
|
||||
name = fields.Char(string='名称')
|
||||
code = fields.Char(string="编号",
|
||||
default=lambda self: self.env['ir.sequence'].next_by_code('yuthon_prepare_approval_code'))
|
||||
@@ -7,5 +7,7 @@ class YuthonSalaryApproval(models.Model):
|
||||
_inherit = 'soong.workflow.mixin'
|
||||
|
||||
|
||||
name = fields.Char(string='名称')
|
||||
|
||||
name = fields.Char(string='名称')
|
||||
code = fields.Char(string="编号",
|
||||
default=lambda self: self.env['ir.sequence'].next_by_code('yuthon_salary_approval_code'))
|
||||
|
||||
@@ -7,4 +7,7 @@ class YuthonServiceApproval(models.Model):
|
||||
_inherit = 'soong.workflow.mixin'
|
||||
|
||||
|
||||
|
||||
name = fields.Char(string='名称')
|
||||
code = fields.Char(string="编号",
|
||||
default=lambda self: self.env['ir.sequence'].next_by_code('yuthon_service_approval_code'))
|
||||
@@ -7,5 +7,7 @@ class YuthonSystemTitleApproval(models.Model):
|
||||
_inherit = 'soong.workflow.mixin'
|
||||
|
||||
|
||||
name = fields.Char(string='名称')
|
||||
|
||||
name = fields.Char(string='名称')
|
||||
code = fields.Char(string="编号",
|
||||
default=lambda self: self.env['ir.sequence'].next_by_code('yuthon_system_approval_code'))
|
||||
|
||||
@@ -7,4 +7,7 @@ class YuthonTitleApproval(models.Model):
|
||||
_inherit = 'soong.workflow.mixin'
|
||||
|
||||
|
||||
|
||||
name = fields.Char(string='名称')
|
||||
code = fields.Char(string="编号",
|
||||
default=lambda self: self.env['ir.sequence'].next_by_code('yuthon_title_approval_code'))
|
||||
@@ -15,3 +15,7 @@ access_yuthon_salary_approval,yuthon_salary_approval,model_yuthon_salary_approva
|
||||
access_yuthon_service_approval,yuthon_service_approval,model_yuthon_service_approval,base.group_user,1,1,1,1
|
||||
access_yuthon_system_approval,yuthon_system_approval,model_yuthon_system_approval,base.group_user,1,1,1,1
|
||||
access_yuthon_title_approval,yuthon_title_approval,model_yuthon_title_approval,base.group_user,1,1,1,1
|
||||
access_yuthon_personal_skills_schedule,yuthon_personal_skills_schedule,model_yuthon_personal_skills_schedule,base.group_user,1,1,1,1
|
||||
access_yuthon_directly_detail_lines,yuthon_directly_detail_lines,model_yuthon_directly_detail_lines,base.group_user,1,1,1,1
|
||||
access_yuthon_recent_work_detail_line,yuthon_recent_work_detail_line,model_yuthon_recent_work_detail_line,base.group_user,1,1,1,1
|
||||
access_yuthon_trial_scenario_detail_line,yuthon_trial_scenario_detail_line,model_yuthon_trial_scenario_detail_line,base.group_user,1,1,1,1
|
||||
|
||||
|
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<odoo>
|
||||
<record id="inherit_hr_job_approval_tree" model="ir.ui.view">
|
||||
<field name="name">inherit.hr.job.approval.tree</field>
|
||||
<field name="model">hr.job</field>
|
||||
<field name="inherit_id" ref="hr.view_hr_job_tree"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="." position="inside">
|
||||
<header>
|
||||
<button name="pub_applicant_approval_button" string="提交需求申请" type="object"/>
|
||||
<button name="pub_prepare_approval_button" string="提交岗位编制调整申请" type="object"/>
|
||||
</header>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="hr_job_approval_inherit_form" model="ir.ui.view">
|
||||
<field name="name">hr.job.approval.inherit.form</field>
|
||||
<field name="model">hr.job</field>
|
||||
<field name="inherit_id" ref="hr.view_hr_job_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<div name="recruitment_target" position="after">
|
||||
<field name="is_pub"/>
|
||||
</div>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="hr_recruitment.action_hr_job" model="ir.actions.act_window">
|
||||
<field name="domain">[('is_pub','=',True)]</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
||||
@@ -2,89 +2,97 @@
|
||||
|
||||
<odoo>
|
||||
<data>
|
||||
<!--招聘管理-->
|
||||
<menuitem id="hr_process_work_job"
|
||||
name="流程"
|
||||
parent="hr_recruitment.menu_hr_recruitment_root"
|
||||
sequence="7"/>
|
||||
<menuitem id="hr_menu_recruitment_approval"
|
||||
name="招聘需求申请表"
|
||||
parent="hr_process_work_job"
|
||||
action="yuthon_recruitment_approval_action"
|
||||
sequence="1"/>
|
||||
<menuitem id="hr_menu_interview_approval"
|
||||
name="面试信息表"
|
||||
parent="hr_process_work_job"
|
||||
action="yuthon_interview_approval_action"
|
||||
sequence="3"/>
|
||||
<menuitem id="hr_menu_onboard_approval"
|
||||
name="入职申请表"
|
||||
parent="hr_process_work_job"
|
||||
action="yuthon_onboard_approval_action"
|
||||
sequence="5"/>
|
||||
<menuitem id="hr_menu_message_login"
|
||||
name="个人信息登记表"
|
||||
parent="hr_process_work_job"
|
||||
action="yuthon_message_login_action"
|
||||
sequence="7"/>
|
||||
|
||||
|
||||
<!--人事管理 -->
|
||||
<menuitem id="hr_set_process_menu"
|
||||
name="流程"
|
||||
parent="hr.menu_hr_root"
|
||||
sequence="7"/>
|
||||
<menuitem id="hr_menu_message_login"
|
||||
name="个人信息登记表"
|
||||
parent="hr_set_process_menu"
|
||||
action="yuthon_message_login_action"
|
||||
sequence="1"/>
|
||||
<menuitem id="hr_menu_onboard_approval"
|
||||
name="入职申请表"
|
||||
parent="hr_set_process_menu"
|
||||
action="yuthon_onboard_approval_action"
|
||||
sequence="3"/>
|
||||
<menuitem id="hr_menu_account_approval"
|
||||
name="职称聘任申请表"
|
||||
parent="hr_set_process_menu"
|
||||
action="yuthon_account_approval_action"
|
||||
sequence="5"/>
|
||||
<menuitem id="hr_menu_interview_approval"
|
||||
name="面试信息表"
|
||||
parent="hr_set_process_menu"
|
||||
action="yuthon_interview_approval_action"
|
||||
sequence="7"/>
|
||||
sequence="1"/>
|
||||
<menuitem id="hr_menu_leaving_approval"
|
||||
name="离职申请表"
|
||||
parent="hr_set_process_menu"
|
||||
action="yuthon_leaving_approval_action"
|
||||
sequence="9"/>
|
||||
sequence="3"/>
|
||||
<menuitem id="hr_menu_prepare_approval"
|
||||
name="编制调整申请表"
|
||||
parent="hr_set_process_menu"
|
||||
action="yuthon_prepare_approval_action"
|
||||
sequence="11"/>
|
||||
sequence="5"/>
|
||||
<menuitem id="hr_menu_rank_approval"
|
||||
name="职级调整申请表"
|
||||
parent="hr_set_process_menu"
|
||||
action="yuthon_rank_approval_action"
|
||||
sequence="13"/>
|
||||
sequence="7"/>
|
||||
<menuitem id="hr_menu_reassignment_approval"
|
||||
name="调岗申请"
|
||||
parent="hr_set_process_menu"
|
||||
action="yuthon_reassignment_approval_action"
|
||||
sequence="15"/>
|
||||
<menuitem id="hr_menu_recruitment_approval"
|
||||
name="招聘需求申请表"
|
||||
parent="hr_set_process_menu"
|
||||
action="yuthon_recruitment_approval_action"
|
||||
sequence="17"/>
|
||||
sequence="9"/>
|
||||
<menuitem id="hr_menu_reward_approval"
|
||||
name="员工奖罚"
|
||||
parent="hr_set_process_menu"
|
||||
action="yuthon_reward_approval_action"
|
||||
sequence="19"/>
|
||||
sequence="11"/>
|
||||
<menuitem id="hr_menu_regularization_approval"
|
||||
name="转正申请表"
|
||||
parent="hr_set_process_menu"
|
||||
action="yuthon_regularization_approval_action"
|
||||
sequence="21"/>
|
||||
sequence="13"/>
|
||||
<menuitem id="hr_menu_salary_approval"
|
||||
name="薪酬项目调整表"
|
||||
parent="hr_set_process_menu"
|
||||
action="yuthon_salary_approval_action"
|
||||
sequence="23"/>
|
||||
sequence="15"/>
|
||||
<menuitem id="hr_menu_service_approval"
|
||||
name="服务证明表"
|
||||
parent="hr_set_process_menu"
|
||||
action="yuthon_service_approval_action"
|
||||
sequence="25"/>
|
||||
sequence="17"/>
|
||||
<menuitem id="hr_menu_system_approval"
|
||||
name="制度调整申请表"
|
||||
parent="hr_set_process_menu"
|
||||
action="yuthon_system_approval_action"
|
||||
sequence="27"/>
|
||||
sequence="19"/>
|
||||
<menuitem id="hr_menu_title_approval"
|
||||
name="职称聘任申请表"
|
||||
parent="hr_set_process_menu"
|
||||
action="yuthon_title_approval_action"
|
||||
sequence="29"/>
|
||||
sequence="21"/>
|
||||
<menuitem id="hr_menu_enrollment_approval"
|
||||
name="参保方案申请表"
|
||||
parent="hr_set_process_menu"
|
||||
action="yuthon_enrollment_approval_action"
|
||||
sequence="31"/>
|
||||
sequence="23"/>
|
||||
</data>
|
||||
</odoo>
|
||||
@@ -6,6 +6,7 @@
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -6,7 +6,8 @@
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<field name="name"/>
|
||||
<field name="company"/>
|
||||
<field name="code"/>
|
||||
<field name="yuthon_company"/>
|
||||
<field name="date_birth"/>
|
||||
<field name="political"/>
|
||||
<field name="education"/>
|
||||
@@ -28,9 +29,8 @@
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="worker_name" required="1"/>
|
||||
<field name="company"/>
|
||||
<field name="yuthon_company"/>
|
||||
<field name="date_birth"/>
|
||||
<field name="select_company"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="nation"/>
|
||||
|
||||
@@ -15,9 +15,39 @@
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="name"/>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
<field name="name"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group col="2">
|
||||
<group>
|
||||
<field name="subordinate_companies"/>
|
||||
<field name="department_id"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="reason"/>
|
||||
<field name="notice_documents_ids" widget="many2many_tags"/>
|
||||
</group>
|
||||
</group>
|
||||
<field name="adjust_information_ids">
|
||||
<tree editable="bottom">
|
||||
<field name="name"/>
|
||||
<field name="prepare_approval_id" column_invisible="1"/>
|
||||
<field name="department_id"/>
|
||||
<field name="company_id" column_invisible="1"/>
|
||||
<field name="job_type_id"/>
|
||||
<field name="job_lv_id"/>
|
||||
<field name="yuthon_company"/>
|
||||
<field name="establishment_quotas"/>
|
||||
<field name="no_of_employee"/>
|
||||
<field name="compiling_external"/>
|
||||
<field name="missing_number"/>
|
||||
<field name="compiling_status"/>
|
||||
<field name="job_personnel"/>
|
||||
<field name="remarks"/>
|
||||
</tree>
|
||||
</field>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -5,7 +5,16 @@
|
||||
<field name="model">yuthon.recruitment.approval</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<field name="name"/>
|
||||
<field name="workers_name"/>
|
||||
<field name="code"/>
|
||||
<field name="degree"/>
|
||||
<field name="subordinate_companies"/>
|
||||
<field name="department_id"/>
|
||||
<field name="specialty"/>
|
||||
<field name="title"/>
|
||||
<field name="admissions"/>
|
||||
<field name="years_of_service"/>
|
||||
<field name="competency_require"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
@@ -15,9 +24,55 @@
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="name"/>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
<field name="name"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group col="2">
|
||||
<group>
|
||||
<field name="subordinate_companies"/>
|
||||
<field name="department_id"/>
|
||||
<field name="code"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="reason"/>
|
||||
<field name="notice_documents_ids" widget="many2many_tags"/>
|
||||
</group>
|
||||
</group>
|
||||
<field name="recruitment_ids">
|
||||
<tree editable="bottom">
|
||||
<field name="name"/>
|
||||
<field name="recruitment_approval_id" column_invisible="1"/>
|
||||
<field name="department_id"/>
|
||||
<field name="company_id" column_invisible="1"/>
|
||||
<field name="job_type_id"/>
|
||||
<field name="job_lv_id"/>
|
||||
<field name="yuthon_company"/>
|
||||
<field name="establishment_quotas"/>
|
||||
<field name="no_of_employee"/>
|
||||
<field name="compiling_external"/>
|
||||
<field name="missing_number"/>
|
||||
<field name="compiling_status"/>
|
||||
<field name="job_personnel"/>
|
||||
<field name="remarks"/>
|
||||
</tree>
|
||||
</field>
|
||||
<field name="qualifications_ids">
|
||||
<tree editable="bottom">
|
||||
<field name="job_lv_work"/>
|
||||
<field name="degree"/>
|
||||
<field name="qualifications_id" column_invisible="1"/>
|
||||
<field name="sex"/>
|
||||
<field name="specialty"/>
|
||||
<field name="title"/>
|
||||
<field name="admissions"/>
|
||||
<field name="political_aspects"/>
|
||||
<field name="age"/>
|
||||
<field name="years_of_service"/>
|
||||
<field name="competency_require"/>
|
||||
</tree>
|
||||
</field>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
@@ -25,7 +80,7 @@
|
||||
|
||||
|
||||
<record id="yuthon_recruitment_approval_action" model="ir.actions.act_window">
|
||||
<field name="name">待开发</field>
|
||||
<field name="name">招聘需要申请表</field>
|
||||
<field name="res_model">yuthon.recruitment.approval</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
@@ -15,8 +16,78 @@
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="name"/>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
<field name="name"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group string="员工信息" col="4">
|
||||
<group>
|
||||
<field name="employee_name" required="1"/>
|
||||
<field name="partner_name"/>
|
||||
<field name="onboarding_time"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="department_id"/>
|
||||
<field name="trial_end_date"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="job_id"/>
|
||||
<field name="job_type_id"/>
|
||||
<field name="straight_online"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="job"/>
|
||||
<field name="job_lv_id"/>
|
||||
<field name="business_leader"/>
|
||||
</group>
|
||||
</group>
|
||||
<group string="转正考核" col="4">
|
||||
<group>
|
||||
<field name="job_coach"/>
|
||||
<field name="trial_scores"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="job_coach2"/>
|
||||
<field name="assessment_date"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="scoring_system"/>
|
||||
<field name="notice_documents_ids" widget="many2many_tags"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="appraisal_total"/>
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
<field name="trial_assessment_ids">
|
||||
<tree editable="bottom">
|
||||
<field name="job_responsibilities" required="1"/>
|
||||
<field name="regularization_login_id" column_invisible="1"/>
|
||||
<field name="mission_objectives"/>
|
||||
<field name="completion_flag"/>
|
||||
<field name="weight"/>
|
||||
<field name="completion_score"/>
|
||||
<field name="assessment_scoring"/>
|
||||
</tree>
|
||||
</field>
|
||||
<group>
|
||||
<field name="self_evaluation"/>
|
||||
<field name="employee_pros"/>
|
||||
<field name="improvements"/>
|
||||
</group>
|
||||
</group>
|
||||
<group col="3" string="转正结果">
|
||||
<group>
|
||||
<field name="positive_results"/>
|
||||
<field name="related_notes"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="positive_date"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="is_salary_adjustments"/>
|
||||
</group>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<odoo>
|
||||
<!-- 招聘 -->
|
||||
<record id="hr_recruitment.menu_hr_recruitment_root" model="ir.ui.menu">
|
||||
<field name="active">False</field>
|
||||
</record>
|
||||
<!-- 人事 -->
|
||||
<!-- <record id="hr.menu_hr_root" model="ir.ui.menu">-->
|
||||
<!-- <record id="hr_recruitment.menu_hr_recruitment_root" model="ir.ui.menu">-->
|
||||
<!-- <field name="active">False</field>-->
|
||||
<!-- </record>-->
|
||||
<!-- 人事 -->
|
||||
<record id="hr.menu_hr_root" model="ir.ui.menu">
|
||||
<field name="active">False</field>
|
||||
</record>
|
||||
<!-- 出勤 -->
|
||||
<record id="hr_attendance.menu_hr_attendance_root" model="ir.ui.menu">
|
||||
<field name="active">False</field>
|
||||
@@ -53,7 +53,7 @@
|
||||
<menuitem id="hr_recruitment_setting_menu_board"
|
||||
name="配置"
|
||||
parent="hr_recruitment_menu_root_board"
|
||||
sequence="5"/>
|
||||
sequence="7"/>
|
||||
<menuitem id="hr_recruitment_set_menu_board"
|
||||
name="设置"
|
||||
parent="hr_recruitment_setting_menu_board"
|
||||
@@ -63,6 +63,30 @@
|
||||
name="工作岗位"
|
||||
parent="hr_recruitment_menu_root_board"
|
||||
sequence="3"/>
|
||||
<menuitem id="hr_process_work_job_menu_board"
|
||||
name="流程"
|
||||
parent="hr_recruitment_menu_root_board"
|
||||
sequence="5"/>
|
||||
<menuitem id="hr_menu_recruitment_approval"
|
||||
name="招聘需求申请表"
|
||||
parent="hr_process_work_job_menu_board"
|
||||
action="yuthon_hr_employee_approval.yuthon_recruitment_approval_action"
|
||||
sequence="3"/>
|
||||
<menuitem id="hr_menu_interview_approval_root_board"
|
||||
name="面试信息表"
|
||||
parent="hr_process_work_job_menu_board"
|
||||
action="yuthon_none_action"
|
||||
sequence="5"/>
|
||||
<menuitem id="hr_process_onboard_menu_root_board"
|
||||
name="入职申请表"
|
||||
parent="hr_process_work_job_menu_board"
|
||||
action="yuthon_hr_employee_approval.yuthon_onboard_approval_action"
|
||||
sequence="7"/>
|
||||
<menuitem id="hr_process_manage_menu_root_board"
|
||||
name="个人信息登记表"
|
||||
parent="hr_process_work_job_menu_board"
|
||||
action="yuthon_hr_employee_approval.yuthon_message_login_action"
|
||||
sequence="9"/>
|
||||
<menuitem id="hr_recruit_post_menu_root_board"
|
||||
name="工作岗位"
|
||||
parent="hr_recruitment_work_job_menu_board"
|
||||
@@ -149,86 +173,66 @@
|
||||
name="流程"
|
||||
parent="hr_menu_root_board"
|
||||
sequence="7"/>
|
||||
<menuitem id="hr_process_onboard_menu_root_board"
|
||||
name="入职申请"
|
||||
parent="hr_set_process_menu_root_board"
|
||||
action="yuthon_hr_employee_approval.yuthon_onboard_approval_action"
|
||||
sequence="1"/>
|
||||
<menuitem id="hr_process_manage_menu_root_board"
|
||||
name="信息登记"
|
||||
parent="hr_set_process_menu_root_board"
|
||||
action="yuthon_hr_employee_approval.yuthon_message_login_action"
|
||||
sequence="3"/>
|
||||
<menuitem id="hr_menu_account_approval_root_board"
|
||||
name="薪资核算申请表"
|
||||
parent="hr_set_process_menu_root_board"
|
||||
action="yuthon_none_action"
|
||||
sequence="5"/>
|
||||
<menuitem id="hr_menu_interview_approval_root_board"
|
||||
name="面试信息表"
|
||||
parent="hr_set_process_menu_root_board"
|
||||
action="yuthon_none_action"
|
||||
sequence="7"/>
|
||||
sequence="1"/>
|
||||
<menuitem id="hr_menu_leaving_approval_root_board"
|
||||
name="离职申请表"
|
||||
parent="hr_set_process_menu_root_board"
|
||||
action="yuthon_none_action"
|
||||
sequence="9"/>
|
||||
sequence="3"/>
|
||||
<menuitem id="hr_menu_prepare_approval_root_board"
|
||||
name="编制调整申请表"
|
||||
parent="hr_set_process_menu_root_board"
|
||||
action="yuthon_none_action"
|
||||
sequence="11"/>
|
||||
action="yuthon_hr_employee_approval.yuthon_prepare_approval_action"
|
||||
sequence="5"/>
|
||||
<menuitem id="hr_menu_rank_approval_root_board"
|
||||
name="职级调整申请表"
|
||||
parent="hr_set_process_menu_root_board"
|
||||
action="yuthon_none_action"
|
||||
sequence="13"/>
|
||||
sequence="7"/>
|
||||
<menuitem id="hr_menu_reassignment_approval_root_board"
|
||||
name="调岗申请"
|
||||
parent="hr_set_process_menu_root_board"
|
||||
action="yuthon_none_action"
|
||||
sequence="15"/>
|
||||
<menuitem id="hr_menu_recruitment_approval_root_board"
|
||||
name="招聘需求申请表"
|
||||
parent="hr_set_process_menu_root_board"
|
||||
action="yuthon_none_action"
|
||||
sequence="17"/>
|
||||
sequence="9"/>
|
||||
<menuitem id="hr_menu_reward_approval_root_board"
|
||||
name="员工奖罚"
|
||||
parent="hr_set_process_menu_root_board"
|
||||
action="yuthon_none_action"
|
||||
sequence="19"/>
|
||||
sequence="11"/>
|
||||
<menuitem id="hr_menu_regularization_approval_root_board"
|
||||
name="转正申请表"
|
||||
parent="hr_set_process_menu_root_board"
|
||||
action="yuthon_none_action"
|
||||
sequence="21"/>
|
||||
sequence="13"/>
|
||||
<menuitem id="hr_menu_salary_approval_root_board"
|
||||
name="薪酬项目调整表"
|
||||
parent="hr_set_process_menu_root_board"
|
||||
action="yuthon_none_action"
|
||||
sequence="23"/>
|
||||
sequence="15"/>
|
||||
<menuitem id="hr_menu_service_approval_root_board"
|
||||
name="服务证明表"
|
||||
parent="hr_set_process_menu_root_board"
|
||||
action="yuthon_none_action"
|
||||
sequence="25"/>
|
||||
sequence="17"/>
|
||||
<menuitem id="hr_menu_system_approval_root_board"
|
||||
name="制度调整申请表"
|
||||
parent="hr_set_process_menu_root_board"
|
||||
action="yuthon_none_action"
|
||||
sequence="27"/>
|
||||
sequence="19"/>
|
||||
<menuitem id="hr_menu_title_approval_root_board"
|
||||
name="职称聘任申请表"
|
||||
parent="hr_set_process_menu_root_board"
|
||||
action="yuthon_none_action"
|
||||
sequence="29"/>
|
||||
sequence="21"/>
|
||||
<menuitem id="hr_menu_enrollment_approval_root_board"
|
||||
name="参保方案申请表"
|
||||
parent="hr_set_process_menu_root_board"
|
||||
action="yuthon_none_action"
|
||||
sequence="31"/>
|
||||
sequence="23"/>
|
||||
<menuitem id="hr_setting_menu_root_board"
|
||||
name="配置"
|
||||
parent="hr_menu_root_board"
|
||||
@@ -291,15 +295,6 @@
|
||||
parent="hr_set_resume_menu_root_board"
|
||||
action="hr_skills.hr_resume_type_action"
|
||||
sequence="1"/>
|
||||
<menuitem id="hr_set_recruitment_menu_root_board"
|
||||
name="招聘"
|
||||
parent="hr_setting_menu_root_board"
|
||||
sequence="5"/>
|
||||
<menuitem id="hr_recruit_type_menu_root_board"
|
||||
name="就业类型"
|
||||
parent="hr_set_recruitment_menu_root_board"
|
||||
action="hr.hr_contract_type_action"
|
||||
sequence="1"/>
|
||||
<menuitem id="hr_set_planning_menu_root_board"
|
||||
name="活动规划"
|
||||
parent="hr_setting_menu_root_board"
|
||||
|
||||
Reference in New Issue
Block a user