From 0de0a56fe1a485a29820d313e2f5ca230e4ff6f3 Mon Sep 17 00:00:00 2001 From: Admin Date: Thu, 15 Jan 2026 23:15:40 +0800 Subject: [PATCH 1/4] 2 --- yuthon_will_task/controllers/main.py | 113 +++++++++++++++++++++++++++ 1 file changed, 113 insertions(+) diff --git a/yuthon_will_task/controllers/main.py b/yuthon_will_task/controllers/main.py index 57e74f74b..cd69c2b50 100644 --- a/yuthon_will_task/controllers/main.py +++ b/yuthon_will_task/controllers/main.py @@ -154,3 +154,116 @@ class YuthonWillTask(http.Controller): 'code': 200, 'message': '数据创建成功' }) + + @http.route('/phone/employee/self', type='http', auth="none", csrf=False, cors='*') + def phone_employee_self(self, **kw): + """ + relation: 'ilike' + """ + value = kw.get('value', False) + domain = [] + if value: + domain.append(('name', 'ilike', value)) + # users_id = int(kw.get('users_id')) + # user = request.env['res.users'].sudo().browse(int(users_id)) + # employee_id = user.with_company(user.company_id.id).employee_id.id + records = request.env['hr.employee'].sudo().search(domain, limit=15) + data = records.read([]) + return json.dumps({'data': data, 'code': 200, 'message': ''}) + + @http.route('/phone/employee/driver', type='http', auth="none", csrf=False, cors='*') + def phone_employee_driver(self, **kw): + """ + relation: 'ilike', '=', '!=' + """ + feild = kw.get('feild', False) + relation = kw.get('relation', False) + value = kw.get('value', False) + domain = [] + if feild and value and relation: + domain.append((feild, relation, value)) + # users_id = int(kw.get('users_id')) + # user = request.env['res.users'].sudo().browse(int(users_id)) + # employee_id = user.with_company(user.company_id.id).employee_id.id + records = request.env['hr.employee'].sudo().search(domain, limit=15) + data = records.read([]) + return json.dumps({'data': data, 'code': 200, 'message': ''}) + + @http.route('/phone/task/time', type='http', auth="none", csrf=False, cors='*') + def phone_task_time(self, **kw): + """ + relation: 'ilike' + """ + value = kw.get('value', False) + domain = [] + if value: + domain.append(('name', 'ilike', value)) + # users_id = int(kw.get('users_id')) + # user = request.env['res.users'].sudo().browse(int(users_id)) + # employee_id = user.with_company(user.company_id.id).employee_id.id + records = request.env['yuthon.task.time'].sudo().search(domain, limit=15) + data = records.read([]) + return json.dumps({'data': data, 'code': 200, 'message': ''}) + + @http.route('/phone/task/create', type='http', auth="none", csrf=False, cors='*') + def phone_task_create(self, **kw): + """ + record_id : 记录id(根据这个判断是否创建还是更新,创建的时候不传,更新的时候传) + request_hour_from:开始时间 + request_hour_to: 结束时间 + priority: 优先级 + name: 任务内容 + remarks: 备注 + employee_ids: 关联员工 + employee_ids2: 关联司机 + task_time_ids: 提醒 + address: 地址 + start_date: 任务日期 + """ + employee_ids = kw.get('employee_ids', []) + employee_ids2 = kw.get('employee_ids2', []) + task_time_ids = kw.get('task_time_ids', []) + if not isinstance(task_time_ids, list): + return json.dumps({'data': '', 'code': 201, 'message': '提醒参数错误'}) + if not isinstance(employee_ids2, list): + return json.dumps({'data': '', 'code': 201, 'message': '司机参数错误'}) + if not isinstance(employee_ids, list): + return json.dumps({'data': '', 'code': 201, 'message': '关联员工参数错误'}) + data = { + 'request_hour_from': kw.get('request_hour_from', False), + 'request_hour_to': kw.get('request_hour_to', False), + 'priority': kw.get('priority', False), + 'name': kw.get('name', False), + 'remarks': kw.get('remarks', False), + 'employee_ids': [(6, 0, employee_ids)], + 'employee_ids2': [(6, 0, employee_ids2)], + 'task_time_ids': [(6, 0, task_time_ids)], + 'address': kw.get('address', False), + 'start_date': kw.get('start_date', False) + } + record_id = kw.get('record_id', False) + if record_id: + # 获取要更新的日程 + record = request.env['yuthon.task.time'].sudo().browse(int(record_id)) + record.sudo().write(data) + else: + #创建日程 + users_id = int(kw.get('users_id')) + user = request.env['res.users'].sudo().browse(int(users_id)) + request.env.user = user + record = request.env['yuthon.task.time'].sudo().create(data) + # users_id = int(kw.get('users_id')) + # user = request.env['res.users'].sudo().browse(int(users_id)) + # employee_id = user.with_company(user.company_id.id).employee_id.id + return json.dumps({'data': record.id, 'code': 200, 'message': ''}) + + @http.route('/phone/task/unlink', type='http', auth="none", csrf=False, cors='*') + def phone_task_unlink(self, **kw): + record_id = kw.get('record_id', False) + if record_id: + # 获取要更新的日程 + record = request.env['yuthon.task.time'].sudo().browse(int(record_id)) + record.sudo().unlink() + else: + return json.dumps({'data': '', 'code': 201, 'message': '记录不存在'}) + return json.dumps({'data': 'success', 'code': 200, 'message': ''}) From a29d54e258109229831b3ae9af2d461de102208d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= Date: Sun, 18 Jan 2026 17:00:44 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E6=89=93=E5=8D=B0=EF=BC=8C=E6=8F=90?= =?UTF-8?q?=E9=86=92=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../report/hr_leave_batch_report_action.xml | 7 ++++ .../report/hr_leave_batch_report_template.xml | 34 ++++++++------- .../report/go_approval_templates.xml | 8 ++-- .../report/overtime_approval_report.xml | 7 ++++ .../report/overtime_approval_templates.xml | 37 +++++++---------- .../views/inherit_hr_job_views.xml | 2 +- .../report/contract_review_report.xml | 11 ++--- .../contract_review_report_templates.xml | 21 +++++----- .../report/leaving_approval_report.xml | 1 + .../leaving_approval_report_templates.xml | 11 +++-- .../property_lease_contract_print_report.xml | 2 + ...roperty_lease_contract_print_templates.xml | 36 ++++++---------- .../report/business_approval_print_report.xml | 5 ++- .../business_approval_print_templates.xml | 18 ++++---- yuthon_trade/report/seal_approval_report.xml | 2 + .../report/seal_approval_templates.xml | 41 +++++++++---------- .../views/yuthon_will_task_views.xml | 4 +- 17 files changed, 129 insertions(+), 118 deletions(-) diff --git a/yuthon_holiday/report/hr_leave_batch_report_action.xml b/yuthon_holiday/report/hr_leave_batch_report_action.xml index cf4c63371..892aad0fe 100644 --- a/yuthon_holiday/report/hr_leave_batch_report_action.xml +++ b/yuthon_holiday/report/hr_leave_batch_report_action.xml @@ -1,6 +1,12 @@ + + Leave Batch Portrait + A4 + 5 + Portrait + 请假单 hr.leave.batch @@ -8,6 +14,7 @@ yuthon_holiday.hr_leave_batch_print yuthon_holiday.hr_leave_batch_print + report diff --git a/yuthon_holiday/report/hr_leave_batch_report_template.xml b/yuthon_holiday/report/hr_leave_batch_report_template.xml index 952f5939d..7b9b69755 100644 --- a/yuthon_holiday/report/hr_leave_batch_report_template.xml +++ b/yuthon_holiday/report/hr_leave_batch_report_template.xml @@ -8,8 +8,8 @@ @@ -30,15 +29,15 @@ 会审意见表 - -
- 承办部门: - 流水号: + +
+ 承办部门: + 流水号:
- + diff --git a/yuthon_hr_employee_approval/report/leaving_approval_report.xml b/yuthon_hr_employee_approval/report/leaving_approval_report.xml index 5dfc41931..9fb386188 100644 --- a/yuthon_hr_employee_approval/report/leaving_approval_report.xml +++ b/yuthon_hr_employee_approval/report/leaving_approval_report.xml @@ -5,6 +5,7 @@ Leaving Approval Small Top MarginA45 + Portrait 离职申请 diff --git a/yuthon_hr_employee_approval/report/leaving_approval_report_templates.xml b/yuthon_hr_employee_approval/report/leaving_approval_report_templates.xml index 64285cade..127d56c27 100644 --- a/yuthon_hr_employee_approval/report/leaving_approval_report_templates.xml +++ b/yuthon_hr_employee_approval/report/leaving_approval_report_templates.xml @@ -6,8 +6,8 @@
业务审批单
-
- 部门: - 流水号: +
+ 部门: + 流水号:
- - + + diff --git a/yuthon_trade/report/seal_approval_report.xml b/yuthon_trade/report/seal_approval_report.xml index dc3175369..0124bd7d1 100644 --- a/yuthon_trade/report/seal_approval_report.xml +++ b/yuthon_trade/report/seal_approval_report.xml @@ -3,7 +3,9 @@ Lease Contract Small Top Margin + A4 5 + Portrait 用章申请报表 diff --git a/yuthon_trade/report/seal_approval_templates.xml b/yuthon_trade/report/seal_approval_templates.xml index 3f59c2ba8..879b37326 100644 --- a/yuthon_trade/report/seal_approval_templates.xml +++ b/yuthon_trade/report/seal_approval_templates.xml @@ -6,8 +6,8 @@
用章申请
- -
- 部门: - 流水号: + +
+ 部门: + 流水号:
事项标题
业务类型、
+ + + + + + + + + @@ -107,8 +106,8 @@ - - + + - + + + + + + + + + + + + From 547f0c696224438f179e026917d2b47fc3936bcb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= Date: Sun, 18 Jan 2026 17:48:11 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E6=89=93=E5=8D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- yuthon_holiday/report/hr_leave_batch_report_action.xml | 6 +++--- yuthon_hr_attendance/report/overtime_approval_report.xml | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/yuthon_holiday/report/hr_leave_batch_report_action.xml b/yuthon_holiday/report/hr_leave_batch_report_action.xml index 892aad0fe..f983fb2d4 100644 --- a/yuthon_holiday/report/hr_leave_batch_report_action.xml +++ b/yuthon_holiday/report/hr_leave_batch_report_action.xml @@ -2,10 +2,10 @@ - Leave Batch Portrait - A4 + Leave Batch A5 Landscape + A5 5 - Portrait + Landscape 请假单 diff --git a/yuthon_hr_attendance/report/overtime_approval_report.xml b/yuthon_hr_attendance/report/overtime_approval_report.xml index 60ba4cd8c..25ba2824b 100644 --- a/yuthon_hr_attendance/report/overtime_approval_report.xml +++ b/yuthon_hr_attendance/report/overtime_approval_report.xml @@ -1,9 +1,9 @@ - Overtime Approval Portrait - A4 + Overtime Approval A5 Landscape + A5 5 - Portrait + Landscape 加班单
事项
diff --git a/yuthon_will_task/views/yuthon_will_task_views.xml b/yuthon_will_task/views/yuthon_will_task_views.xml index d2ee39c5a..ba66cb633 100644 --- a/yuthon_will_task/views/yuthon_will_task_views.xml +++ b/yuthon_will_task/views/yuthon_will_task_views.xml @@ -24,7 +24,7 @@ -
用章范围、
附件清单
审批详情