添加功能
This commit is contained in:
@@ -27,4 +27,5 @@ from . import yuthon_department_change
|
||||
from . import yuthon_renewal_approval
|
||||
from . import contract_review_approval
|
||||
from . import yuthon_employee_add
|
||||
from . import yuthon_pre_examination
|
||||
from . import yuthon_pre_examination
|
||||
from . import yuthon_employee_setting
|
||||
@@ -0,0 +1,9 @@
|
||||
from odoo import models, fields, api
|
||||
from dateutil.relativedelta import relativedelta
|
||||
|
||||
|
||||
class YuthonServiceType(models.Model):
|
||||
_name = 'yuthon.service.type'
|
||||
_description = '服务类型'
|
||||
|
||||
name = fields.Char(string="名称")
|
||||
@@ -10,20 +10,22 @@ class YuthonServiceApproval(models.Model):
|
||||
name = fields.Char(string='标题')
|
||||
code = fields.Char(string="编号",
|
||||
default=lambda self: self.env['ir.sequence'].next_by_code('yuthon_service_approval_code'))
|
||||
service_type = fields.Selection([('done', '在职证明'), ('leaving', '离职证明'), ('income', '收入证明')], string="服务类型")
|
||||
service_type_id = fields.Many2one('yuthon.service.type', string="服务类型")
|
||||
users_id = fields.Many2one('res.users', string="申请人", default=lambda self: self.env.user.id)
|
||||
documents_ids = fields.Many2many('ir.attachment', string="附件")
|
||||
department_id = fields.Many2one(related='users_id.employee_id.department_id', string="部门", store=True)
|
||||
employee_id = fields.Many2one('hr.employee', string="员工姓名")
|
||||
employee_id = fields.Many2one('hr.employee', string="员工姓名", default=lambda self: self.env.user.employee_id.id)
|
||||
company_id = fields.Many2one(related="users_id.employee_id.company_id", string="公司", store=True)
|
||||
tenant_user_card = fields.Many2one('ir.attachment', string="身份证")
|
||||
|
||||
onboarding_time = fields.Date(related='employee_id.open_start_time', string="入职时间")
|
||||
onboarding_time = fields.Date(related='employee_id.open_start_time', string="入职日期")
|
||||
job_id = fields.Many2one(related='employee_id.job_id', string="岗位")
|
||||
is_turnover = fields.Boolean()
|
||||
reason_issuance = fields.Char(string="开证原因")
|
||||
is_issues = fields.Boolean(string='是否上会')
|
||||
issues_result = fields.Html(string="会议结果")
|
||||
related_issues_id = fields.Many2one('issue.library', string="关联议题")
|
||||
separation_date = fields.Date(string="离职日期")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
active = fields.Boolean('Active', default=True, tracking=True)
|
||||
@@ -50,14 +52,13 @@ class YuthonServiceApproval(models.Model):
|
||||
'approval_date': fields.Datetime.now(),
|
||||
})
|
||||
|
||||
@api.onchange('service_type')
|
||||
@api.onchange('service_type_id')
|
||||
def _onchange_service_type(self):
|
||||
if self.service_type and self.users_id.name:
|
||||
# 创建一个映射表,将技术值映射到显示文本
|
||||
service_type_map = {
|
||||
'done': '在职证明',
|
||||
'leaving': '离职证明',
|
||||
'income': '收入证明'
|
||||
}
|
||||
service_display = service_type_map.get(self.service_type, self.service_type)
|
||||
self.name = f"{self.users_id.name}的{service_display}"
|
||||
if self.service_type_id and self.users_id.name:
|
||||
self.name = f"{self.users_id.name}的{self.service_type_id.name}"
|
||||
|
||||
if self.service_type_id.name == '离职证明':
|
||||
self.is_turnover = True
|
||||
else:
|
||||
self.is_turnover = False
|
||||
|
||||
|
||||
@@ -56,3 +56,4 @@ access_contract_review_approval,contract_review_approval,model_contract_review_a
|
||||
access_awards_line, awards_line,model_awards_line,base.group_user,1,1,1,1
|
||||
access_yuthon_employee_add,yuthon_employee_add,model_yuthon_employee_add,base.group_user,1,1,1,1
|
||||
access_yuthon_pre_examination,yuthon_pre_examination,model_yuthon_pre_examination,base.group_user,1,1,1,1
|
||||
access_yuthon_service_type,yuthon_service_type,model_yuthon_service_type,base.group_user,1,1,1,1
|
||||
|
||||
|
@@ -52,11 +52,13 @@
|
||||
<field name="reason_issuance"/>
|
||||
<field name="company_id" invisible="1"/>
|
||||
<field name="issues_result" invisible="is_issues == False"/>
|
||||
<field name="service_type"/>
|
||||
<field name="employee_id" widget="ztree_select"/>
|
||||
<field name="service_type_id"/>
|
||||
<field name="is_turnover" invisible="1"/>
|
||||
<field name="employee_id" domain="[('user_state', '=', 'leave')] if is_turnover else [('user_state', '=', 'in')]"/>
|
||||
<field name="job_id"/>
|
||||
<field name="department_id" invisible="1"/>
|
||||
<field name="department_id"/>
|
||||
<field name="onboarding_time"/>
|
||||
<field name="separation_date" invisible="not is_turnover"/>
|
||||
<field name="documents_ids" widget="preview_many2many"/>
|
||||
</group>
|
||||
</sheet>
|
||||
|
||||
Reference in New Issue
Block a user