添加功能
This commit is contained in:
@@ -9,18 +9,24 @@ class SoongWorkflowInspector(models.Model):
|
||||
_name = "soong.workflow.inspector"
|
||||
_description = "督查督办"
|
||||
|
||||
name = fields.Char(string="督办主题")
|
||||
start_data = fields.Date(string="开始日期")
|
||||
end_data = fields.Date(string="结束日期")
|
||||
name = fields.Char(string="标题")
|
||||
start_data = fields.Date(string="督办日期")
|
||||
end_data = fields.Date(string="完成日期")
|
||||
reason = fields.Html(string="正文")
|
||||
user_id = fields.Many2one('res.users', string="申请人", default=lambda self: self.env.user)
|
||||
department_id = fields.Many2one(related='user_id.department_id', string="部门")
|
||||
code = fields.Char(string="督办编号", default=lambda self: self.env['ir.sequence'].next_by_code('inspector_code'))
|
||||
department_id = fields.Many2one('hr.department', string="部门")
|
||||
inspector_importance = fields.Selection([('normal', '正常'), ('urgent', '紧急')], string="重要程度")
|
||||
department_ids = fields.Many2many('hr.department', string="督办部门")
|
||||
employee_ids = fields.Many2many('hr.employee', string="督办人员")
|
||||
inspector_html = fields.Html(string="督办内容")
|
||||
inspector_state = fields.Selection([('to_executed','待执行'),
|
||||
('executed','已执行'), ('finish', '已完成'), ('postponed', '延期')], string='督办状态', default='to_executed')
|
||||
inspector_text = fields.Text(string="督办要求")
|
||||
document_id = fields.Binary(string="附件")
|
||||
inspector_result = fields.Text(string="督办结果")
|
||||
remarks = fields.Text(string='备注')
|
||||
document_ids = fields.Many2many('ir.attachment', string="附件")
|
||||
inspector_line_ids = fields.One2many('soong.workflow.inspector.line', 'workflow_inspector_id', string='任务进度')
|
||||
inspector_line2_ids = fields.One2many('soong.workflow.inspector.line2', 'workflow_inspector_id', string='督办明细')
|
||||
attachment_ids = fields.Many2many('ir.attachment', string='Attachments')
|
||||
|
||||
relevancy_type = fields.Selection([('none', '无')], string="关联流程类型")
|
||||
|
||||
|
||||
@@ -48,22 +48,22 @@
|
||||
action="soong_workflow_inspector_action"
|
||||
parent="menu_soong_workflow_inspector"/>
|
||||
|
||||
<menuitem id="menu_soong_workflow_inspector_transact"
|
||||
sequence="3"
|
||||
name="督察办理"
|
||||
parent="menu_soong_workflow_inspector"/>
|
||||
<!-- <menuitem id="menu_soong_workflow_inspector_transact"-->
|
||||
<!-- sequence="3"-->
|
||||
<!-- name="督察办理"-->
|
||||
<!-- parent="menu_soong_workflow_inspector"/>-->
|
||||
<!-- 督办事项的表单 -->
|
||||
<menuitem id="menu_soong_workflow_inspector_transact_sth"
|
||||
sequence="1"
|
||||
name="督察事项"
|
||||
action="soong_workflow_inspector_line_action"
|
||||
parent="menu_soong_workflow_inspector_transact"/>
|
||||
<!-- <menuitem id="menu_soong_workflow_inspector_transact_sth"-->
|
||||
<!-- sequence="1"-->
|
||||
<!-- name="督察事项"-->
|
||||
<!-- action="soong_workflow_inspector_line_action"-->
|
||||
<!-- parent="menu_soong_workflow_inspector_transact"/>-->
|
||||
|
||||
<menuitem id="menu_soong_workflow_inspector_transact_my"
|
||||
sequence="3"
|
||||
name="我的任务"
|
||||
action="soong_workflow_inspector_line_action"
|
||||
parent="menu_soong_workflow_inspector_transact"/>
|
||||
<!-- <menuitem id="menu_soong_workflow_inspector_transact_my"-->
|
||||
<!-- sequence="3"-->
|
||||
<!-- name="我的任务"-->
|
||||
<!-- action="soong_workflow_inspector_line_action"-->
|
||||
<!-- parent="menu_soong_workflow_inspector_transact"/>-->
|
||||
|
||||
<menuitem id="menu_soong_other_setting"
|
||||
sequence="5"
|
||||
|
||||
@@ -8,13 +8,11 @@
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
<field name="department_id"/>
|
||||
<field name="inspector_importance"/>
|
||||
<field name="start_data"/>
|
||||
<field name="end_data"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="soong_workflow_inspector_form" model="ir.ui.view">
|
||||
<field name="name">soong.workflow.inspector.form</field>
|
||||
<field name="model">soong.workflow.inspector</field>
|
||||
@@ -22,60 +20,58 @@
|
||||
<form>
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="code" readonly="1" string="流水号:"/>
|
||||
</group>
|
||||
<group string="审批事项">
|
||||
<field name="name" required="1"/>
|
||||
<field name="reason"/>
|
||||
<field name="document_ids" widget="preview_many2many"/>
|
||||
</group>
|
||||
<group col="2" >
|
||||
<group>
|
||||
<field name="department_ids" widget="many2many_tags"/>
|
||||
<field name="start_data"/>
|
||||
<field name="inspector_state"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="name" required="1"/>
|
||||
<field name="department_id"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="code"/>
|
||||
<field name="inspector_importance"/>
|
||||
<label for="start_data"/>
|
||||
<div>
|
||||
<field name="start_data" class="oe_inline"/>至
|
||||
<field name="end_data" class="oe_inline"/>
|
||||
</div>
|
||||
</group>
|
||||
<field name="employee_ids" widget="many2many_tags"/>
|
||||
<field name="end_data"/>
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
<field name="inspector_html"/>
|
||||
<field name="inspector_text"/>
|
||||
<field name="inspector_result"/>
|
||||
<field name="remarks"/>
|
||||
</group>
|
||||
<!-- </group>-->
|
||||
<!-- <group>-->
|
||||
<!-- <field name="inspector_line2_ids">-->
|
||||
<!-- <tree>-->
|
||||
<!-- <field name="workflow_inspector_id" column_invisible="1"/>-->
|
||||
<!-- <field name="department_id"/>-->
|
||||
<!-- <field name="employee_id"/>-->
|
||||
<!-- <field name="end_data"/>-->
|
||||
<!-- <field name="inspector_line_text"/>-->
|
||||
<!-- </tree>-->
|
||||
<!-- </field>-->
|
||||
<!-- </group>-->
|
||||
<!-- <notebook>-->
|
||||
<!-- <page string="任务进度">-->
|
||||
<!-- <field name="inspector_line_ids">-->
|
||||
<!-- <tree>-->
|
||||
<!-- <field name="workflow_inspector_id" column_invisible="1"/>-->
|
||||
<!-- <field name="task_text"/>-->
|
||||
<!-- <field name="end_data"/>-->
|
||||
<!-- <field name="task_state"/>-->
|
||||
<!-- </tree>-->
|
||||
<!-- </field>-->
|
||||
<!-- </page>-->
|
||||
<group string="关联流程">
|
||||
<group>
|
||||
<field name="inspector_html"/>
|
||||
<field name="inspector_text"/>
|
||||
<field name="document_id"/>
|
||||
</group>
|
||||
<group strin="文档可视化测试">
|
||||
<field name="attachment_ids" widget="preview_many2many"/>
|
||||
<field name="relevancy_type"/>
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
<field name="inspector_line2_ids">
|
||||
<tree>
|
||||
<field name="workflow_inspector_id" column_invisible="1"/>
|
||||
<field name="department_id"/>
|
||||
<field name="employee_id"/>
|
||||
<field name="end_data"/>
|
||||
<field name="inspector_line_text"/>
|
||||
</tree>
|
||||
</field>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="任务进度">
|
||||
<field name="inspector_line_ids">
|
||||
<tree>
|
||||
<field name="workflow_inspector_id" column_invisible="1"/>
|
||||
<field name="task_text"/>
|
||||
<field name="end_data"/>
|
||||
<field name="task_state"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
<page string="关联流程">
|
||||
<group>
|
||||
<group>
|
||||
<field name="relevancy_type"/>
|
||||
</group>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
@@ -88,27 +84,27 @@
|
||||
</record>
|
||||
|
||||
<!-- 督办事项的表单 -->
|
||||
<record id="soong_workflow_inspector_line_tree" model="ir.ui.view">
|
||||
<field name="name">soong.workflow.inspector.line.tree</field>
|
||||
<field name="model">soong.workflow.inspector.line</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<field name="department_id"/>
|
||||
<field name="employee_id"/>
|
||||
<field name="end_data"/>
|
||||
<field name="task_state"/>
|
||||
<field name="task_text"/>
|
||||
<field name="workflow_inspector_id"/>
|
||||
<button name="long_end_data" string="延期" type="object" class="btn-primary"/>
|
||||
<button name="inspector_task_done" string="办结" type="object" class="btn-primary"/>
|
||||
<button name="inspector_task_issued" string="任务下发" type="object" class="btn-primary"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<!-- <record id="soong_workflow_inspector_line_tree" model="ir.ui.view">-->
|
||||
<!-- <field name="name">soong.workflow.inspector.line.tree</field>-->
|
||||
<!-- <field name="model">soong.workflow.inspector.line</field>-->
|
||||
<!-- <field name="arch" type="xml">-->
|
||||
<!-- <tree>-->
|
||||
<!-- <field name="department_id"/>-->
|
||||
<!-- <field name="employee_id"/>-->
|
||||
<!-- <field name="end_data"/>-->
|
||||
<!-- <field name="task_state"/>-->
|
||||
<!-- <field name="task_text"/>-->
|
||||
<!-- <field name="workflow_inspector_id"/>-->
|
||||
<!-- <button name="long_end_data" string="延期" type="object" class="btn-primary"/>-->
|
||||
<!-- <button name="inspector_task_done" string="办结" type="object" class="btn-primary"/>-->
|
||||
<!-- <button name="inspector_task_issued" string="任务下发" type="object" class="btn-primary"/>-->
|
||||
<!-- </tree>-->
|
||||
<!-- </field>-->
|
||||
<!-- </record>-->
|
||||
|
||||
<record id="soong_workflow_inspector_line_action" model="ir.actions.act_window">
|
||||
<field name="name">督察事项</field>
|
||||
<field name="res_model">soong.workflow.inspector.line</field>
|
||||
<field name="view_mode">tree</field>
|
||||
</record>
|
||||
<!-- <record id="soong_workflow_inspector_line_action" model="ir.actions.act_window">-->
|
||||
<!-- <field name="name">督察事项</field>-->
|
||||
<!-- <field name="res_model">soong.workflow.inspector.line</field>-->
|
||||
<!-- <field name="view_mode">tree</field>-->
|
||||
<!-- </record>-->
|
||||
</odoo>
|
||||
@@ -114,3 +114,8 @@ class ResourceCalendarHolidaye(models.Model):
|
||||
holiday_type = fields.Char(string="假期类型")
|
||||
calendar_start_time = fields.Datetime(string="假期开始时间")
|
||||
calendar_end_time = fields.Datetime(string="假期结束时间")
|
||||
|
||||
class ResourceCalendarLeave(models.Model):
|
||||
_inherit = "resource.calendar.leaves"
|
||||
|
||||
is_holidays = fields.Boolean(string="法定节假日")
|
||||
@@ -83,6 +83,11 @@
|
||||
parent="menu_hr_attendance_approval_request_board"
|
||||
sequence="7"
|
||||
action="approval_request_leave"/>
|
||||
<menuitem id="holiday_yuthon_fixes_approval_board"
|
||||
name="假期余额修正"
|
||||
parent="menu_hr_attendance_approval_request_board"
|
||||
action="yuthon_holiday.view_yuthon_fixes_approval_action"
|
||||
sequence="7"/>
|
||||
<!-- <menuitem id="menu_yuthon_shift_approval_board"-->
|
||||
<!-- name="调替班申请"-->
|
||||
<!-- parent="menu_hr_attendance_approval_request_board"-->
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<field name="shift_name" optional="show"/>
|
||||
<field name="create_date" optional="hidden"/>
|
||||
<field name="week" optional="show"/>
|
||||
<field name="is_clock_card" optional="show" class="list_width"/>
|
||||
<field name="is_clock_card" column_invisible="1"/>
|
||||
<field name="is_no_card" optional="show" class="list_width"/>
|
||||
<field name="is_early_card" optional="show" class="list_width"/>
|
||||
<field name="is_late_card" optional="show" class="list_width"/>
|
||||
|
||||
@@ -66,4 +66,14 @@
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
<record id="yuthon_resource_calendar_leaves_tree" model="ir.ui.view">
|
||||
<field name="name">resource.calendar.leaves.tree</field>
|
||||
<field name="model">resource.calendar.leaves</field>
|
||||
<field name="inherit_id" ref="hr_holidays.resource_calendar_leaves_tree_inherit"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//tree/field[@name='date_to']" position="after">
|
||||
<field name="is_holidays" string="人员"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
||||
@@ -26,6 +26,7 @@
|
||||
'views/applicant_tage_setting_views.xml',
|
||||
'views/inherit_res_user_views.xml',
|
||||
'views/hr_job_type_views.xml',
|
||||
'views/inherit_hr_work_location_views.xml',
|
||||
'views/yuthon_party_setting_views.xml',
|
||||
'views/inherit_hr_job_views.xml',
|
||||
'wizard/hr_employee_wizard_views.xml',
|
||||
|
||||
@@ -51,6 +51,10 @@ class YuthonHrEmployee(models.Model):
|
||||
string="员工状态")
|
||||
user_number_start_time = fields.Date(string="身份证开始时间")
|
||||
user_number_end_time = fields.Date(string="身份证到期时间")
|
||||
is_identification = fields.Boolean(string="是否填写身份证")
|
||||
card_documents_id = fields.Many2one('ir.attachment', string="身份证")
|
||||
hukou_documents_id = fields.Many2one('ir.attachment', string="户口本")
|
||||
marriage_documents_id = fields.Many2one('ir.attachment', string="结婚证")
|
||||
nation = fields.Selection(nation_list, string="民族")
|
||||
old = fields.Integer(string="年龄", compute='_compute_info')
|
||||
birthday = fields.Date(string="出生年月", compute='_compute_info')
|
||||
@@ -63,6 +67,7 @@ class YuthonHrEmployee(models.Model):
|
||||
dang_data = fields.Date(string="入团(党)时间")
|
||||
user_origin = fields.Char(string="籍贯")
|
||||
user_location = fields.Char(string="户口所在地")
|
||||
is_location = fields.Boolean(string="是否本地")
|
||||
user_location_type = fields.Selection([('formal', '本地农业'), ('labor', '本地非农业'),
|
||||
('part_time', '外地农业'), ('practice', '外地非农业')], string="户籍类型")
|
||||
duty_replacement_card = fields.Integer(string="值班补卡次数(月)")
|
||||
@@ -81,9 +86,6 @@ class YuthonHrEmployee(models.Model):
|
||||
social_insurance_date = fields.Date(string="缴纳社保日期")
|
||||
social_insurance_time = fields.Char(string="社保时长", compute='_compute_social_insurance_info', store=True)
|
||||
|
||||
|
||||
|
||||
|
||||
# 教育
|
||||
high_degree = fields.Char(string="最高学历")
|
||||
high_degree2 = fields.Char(string="最高学位")
|
||||
@@ -130,6 +132,13 @@ class YuthonHrEmployee(models.Model):
|
||||
pinyin_min = fields.Char(string='拼音缩写', compute='_compute_pinyin', index=True, store=True)
|
||||
|
||||
|
||||
@api.onchange('user_location')
|
||||
def _onchange_user_location(self):
|
||||
if self.user_location:
|
||||
self.is_location = True
|
||||
else:
|
||||
self.is_location = False
|
||||
|
||||
@api.model_create_multi
|
||||
def create(self, vals_list):
|
||||
recs = super().create(vals_list)
|
||||
@@ -291,6 +300,7 @@ class YuthonHrEmployee(models.Model):
|
||||
def _compute_info(self):
|
||||
for record in self:
|
||||
if record.identification_id:
|
||||
self.is_identification = True
|
||||
id_number = record.identification_id.upper()
|
||||
if len(id_number) != 18:
|
||||
record._clear_info()
|
||||
@@ -320,6 +330,7 @@ class YuthonHrEmployee(models.Model):
|
||||
raise UserError(str(e) or "身份证号码格式不正确") # Raise UserError
|
||||
else:
|
||||
record._clear_info()
|
||||
self.is_identification = False
|
||||
|
||||
def _clear_info(self):
|
||||
self.birthday = False
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<odoo>
|
||||
<record id="hr_work_location_inherit_form" model="ir.ui.view">
|
||||
<field name="name">hr.work.location.inherit.form</field>
|
||||
<field name="model">hr.work.location</field>
|
||||
<field name="inherit_id" ref="hr.hr_work_location_form_view"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='address_id']" position="attributes">
|
||||
<attribute name="string">联系人</attribute>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
||||
@@ -19,18 +19,6 @@
|
||||
<field name="user_state"/>
|
||||
<field name="yuthon_company"/>
|
||||
</xpath>
|
||||
<xpath expr="//page[@name='public']" position="after">
|
||||
<page name="技能证书管理">
|
||||
<field name="skills_certificates_ids">
|
||||
<tree editable="bottom">
|
||||
<field name="rank_name"/>
|
||||
<field name="rank_type"/>
|
||||
<field name="rank_time"/>
|
||||
<field name="documents_ids" widget="preview_many2many"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
</xpath>
|
||||
<xpath expr="//page[@name='personal_information']" position="replace">
|
||||
<page name="personal_information" string="个人隐私信息">
|
||||
<group>
|
||||
@@ -84,6 +72,8 @@
|
||||
<field name="dang_data"/>
|
||||
<field name="user_origin"/>
|
||||
<field name="user_location"/>
|
||||
<field name="is_location" invisible="1"/>
|
||||
<field name="hukou_documents_id" invisible="not is_location" widget="preview_many2one"/>
|
||||
<field name="user_location_type"/>
|
||||
<!-- 原字段的关联 暂时保留并隐藏 -->
|
||||
<field name="country_of_birth" invisible="1"/>
|
||||
@@ -96,6 +86,7 @@
|
||||
</group>
|
||||
<group string="家庭状态">
|
||||
<field name="marital"/>
|
||||
<field name="marriage_documents_id" invisible="marital != 'married'" widget="preview_many2one"/>
|
||||
<field name="spouse_complete_name" invisible="marital not in ['married', 'cohabitant']"/>
|
||||
<field name="spouse_birthdate" invisible="marital not in ['married', 'cohabitant']"/>
|
||||
</group>
|
||||
@@ -110,6 +101,10 @@
|
||||
<field name="user_number"/>
|
||||
<field name="use_user_type" readonly="1"/>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='identification_id']" position="after">
|
||||
<field name="is_identification" invisible="1"/>
|
||||
<field name="card_documents_id" widget="preview_many2one" invisible="not is_identification"/>
|
||||
</xpath>
|
||||
<xpath expr="//group[@name='active_group']" position="after">
|
||||
<group string="工作信息">
|
||||
<field name="entry_date"/>
|
||||
@@ -148,21 +143,7 @@
|
||||
<field name="all_year_holiday_hours"/>
|
||||
</group>
|
||||
</xpath>
|
||||
<xpath expr="//page[@name='hr_settings']" position="after">
|
||||
<page string="紧急联系人">
|
||||
<field name="emergency_contact_ids">
|
||||
<tree editable="bottom">
|
||||
<field name="employee_id" column_invisible="1"/>
|
||||
<field name="name"/>
|
||||
<field name="user_relationship"/>
|
||||
<field name="user_sfz"/>
|
||||
<field name="workplace"/>
|
||||
<field name="post"/>
|
||||
<field name="phone_number"/>
|
||||
<field name="home_address"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
<xpath expr="//page[@name='hr_settings']" position="before">
|
||||
<page string="工作经历">
|
||||
<field name="work_experience_ids">
|
||||
<tree editable="bottom">
|
||||
@@ -192,10 +173,33 @@
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
<page name="技能证书管理">
|
||||
<field name="skills_certificates_ids">
|
||||
<tree editable="bottom">
|
||||
<field name="rank_name"/>
|
||||
<field name="rank_type"/>
|
||||
<field name="rank_time"/>
|
||||
<field name="documents_ids" widget="preview_many2many"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
<page string="紧急联系人">
|
||||
<field name="emergency_contact_ids">
|
||||
<tree editable="bottom">
|
||||
<field name="employee_id" column_invisible="1"/>
|
||||
<field name="name"/>
|
||||
<field name="user_relationship"/>
|
||||
<field name="user_sfz"/>
|
||||
<field name="workplace"/>
|
||||
<field name="post"/>
|
||||
<field name="phone_number"/>
|
||||
<field name="home_address"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_employee_inherit_del_tree" model="ir.ui.view">
|
||||
<field name="name">hr.employee.inherit.del.form</field>
|
||||
<field name="model">hr.employee</field>
|
||||
|
||||
@@ -14,12 +14,11 @@ class YuthonReassignmentApproval(models.Model):
|
||||
code = fields.Char(string="编号",
|
||||
default=lambda self: self.env['ir.sequence'].next_by_code('yuthon_reassignment_approval_code'))
|
||||
phone = fields.Char(related='users_id.employee_id.work_phone',string='联系电话')
|
||||
yuthon_company = fields.Selection([('thtz', '天河投资集团'), ('thwg', '天河物管'),
|
||||
('thlc', '天河粮储')], string="任职单位")
|
||||
yuthon_company = fields.Selection(related='employee_id.yuthon_company', string="任职单位")
|
||||
job_id = fields.Many2one(related='users_id.employee_id.job_id', string="主岗")
|
||||
duties = fields.Char(string="职务")
|
||||
duties_id = fields.Many2one(related='users_id.employee_id.job_id', string="职务")
|
||||
job_type_id = fields.Many2one('hr.job.type', string="岗位类别")
|
||||
onboarding_date = fields.Date(string="任职日期")
|
||||
onboarding_date = fields.Date(related='users_id.employee_id.open_start_time', string="任职日期")
|
||||
end_of_contract = fields.Date(related='users_id.employee_id.open_start_time',string="入职日期")
|
||||
parent_id = fields.Many2one(related='users_id.employee_id.parent_id', string="直线上级")
|
||||
business_superior_id = fields.Many2one("hr.employee", string="业务上级")
|
||||
@@ -42,7 +41,7 @@ class YuthonReassignmentApproval(models.Model):
|
||||
notice_documents_ids = fields.Many2many('ir.attachment', string="附件")
|
||||
change_parent_id = fields.Many2one("hr.employee", string="直线上级")
|
||||
change_business_superior_id = fields.Many2one("hr.employee", string="业务上级")
|
||||
change_duties = fields.Char(string="职务")
|
||||
change_duties_id= fields.Many2one('job_id', string="职务")
|
||||
change_department_id = fields.Many2one("hr.department", string="任职部门")
|
||||
change_job_type_id = fields.Many2one('hr.job.type', string="岗位类别")
|
||||
change_job_id = fields.Many2one("hr.job", string="主岗")
|
||||
|
||||
@@ -25,19 +25,15 @@
|
||||
<group>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
</group>
|
||||
<group col="2">
|
||||
<group>
|
||||
<field name="name"/>
|
||||
<field name="users_id"/>
|
||||
<field name="job_id"/>
|
||||
<field name="departments_id"/>
|
||||
<field name="related_issues_id" invisible="is_issues == False"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="department_id"/>
|
||||
<field name="yuthon_company" invisible="1"/>
|
||||
<field name="is_issues"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="name"/>
|
||||
<field name="users_id"/>
|
||||
<field name="job_id"/>
|
||||
<field name="departments_id"/>
|
||||
<field name="is_issues"/>
|
||||
<field name="department_id" invisible="1"/>
|
||||
<field name="yuthon_company" invisible="1"/>
|
||||
<field name="related_issues_id" invisible="is_issues == False"/>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="应聘面试信息">
|
||||
|
||||
@@ -45,8 +45,7 @@
|
||||
<field name="phone"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="job_type_id"/>
|
||||
<field name="duties"/>
|
||||
<field name="duties_id"/>
|
||||
<field name="onboarding_date"/>
|
||||
</group>
|
||||
</group>
|
||||
@@ -63,12 +62,11 @@
|
||||
</group>
|
||||
<group>
|
||||
<field name="change_yuthon_company"/>
|
||||
<field name="change_job_type_id"/>
|
||||
<field name="change_job_id"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="change_rank"/>
|
||||
<field name="change_duties"/>
|
||||
<field name="change_duties_id"/>
|
||||
<field name="change_place_of_work"/>
|
||||
</group>
|
||||
</group>
|
||||
|
||||
@@ -13,17 +13,12 @@ class PropertyRentRelief(models.Model):
|
||||
code = fields.Char(string="报修编号",
|
||||
default=lambda self: self.env['ir.sequence'].next_by_code('property_report_repair_code'))
|
||||
users_id = fields.Many2one('res.users', string="报修人", default=lambda self: self.env.user.id)
|
||||
repairer_date = fields.Date(string="报修时间")
|
||||
repairer_date = fields.Date(string="报修时间", default=fields.Date.today())
|
||||
department_id = fields.Many2one(related='users_id.employee_id.department_id', string="报修部门")
|
||||
repairer_address = fields.Char(string="报修人地址")
|
||||
picture_id = fields.Many2one('ir.attachment', string="图片上传")
|
||||
fault = fields.Text(string="故障信息")
|
||||
|
||||
dispatch_date = fields.Date(string="派单时间")
|
||||
dispatch_head_id = fields.Many2one('hr.employee', string="派单人负责人")
|
||||
team_ids = fields.Many2many('hr.employee', string="维修团队")
|
||||
completion_time = fields.Datetime(string="预计完成时间")
|
||||
dispatch_notes = fields.Text(string="派单备注")
|
||||
|
||||
urgency = fields.Selection([('low', '低'), ('middle', '中'), ('high', '高')], string="紧急程度")
|
||||
possible_causes = fields.Selection([('software', '软件问题'), ('hardware', '硬件问题')], string="可能原因")
|
||||
software_id = fields.Many2one('software.issues.setting', string="具体软件问题")
|
||||
@@ -32,8 +27,7 @@ class PropertyRentRelief(models.Model):
|
||||
software_processing_id = fields.Many2one('software.issues.processing', string="处理类型")
|
||||
hardware_processing_id = fields.Many2one('hardware.issues.processing', string="处理类型")
|
||||
resolution = fields.Text(string="解决方法")
|
||||
documents_ids = fields.Many2many('ir.attachment', string="附件")
|
||||
fees = fields.Float(string="费用")
|
||||
picture_resolution_id = fields.Many2one('ir.attachment', string="图片上传")
|
||||
repair_company = fields.Char(string="维修人/公司")
|
||||
list_quotations = fields.Many2one('ir.attachment', string="报价清单")
|
||||
invoice_id = fields.Many2one('ir.attachment', string="发票附件")
|
||||
@@ -44,7 +38,6 @@ class PropertyRentRelief(models.Model):
|
||||
software_parts = fields.Char(string="软件名称/版本")
|
||||
software_fee = fields.Float(string="软件费用")
|
||||
|
||||
duration_service = fields.Float(string="服务时长")
|
||||
service_fee = fields.Float(string="服务费")
|
||||
service_fee_total = fields.Float(string="总费用")
|
||||
service_fee_remark = fields.Text(string="费用备注")
|
||||
|
||||
@@ -4,60 +4,60 @@
|
||||
<field name="active">False</field>
|
||||
</record>
|
||||
|
||||
<menuitem id="yuthon_property_report_repair"
|
||||
parent="maintenance.menu_maintenance_title"
|
||||
name="报事报修"
|
||||
action="property_report_repair_action"
|
||||
sequence="1"/>
|
||||
<!-- <menuitem id="yuthon_property_report_repair"-->
|
||||
<!-- parent="maintenance.executive_manage_menu_root_board"-->
|
||||
<!-- name="报事报修"-->
|
||||
<!-- action="property_report_repair_action"-->
|
||||
<!-- sequence="1"/>-->
|
||||
|
||||
<menuitem id="yuthon_maintenance_equipment_menu"
|
||||
parent="maintenance.menu_maintenance_title"
|
||||
name="设备"
|
||||
sequence="5"/>
|
||||
<menuitem id="yuthon_maintenance_equipment_category_menu"
|
||||
parent="yuthon_maintenance_equipment_menu"
|
||||
action="maintenance.hr_equipment_action"
|
||||
name="设备"
|
||||
sequence="1"/>
|
||||
<menuitem id="yuthon_maintain_desktop_menu"
|
||||
parent="yuthon_maintenance_equipment_menu"
|
||||
action="view_yuthon_maintain_desktop_action"
|
||||
name="桌面"
|
||||
sequence="5"/>
|
||||
<menuitem id="yuthon_maintain_service_menu"
|
||||
parent="yuthon_maintenance_equipment_menu"
|
||||
action="view_yuthon_maintain_service_action"
|
||||
name="服务"
|
||||
sequence="10"/>
|
||||
<!--配置-->
|
||||
<menuitem id="yuthon_software_issues_setting"
|
||||
parent="maintenance.menu_maintenance_configuration"
|
||||
name="软件问题"
|
||||
action="view_software_issues_setting_action"
|
||||
sequence="1"/>
|
||||
<menuitem id="yuthon_hardware_issues_setting"
|
||||
parent="maintenance.menu_maintenance_configuration"
|
||||
name="硬件问题"
|
||||
action="view_hardware_issues_setting_action"
|
||||
sequence="5"/>
|
||||
<menuitem id="yuthon_software_issues_processing"
|
||||
parent="maintenance.menu_maintenance_configuration"
|
||||
name="软件处理类型"
|
||||
action="view_software_issues_processing_action"
|
||||
sequence="10"/>
|
||||
<menuitem id="yuthon_hardware_issues_processing"
|
||||
parent="maintenance.menu_maintenance_configuration"
|
||||
name="硬件处理类型"
|
||||
action="view_hardware_issues_processing_action"
|
||||
sequence="15"/>
|
||||
<menuitem id="yuthon_maintain_service_type_setting"
|
||||
parent="maintenance.menu_maintenance_configuration"
|
||||
name="服务器类型"
|
||||
action="view_yuthon_maintain_service_setting_action"
|
||||
sequence="20"/>
|
||||
<menuitem id="yuthon_maintain_desktop_type_setting"
|
||||
parent="maintenance.menu_maintenance_configuration"
|
||||
name="桌面类型"
|
||||
action="view_yuthon_maintain_desktop_setting_action"
|
||||
sequence="25"/>
|
||||
<!-- <menuitem id="yuthon_maintenance_equipment_menu"-->
|
||||
<!-- parent="maintenance.menu_maintenance_title"-->
|
||||
<!-- name="设备"-->
|
||||
<!-- sequence="5"/>-->
|
||||
<!-- <menuitem id="yuthon_maintenance_equipment_category_menu"-->
|
||||
<!-- parent="yuthon_maintenance_equipment_menu"-->
|
||||
<!-- action="maintenance.hr_equipment_action"-->
|
||||
<!-- name="设备"-->
|
||||
<!-- sequence="1"/>-->
|
||||
<!-- <menuitem id="yuthon_maintain_desktop_menu"-->
|
||||
<!-- parent="yuthon_maintenance_equipment_menu"-->
|
||||
<!-- action="view_yuthon_maintain_desktop_action"-->
|
||||
<!-- name="桌面"-->
|
||||
<!-- sequence="5"/>-->
|
||||
<!-- <menuitem id="yuthon_maintain_service_menu"-->
|
||||
<!-- parent="yuthon_maintenance_equipment_menu"-->
|
||||
<!-- action="view_yuthon_maintain_service_action"-->
|
||||
<!-- name="服务"-->
|
||||
<!-- sequence="10"/>-->
|
||||
<!-- <!–配置–>-->
|
||||
<!-- <menuitem id="yuthon_software_issues_setting"-->
|
||||
<!-- parent="maintenance.menu_maintenance_configuration"-->
|
||||
<!-- name="软件问题"-->
|
||||
<!-- action="view_software_issues_setting_action"-->
|
||||
<!-- sequence="1"/>-->
|
||||
<!-- <menuitem id="yuthon_hardware_issues_setting"-->
|
||||
<!-- parent="maintenance.menu_maintenance_configuration"-->
|
||||
<!-- name="硬件问题"-->
|
||||
<!-- action="view_hardware_issues_setting_action"-->
|
||||
<!-- sequence="5"/>-->
|
||||
<!-- <menuitem id="yuthon_software_issues_processing"-->
|
||||
<!-- parent="maintenance.menu_maintenance_configuration"-->
|
||||
<!-- name="软件处理类型"-->
|
||||
<!-- action="view_software_issues_processing_action"-->
|
||||
<!-- sequence="10"/>-->
|
||||
<!-- <menuitem id="yuthon_hardware_issues_processing"-->
|
||||
<!-- parent="maintenance.menu_maintenance_configuration"-->
|
||||
<!-- name="硬件处理类型"-->
|
||||
<!-- action="view_hardware_issues_processing_action"-->
|
||||
<!-- sequence="15"/>-->
|
||||
<!-- <menuitem id="yuthon_maintain_service_type_setting"-->
|
||||
<!-- parent="maintenance.menu_maintenance_configuration"-->
|
||||
<!-- name="服务器类型"-->
|
||||
<!-- action="view_yuthon_maintain_service_setting_action"-->
|
||||
<!-- sequence="20"/>-->
|
||||
<!-- <menuitem id="yuthon_maintain_desktop_type_setting"-->
|
||||
<!-- parent="maintenance.menu_maintenance_configuration"-->
|
||||
<!-- name="桌面类型"-->
|
||||
<!-- action="view_yuthon_maintain_desktop_setting_action"-->
|
||||
<!-- sequence="25"/>-->
|
||||
</odoo>
|
||||
@@ -8,7 +8,7 @@
|
||||
<xpath expr="//field[@name='department_id']" position="after">
|
||||
<field name="documents_ids" widget="preview_many2many"/>
|
||||
</xpath>
|
||||
<xpath expr="technician_user_id" position="attributes">
|
||||
<xpath expr="//field[@name='technician_user_id']" position="attributes">
|
||||
<attribute name="string">管理员</attribute>
|
||||
</xpath>
|
||||
<xpath expr="//div[@class='oe_title']" position="replace">
|
||||
|
||||
@@ -38,17 +38,7 @@
|
||||
</group>
|
||||
<group string="故障信息">
|
||||
<field name="fault"/>
|
||||
</group>
|
||||
<group string="派单信息" col="2">
|
||||
<group>
|
||||
<field name="dispatch_date"/>
|
||||
<field name="dispatch_head_id"/>
|
||||
<field name="dispatch_notes"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="team_ids" widget="many2many_tags"/>
|
||||
<field name="completion_time"/>
|
||||
</group>
|
||||
<field name="picture_id" widget="preview_many2one"/>
|
||||
</group>
|
||||
<group string="处理信息">
|
||||
<field name="urgency"/>
|
||||
@@ -57,15 +47,11 @@
|
||||
<field name="hardware_id" invisible="possible_causes != 'hardware'"/>
|
||||
</group>
|
||||
<group string="具体问题详情">
|
||||
<field name="specific_reasons"/>
|
||||
<field name="software_processing_id" invisible="possible_causes != 'software'"/>
|
||||
<field name="hardware_processing_id" invisible="possible_causes != 'hardware'"/>
|
||||
<field name="resolution"/>
|
||||
<field name="documents_ids" widget="many2many_tags"/>
|
||||
<field name="picture_resolution_id" widget="preview_many2one"/>
|
||||
<field name="repair_company"/>
|
||||
<field name="fees"/>
|
||||
<field name="list_quotations" widget="preview_many2one"/>
|
||||
<field name="invoice_id" widget="preview_many2one"/>
|
||||
</group>
|
||||
<group string="费用信息">
|
||||
<field name="hardware_parts" invisible="possible_causes != 'hardware'"/>
|
||||
@@ -74,12 +60,9 @@
|
||||
<field name="software_fee" invisible="possible_causes != 'software'"/>
|
||||
</group>
|
||||
<group string="人工费用">
|
||||
<field name="duration_service"/>
|
||||
<field name="service_fee"/>
|
||||
<field name="service_fee_total"/>
|
||||
<field name="service_fee_remark"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="list_quotations" widget="preview_many2one"/>
|
||||
<field name="invoice_id" widget="preview_many2one"/>
|
||||
<field name="remake"/>
|
||||
</group>
|
||||
</sheet>
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<odoo>
|
||||
<record id="soong_workflow_inspector_form_inherit" model="ir.ui.view">
|
||||
<field name="name">soong.workflow.inspector.form.inherit</field>
|
||||
<field name="model">soong.workflow.inspector</field>
|
||||
<field name="inherit_id" ref="soong_workflow.soong_workflow_inspector_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='relevancy_type']" position="after">
|
||||
<field name="yuthon_official_id" invisible="relevancy_type != 'yuthon_official'"/>
|
||||
<field name="incoming_normal_id" invisible="relevancy_type != 'yuthon_official_incoming_normal'"/>
|
||||
</xpath>
|
||||
</field>
|
||||
<!-- <field name="name">soong.workflow.inspector.form.inherit</field>-->
|
||||
<!-- <field name="model">soong.workflow.inspector</field>-->
|
||||
<!-- <field name="inherit_id" ref="soong_workflow.soong_workflow_inspector_form"/>-->
|
||||
<!-- <field name="arch" type="xml">-->
|
||||
<!-- <xpath expr="//field[@name='relevancy_type']" position="after">-->
|
||||
<!-- <field name="yuthon_official_id" invisible="relevancy_type != 'yuthon_official'"/>-->
|
||||
<!-- <field name="incoming_normal_id" invisible="relevancy_type != 'yuthon_official_incoming_normal'"/>-->
|
||||
<!-- </xpath>-->
|
||||
<!-- </field>-->
|
||||
</record>
|
||||
</odoo>
|
||||
@@ -7,7 +7,7 @@
|
||||
'hr_holidays', 'hr_payroll', 'yuthon_hr_attendance',
|
||||
'website', 'yuthon_hr_employee',
|
||||
'yuthon_salary', 'yuthon_sps_approval',
|
||||
'resource', 'yuthon_hr_employee_approval', 'planning',
|
||||
'resource', 'yuthon_hr_employee_approval', 'planning', 'yuthon_maintain', 'maintenance',
|
||||
],
|
||||
'data': [
|
||||
'security/ir.model.access.csv',
|
||||
|
||||
@@ -39,6 +39,63 @@
|
||||
parent="executive_manage_menu_root_board"
|
||||
sequence="3"/>
|
||||
|
||||
<menuitem id="yuthon_property_report_repair_brand"
|
||||
parent="executive_manage_menu_root_board"
|
||||
name="报事报修"
|
||||
action="yuthon_maintain.property_report_repair_action"
|
||||
sequence="10"/>
|
||||
|
||||
<menuitem id="yuthon_maintenance_equipment_menu_brand"
|
||||
parent="maintenance.menu_maintenance_title"
|
||||
name="设备"
|
||||
sequence="5"/>
|
||||
<menuitem id="yuthon_maintenance_equipment_category_menu_brand"
|
||||
parent="yuthon_maintenance_equipment_menu_brand"
|
||||
action="maintenance.hr_equipment_action"
|
||||
name="设备"
|
||||
sequence="1"/>
|
||||
<menuitem id="yuthon_maintain_desktop_menu_brand"
|
||||
parent="yuthon_maintenance_equipment_menu_brand"
|
||||
action="yuthon_maintain.view_yuthon_maintain_desktop_action"
|
||||
name="桌面"
|
||||
sequence="5"/>
|
||||
<menuitem id="yuthon_maintain_service_menu_brand"
|
||||
parent="yuthon_maintenance_equipment_menu_brand"
|
||||
action="yuthon_maintain.view_yuthon_maintain_service_action"
|
||||
name="服务"
|
||||
sequence="10"/>
|
||||
<!--配置-->
|
||||
<menuitem id="yuthon_software_issues_setting_brand"
|
||||
parent="maintenance.menu_maintenance_configuration"
|
||||
name="软件问题"
|
||||
action="yuthon_maintain.view_software_issues_setting_action"
|
||||
sequence="1"/>
|
||||
<menuitem id="yuthon_hardware_issues_setting_brand"
|
||||
parent="maintenance.menu_maintenance_configuration"
|
||||
name="硬件问题"
|
||||
action="yuthon_maintain.view_hardware_issues_setting_action"
|
||||
sequence="5"/>
|
||||
<menuitem id="yuthon_software_issues_processing_brand"
|
||||
parent="maintenance.menu_maintenance_configuration"
|
||||
name="软件处理类型"
|
||||
action="yuthon_maintain.view_software_issues_processing_action"
|
||||
sequence="10"/>
|
||||
<menuitem id="yuthon_hardware_issues_processing_brand"
|
||||
parent="maintenance.menu_maintenance_configuration"
|
||||
name="硬件处理类型"
|
||||
action="yuthon_maintain.view_hardware_issues_processing_action"
|
||||
sequence="15"/>
|
||||
<menuitem id="yuthon_maintain_service_type_setting_brand"
|
||||
parent="maintenance.menu_maintenance_configuration"
|
||||
name="服务器类型"
|
||||
action="yuthon_maintain.view_yuthon_maintain_service_setting_action"
|
||||
sequence="20"/>
|
||||
<menuitem id="yuthon_maintain_desktop_type_setting_brand"
|
||||
parent="maintenance.menu_maintenance_configuration"
|
||||
name="桌面类型"
|
||||
action="yuthon_maintain.view_yuthon_maintain_desktop_setting_action"
|
||||
sequence="25"/>
|
||||
|
||||
<menuitem id="executive_manage_legalization_board"
|
||||
name="正版化"
|
||||
parent="executive_manage_information_root_board"
|
||||
|
||||
@@ -257,16 +257,6 @@
|
||||
name="流程"
|
||||
parent="holiday_manage_menu_root_board"
|
||||
sequence="7"/>
|
||||
<menuitem id="hr_leave_batch_action_all_board"
|
||||
name="休假"
|
||||
parent="hr_leave_batch_action_process_board"
|
||||
action="yuthon_holiday.hr_leave_batch_action_all"
|
||||
sequence="1"/>
|
||||
<menuitem id="holiday_yuthon_fixes_approval_board"
|
||||
name="修正"
|
||||
parent="hr_leave_batch_action_process_board"
|
||||
action="yuthon_holiday.view_yuthon_fixes_approval_action"
|
||||
sequence="7"/>
|
||||
<menuitem id="holiday_set_menu_board"
|
||||
name="配置"
|
||||
parent="holiday_manage_menu_root_board"
|
||||
|
||||
Reference in New Issue
Block a user