添加功能
This commit is contained in:
@@ -21,6 +21,7 @@ class HrAttendance(models.Model):
|
||||
is_abnormal = fields.Boolean(string="异常", group_operator='count_true')
|
||||
work_time_type = fields.Selection([('close_day', '休息日'), ('work_day', '工作日')], string="工作时间类型")
|
||||
company_id = fields.Many2one('res.company', string='公司', index=True, default=lambda self: self.env.company)
|
||||
planning_slot_id = fields.Many2one('planning.slot', string='班次')
|
||||
on_card_location = fields.Char(string="上班打卡地点")
|
||||
down_card_location = fields.Char(string="下班打卡地点")
|
||||
out_card_time = fields.Datetime(string="外出打卡时间")
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
<field name="employee_id" widget="many2one_avatar_user"/>
|
||||
<field name="check_in" optional="show" widget="time"/>
|
||||
<field name="check_out" optional="show" widget="time"/>
|
||||
<field name="planning_slot_id" optional="show"/>
|
||||
<field name="week" optional="show"/>
|
||||
<field name="is_clock_card" optional="show" class="list_width"/>
|
||||
<field name="is_no_card" optional="show" class="list_width"/>
|
||||
@@ -47,107 +48,6 @@
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<!-- 保安部 -->
|
||||
<record id="view_attendance_going_tree3" model="ir.ui.view">
|
||||
<field name="name">hr.attendance.going.tree3</field>
|
||||
<field name="model">hr.attendance</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="出勤" decoration-danger="abnormal == 1"
|
||||
edit="false" delete="false" create="false"
|
||||
editable="bottom" banner_route="/attendance/banner/route">
|
||||
<field name="employee_id" widget="many2one_avatar_user"/>
|
||||
<field name="check_in" optional="show" widget="time"/>
|
||||
<field name="check_out" optional="show" widget="time"/>
|
||||
<field name="week" optional="show"/>
|
||||
<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"/>
|
||||
<field name="is_abnormal" optional="show" class="list_width"/>
|
||||
<field name="abnormal" optional="show" column_invisible="1"/>
|
||||
<field name="work_time_type" optional="hidden"/>
|
||||
<field name="shift_id" optional="show"/>
|
||||
<field name="shift_name" optional="show"/>
|
||||
<field name="is_approval" column_invisible="1"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<!-- 工程部 -->
|
||||
<record id="view_attendance_going_tree4" model="ir.ui.view">
|
||||
<field name="name">hr.attendance.going.tree4</field>
|
||||
<field name="model">hr.attendance</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="出勤" decoration-danger="abnormal == 1"
|
||||
edit="false" delete="false" create="false"
|
||||
editable="bottom" banner_route="/attendance/banner/route">
|
||||
<field name="employee_id" widget="many2one_avatar_user"/>
|
||||
<field name="work_time_type" optional="hidden"/>
|
||||
<field name="check_in" optional="show" widget="time"/>
|
||||
<field name="noon_duty" optional="show" widget="time"/>
|
||||
<field name="night_duty" optional="show" widget="time"/>
|
||||
<field name="check_out" optional="show" widget="time"/>
|
||||
<field name="week" optional="show"/>
|
||||
<field name="shift_id" optional="show"/>
|
||||
<field name="shift_name" optional="show"/>
|
||||
<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"/>
|
||||
<field name="is_abnormal" optional="show" class="list_width"/>
|
||||
<field name="abnormal" optional="show" column_invisible="1"/>
|
||||
<field name="is_approval" column_invisible="1"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<!--联安粮库-->
|
||||
<record id="view_attendance_going_tree5" model="ir.ui.view">
|
||||
<field name="name">hr.attendance.going.tree5</field>
|
||||
<field name="model">hr.attendance</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="出勤" decoration-danger="abnormal == 1"
|
||||
edit="false" delete="false" create="false"
|
||||
editable="bottom" banner_route="/attendance/banner/route">
|
||||
<field name="employee_id" widget="many2one_avatar_user"/>
|
||||
<field name="work_time_type" optional="hidden"/>
|
||||
<field name="check_in" optional="show" widget="time"/>
|
||||
<field name="noon_duty" optional="show" widget="time"/>
|
||||
<field name="check_out" optional="show" widget="time"/>
|
||||
<field name="week" optional="show"/>
|
||||
<field name="shift_id" optional="show"/>
|
||||
<field name="shift_name" optional="show"/>
|
||||
<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"/>
|
||||
<field name="is_abnormal" optional="show" class="list_width"/>
|
||||
<field name="abnormal" optional="show" column_invisible="1"/>
|
||||
<field name="is_approval" column_invisible="1"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<!--客服中心-->
|
||||
<record id="view_attendance_going_tree6" model="ir.ui.view">
|
||||
<field name="name">hr.attendance.going.tree5</field>
|
||||
<field name="model">hr.attendance</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="出勤" decoration-danger="abnormal == 1"
|
||||
edit="false" delete="false" create="false"
|
||||
editable="bottom" banner_route="/attendance/banner/route">
|
||||
<field name="employee_id" widget="many2one_avatar_user"/>
|
||||
<field name="work_time_type" optional="hidden"/>
|
||||
<field name="check_in" optional="show" widget="time"/>
|
||||
<field name="noon_duty" optional="show" widget="time"/>
|
||||
<field name="check_out" optional="show" widget="time"/>
|
||||
<field name="week" optional="show"/>
|
||||
<field name="shift_id" optional="show"/>
|
||||
<field name="shift_name" optional="show"/>
|
||||
<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"/>
|
||||
<field name="is_abnormal" optional="show" class="list_width"/>
|
||||
<field name="abnormal" optional="show" column_invisible="1"/>
|
||||
<field name="is_approval" column_invisible="1"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_attendance_going_action" model="ir.actions.act_window">
|
||||
<field name="name">出勤</field>
|
||||
<field name="res_model">hr.attendance</field>
|
||||
@@ -181,59 +81,20 @@
|
||||
<field name="res_model">hr.attendance</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="context">{"search_default_employee": 1}</field>
|
||||
<field name="domain">[('employee_id.yuthon_company','=','thtz'), ('week', 'not in', ['seven', 'six'])]</field>
|
||||
<field name="domain">[('employee_id.yuthon_company','=','thtz')]</field>
|
||||
</record>
|
||||
<record id="action_attendance_yuthon_company_form2" model="ir.actions.act_window">
|
||||
<field name="name">天河粮储</field>
|
||||
<field name="res_model">hr.attendance</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="context">{"search_default_employee": 1}</field>
|
||||
<field name="domain">[('employee_id.yuthon_company', '=', 'thlc'),
|
||||
('week', 'not in', ['seven', 'six']),
|
||||
('employee_id.department_id.name','not in',['仓储组', '综合组','保管组', '机安组', '1库', '2库', '3库', '联安粮库'])]</field>
|
||||
<field name="domain">[('employee_id.yuthon_company', '=', 'thlc')]</field>
|
||||
</record>
|
||||
<record id="action_attendance_yuthon_company_form3" model="ir.actions.act_window">
|
||||
<field name="name">天河物管</field>
|
||||
<field name="res_model">hr.attendance</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="context">{"search_default_employee": 1}</field>
|
||||
<field name="domain">[('employee_id.yuthon_company', '=', 'thwg'), ('week', 'not in', ['seven', 'six']),
|
||||
('employee_id.department_id.name','not in',['运行班', '高压班','综合班','班组A', '班组B','班组C'])]</field>
|
||||
</record>
|
||||
<record id="hr_attendance_action2" model="ir.actions.act_window">
|
||||
<field name="name">考勤记录</field>
|
||||
<field name="res_model">hr.attendance</field>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="context">{"search_default_employee": 1}</field>
|
||||
<field name="domain">[('employee_id.department_id.name','in',['班组A', '班组B','班组C'])]</field>
|
||||
<field name="view_ids" eval="[(5, 0, 0),
|
||||
(0, 0, {'view_mode': 'tree', 'view_id': ref('yuthon_hr_attendance.view_attendance_going_tree3')})]"/>
|
||||
</record>
|
||||
<record id="hr_attendance_action3" model="ir.actions.act_window">
|
||||
<field name="name">考勤记录</field>
|
||||
<field name="res_model">hr.attendance</field>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="context">{"search_default_employee": 1}</field>
|
||||
<field name="domain">[('employee_id.department_id.name','in',['运行班', '高压班','综合班'])]</field>
|
||||
<field name="view_ids" eval="[(5, 0, 0),
|
||||
(0, 0, {'view_mode': 'tree', 'view_id': ref('yuthon_hr_attendance.view_attendance_going_tree4')})]"/>
|
||||
</record>
|
||||
<record id="hr_attendance_action4" model="ir.actions.act_window">
|
||||
<field name="name">考勤记录</field>
|
||||
<field name="res_model">hr.attendance</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="context">{"search_default_employee": 1}</field>
|
||||
<field name="domain">[('employee_id.department_id.name','in',['仓储组', '综合组','保管组', '机安组', '1库', '2库', '3库', '联安粮库'])]</field>
|
||||
<field name="view_ids" eval="[(5, 0, 0),
|
||||
(0, 0, {'view_mode': 'tree', 'view_id': ref('yuthon_hr_attendance.view_attendance_going_tree5')})]"/>
|
||||
</record>
|
||||
<record id="hr_attendance_action5" model="ir.actions.act_window">
|
||||
<field name="name">考勤记录</field>
|
||||
<field name="res_model">hr.attendance</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="context">{"search_default_employee": 1}</field>
|
||||
<field name="domain">[('employee_id.department_id.name','=','客服中心')]]</field>
|
||||
<field name="view_ids" eval="[(5, 0, 0),
|
||||
(0, 0, {'view_mode': 'tree', 'view_id': ref('yuthon_hr_attendance.view_attendance_going_tree6')})]"/>
|
||||
<field name="domain">[('employee_id.yuthon_company', '=', 'thwg')]</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
||||
@@ -95,7 +95,16 @@
|
||||
parent="attendance_resources_setting_root_board"
|
||||
sequence="4"
|
||||
action="yuthon_hr_attendance.view_overtime_page_action"/>
|
||||
|
||||
<menuitem id="menu_hr_attendance_role_board"
|
||||
name="班次角色"
|
||||
parent="attendance_resources_setting_root_board"
|
||||
sequence="6"
|
||||
action="planning.planning_action_roles"/>
|
||||
<menuitem id="menu_hr_attendance_slot_template_board"
|
||||
name="班次模板"
|
||||
parent="attendance_resources_setting_root_board"
|
||||
sequence="9"
|
||||
action="planning.planning_action_shift_template"/>
|
||||
|
||||
|
||||
|
||||
@@ -108,16 +117,6 @@
|
||||
name="保安部计划"
|
||||
parent="yuthon_attendance_planning_board"
|
||||
sequence="5"/>
|
||||
<menuitem id="menu_hr_attendance_my_record_board1"
|
||||
name="我的考勤"
|
||||
parent="menu_hr_attendance_security_record_board"
|
||||
action="yuthon_hr_attendance.hr_attendance_action1"
|
||||
sequence="1"/>
|
||||
<menuitem id="menu_hr_attendance_is_abnormal_board1"
|
||||
name="我的异常"
|
||||
parent="menu_hr_attendance_security_record_board"
|
||||
action="yuthon_hr_attendance.hr_attendance_action_is_abnormal"
|
||||
sequence="5"/>
|
||||
<menuitem id="menu_hr_plan_sources_arrange_board1"
|
||||
name="排版规则"
|
||||
parent="menu_hr_attendance_security_record_board"
|
||||
@@ -147,30 +146,15 @@
|
||||
parent="menu_hr_attendance_guard_planning_board"
|
||||
action="yuthon_hr_attendance.action_planning_slot_all_form4"
|
||||
sequence="5"/>
|
||||
<menuitem id="menu_hr_attendance_security_record1"
|
||||
name="考勤记录"
|
||||
parent="menu_hr_attendance_security_record_board"
|
||||
action="yuthon_hr_attendance.hr_attendance_action2"
|
||||
sequence="10"/>
|
||||
<!--工程部-->
|
||||
<menuitem id="menu_hr_attendance_engineering_record_board"
|
||||
name="工程部计划"
|
||||
parent="yuthon_attendance_planning_board"
|
||||
sequence="7"/>
|
||||
<menuitem id="menu_hr_attendance_my_record_board2"
|
||||
name="我的考勤"
|
||||
parent="menu_hr_attendance_engineering_record_board"
|
||||
action="yuthon_hr_attendance.hr_attendance_action1"
|
||||
sequence="1"/>
|
||||
<menuitem id="menu_hr_attendance_is_abnormal_board2"
|
||||
name="我的异常"
|
||||
parent="menu_hr_attendance_engineering_record_board"
|
||||
action="yuthon_hr_attendance.hr_attendance_action_is_abnormal"
|
||||
sequence="5"/>
|
||||
<menuitem id="menu_hr_attendance_all_board"
|
||||
name="排班规则"
|
||||
parent="menu_hr_attendance_engineering_record_board"
|
||||
sequence="9"/>
|
||||
sequence="1"/>
|
||||
<menuitem id="menu_hr_attendance_planning_run_board"
|
||||
name="运行班排班"
|
||||
parent="menu_hr_attendance_all_board"
|
||||
@@ -208,42 +192,22 @@
|
||||
action="yuthon_hr_attendance.action_planning_slot_form5"
|
||||
groups="yuthon_hr_attendance.group_property_integrated_admin"
|
||||
sequence="8"/>
|
||||
<menuitem id="menu_hr_attendance_security_record2"
|
||||
name="考勤记录"
|
||||
parent="menu_hr_attendance_engineering_record_board"
|
||||
action="yuthon_hr_attendance.hr_attendance_action3"
|
||||
sequence="20"/>
|
||||
|
||||
<!-- 值班相关 -->
|
||||
<menuitem id="menu_hr_attendance_duty_summary_menu_board"
|
||||
name="粮库计划"
|
||||
parent="yuthon_attendance_planning_board"
|
||||
sequence="9"/>
|
||||
<menuitem id="menu_hr_attendance_my_record_board3"
|
||||
name="我的考勤"
|
||||
parent="menu_hr_attendance_duty_summary_menu_board"
|
||||
action="yuthon_hr_attendance.hr_attendance_action1"
|
||||
sequence="1"/>
|
||||
<menuitem id="menu_hr_attendance_is_abnormal_board3"
|
||||
name="我的异常"
|
||||
parent="menu_hr_attendance_duty_summary_menu_board"
|
||||
action="yuthon_hr_attendance.hr_attendance_action_is_abnormal"
|
||||
sequence="3"/>
|
||||
<menuitem id="menu_hr_attendance_duty_plan_board"
|
||||
name="排版规则"
|
||||
parent="menu_hr_attendance_duty_summary_menu_board"
|
||||
action="yuthon_hr_attendance.view_yuthon_duty_plan_action"
|
||||
sequence="10"/>
|
||||
sequence="1"/>
|
||||
<menuitem id="menu_hr_attendance_duty_summary_board"
|
||||
name="排班计划"
|
||||
parent="menu_hr_attendance_duty_summary_menu_board"
|
||||
action="yuthon_hr_attendance.action_planning_slot_form6"
|
||||
sequence="15"/>
|
||||
<menuitem id="menu_hr_attendance_duty_record_board"
|
||||
name="考勤记录"
|
||||
parent="menu_hr_attendance_duty_summary_menu_board"
|
||||
action="yuthon_hr_attendance.hr_attendance_action4"
|
||||
sequence="20"/>
|
||||
<menuitem id="menu_hr_attendance_duty_summary_flow_board"
|
||||
name="流程"
|
||||
parent="menu_hr_attendance_duty_summary_menu_board"
|
||||
@@ -277,16 +241,6 @@
|
||||
name="客服计划"
|
||||
parent="yuthon_attendance_planning_board"
|
||||
sequence="12"/>
|
||||
<menuitem id="menu_hr_attendance_my_record_board4"
|
||||
name="我的考勤"
|
||||
parent="menu_hr_attendance_customer_board"
|
||||
action="yuthon_hr_attendance.hr_attendance_action1"
|
||||
sequence="1"/>
|
||||
<menuitem id="menu_hr_attendance_is_abnormal_board4"
|
||||
name="我的异常"
|
||||
parent="menu_hr_attendance_customer_board"
|
||||
action="yuthon_hr_attendance.hr_attendance_action_is_abnormal"
|
||||
sequence="3"/>
|
||||
<menuitem id="menu_hr_attendance_customer_flow_board"
|
||||
name="排班规则"
|
||||
parent="menu_hr_attendance_customer_board"
|
||||
@@ -297,11 +251,6 @@
|
||||
parent="menu_hr_attendance_customer_board"
|
||||
action="yuthon_hr_attendance.action_planning_slot_form7"
|
||||
sequence="10"/>
|
||||
<menuitem id="menu_hr_attendance_duty_customer_record_board"
|
||||
name="考勤记录"
|
||||
parent="menu_hr_attendance_customer_board"
|
||||
action="yuthon_hr_attendance.hr_attendance_action5"
|
||||
sequence="15"/>
|
||||
<!--流程-->
|
||||
<menuitem id="menu_yuthon_customer_process_board"
|
||||
name="流程"
|
||||
|
||||
Reference in New Issue
Block a user