diff --git a/yuthon_hr_attendance/__manifest__.py b/yuthon_hr_attendance/__manifest__.py
index a5bf68db1..4b5741e5d 100644
--- a/yuthon_hr_attendance/__manifest__.py
+++ b/yuthon_hr_attendance/__manifest__.py
@@ -62,6 +62,10 @@
'yuthon_hr_attendance/static/src/planning_gantt/gantt_popover.js',
'yuthon_hr_attendance/static/src/planning_gantt/gantt_popover.xml',
'yuthon_hr_attendance/static/src/planning_gantt/planning_gantt_renderer.js',
+ 'yuthon_hr_attendance/static/src/js/button_attendance_month.js',
+ 'yuthon_hr_attendance/static/src/xml/button_attendance_month.xml',
+ 'yuthon_hr_attendance/static/src/js/button_detail_wechat.js',
+ 'yuthon_hr_attendance/static/src/xml/button_detail_wechat.xml',
'yuthon_hr_attendance/static/src/components/*/*.xml',
'yuthon_hr_attendance/static/src/css/*.css',
'yuthon_hr_attendance/static/src/js/planning_gantt_renderer.js',
diff --git a/yuthon_hr_attendance/models/hr_attendance_month.py b/yuthon_hr_attendance/models/hr_attendance_month.py
index 143909123..a93645174 100644
--- a/yuthon_hr_attendance/models/hr_attendance_month.py
+++ b/yuthon_hr_attendance/models/hr_attendance_month.py
@@ -121,6 +121,7 @@ class HrAttendanceMonthDetail(models.Model):
come_late = fields.Integer(string="迟到")
is_early_card = fields.Integer(string="早退")
is_no_card = fields.Integer(string="缺卡")
+ is_work = fields.Boolean(string='旷工')
# 假期
unpaid_leave = fields.Integer(string="无薪假")
@@ -375,4 +376,8 @@ class HrAttendanceMonthDetail(models.Model):
pass
def button_all_put(self):
- pass
\ No newline at end of file
+ pass
+
+ def button_confirm(self):
+ for record in self:
+ record.state = 'confirmed'
\ No newline at end of file
diff --git a/yuthon_hr_attendance/static/src/js/button_attendance_month.js b/yuthon_hr_attendance/static/src/js/button_attendance_month.js
new file mode 100644
index 000000000..b7f264590
--- /dev/null
+++ b/yuthon_hr_attendance/static/src/js/button_attendance_month.js
@@ -0,0 +1,29 @@
+/** @odoo-module */
+import { ListController } from "@web/views/list/list_controller";
+import { registry } from '@web/core/registry';
+import { listView } from '@web/views/list/list_view';
+
+export class CustomAttendanceMonthStatementsController extends ListController {
+ setup() {
+ super.setup();
+ }
+
+ openMonthStatementsWizard() {
+ this.actionService.doAction({
+ type: 'ir.actions.act_window',
+ res_model: 'hr.attendance.month.wizard',
+ name: '考勤对账',
+ view_mode: 'form',
+ view_type: 'form',
+ views: [[false, 'form']],
+ target: 'new', // 以弹窗形式打开
+ context: {},
+ });
+ }
+}
+
+registry.category("views").add("custom_month_statements_button", {
+ ...listView,
+ Controller: CustomAttendanceMonthStatementsController,
+ buttonTemplate: "month_module.ListView.Buttons",
+});
\ No newline at end of file
diff --git a/yuthon_hr_attendance/static/src/js/button_detail_wechat.js b/yuthon_hr_attendance/static/src/js/button_detail_wechat.js
new file mode 100644
index 000000000..3ead123b6
--- /dev/null
+++ b/yuthon_hr_attendance/static/src/js/button_detail_wechat.js
@@ -0,0 +1,22 @@
+/** @odoo-module */
+import { ListController } from "@web/views/list/list_controller";
+import { registry } from '@web/core/registry';
+import { listView } from '@web/views/list/list_view';
+import { useService } from '@web/core/utils/hooks';
+
+export class CustomDetailWechatStatementsController extends ListController {
+ setup() {
+ super.setup();
+ this.orm = useService('orm');
+ }
+
+ openDetailStatementsWizard() {
+ this.orm.call('hr.attendance.detail', 'get_hr_attendance_time');
+ }
+}
+
+registry.category("views").add("custom_detail_statements_button", {
+ ...listView,
+ Controller: CustomDetailWechatStatementsController,
+ buttonTemplate: "detail_module.ListView.Buttons",
+});
\ No newline at end of file
diff --git a/yuthon_hr_attendance/static/src/xml/button_attendance_month.xml b/yuthon_hr_attendance/static/src/xml/button_attendance_month.xml
new file mode 100644
index 000000000..10cec2c1d
--- /dev/null
+++ b/yuthon_hr_attendance/static/src/xml/button_attendance_month.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
diff --git a/yuthon_hr_attendance/static/src/xml/button_detail_wechat.xml b/yuthon_hr_attendance/static/src/xml/button_detail_wechat.xml
new file mode 100644
index 000000000..38c192114
--- /dev/null
+++ b/yuthon_hr_attendance/static/src/xml/button_detail_wechat.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
diff --git a/yuthon_hr_attendance/views/all_attendance_menu.xml b/yuthon_hr_attendance/views/all_attendance_menu.xml
index c6dcaeb04..9bbf425a2 100644
--- a/yuthon_hr_attendance/views/all_attendance_menu.xml
+++ b/yuthon_hr_attendance/views/all_attendance_menu.xml
@@ -10,9 +10,9 @@
name="月度考勤"
parent="hr_attendance_root_board"
groups="group_he_attendance_manager"
- sequence="1"/>
-
+ sequence="4"/>
+
+
+
@@ -38,31 +43,31 @@
parent="hr_attendance_root_board"
groups="group_he_attendance_manager"
action="hr_attendance_action_is_abnormal"
- sequence="2"/>
+ sequence="5"/>
+ sequence="10"/>
+ sequence="15"/>
+ sequence="20"/>
+ sequence="25"/>