!1455 添加功能

Merge pull request !1455 from 李鹏宇/dev_zhou
This commit is contained in:
李鹏宇
2025-01-23 09:23:37 +00:00
committed by Gitee
22 changed files with 322 additions and 254 deletions
@@ -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="关联流程类型")
+14 -14
View File
@@ -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>
+1
View File
@@ -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="费用备注")
+55 -55
View File
@@ -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"/>-->
<!-- &lt;!&ndash;配置&ndash;&gt;-->
<!-- <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>
+1 -1
View File
@@ -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"
-10
View File
@@ -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"