From f78b674ef6cd7df783c0c96bf464749edda7af6d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?=
<9664676+pengyuthon@user.noreply.gitee.com>
Date: Fri, 15 May 2026 16:13:20 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
room/views/room_booking_views.xml | 6 -----
soong_workflow/models/soong_workflow_mixin.py | 23 ++++++++++++++++++-
.../views/soong_workflow_inspector_views.xml | 6 -----
.../wizard/soong_workflow_comment_wizard.py | 10 +++++++-
.../extended_vacation_approval_views.xml | 6 -----
yuthon_holiday/views/hr_leave_batch.xml | 6 -----
.../views/yuthon_breastfeed_leave_views.xml | 6 -----
.../views/yuthon_fixes_approval_views.xml | 6 -----
yuthon_hr_attendance/views/card_approval.xml | 6 -----
yuthon_hr_attendance/views/duty_approval.xml | 6 -----
.../views/expatriation_approval.xml | 6 -----
yuthon_hr_attendance/views/go_approval.xml | 6 -----
yuthon_hr_attendance/views/leave_approval.xml | 6 -----
yuthon_hr_attendance/views/meal_approval.xml | 6 -----
.../views/remove_holiday_approval.xml | 6 -----
.../views/yuthon_abnormal_approval_views.xml | 6 -----
.../yuthon_adjustments_approval_views.xml | 6 -----
.../views/yuthon_customer_approval_views.xml | 6 -----
.../views/yuthon_shift_approval_views.xml | 6 -----
.../views/yuthon_special_approval_views.xml | 6 -----
.../views/contract_review_approval_views.xml | 6 -----
.../property_reimbursement_form_views.xml | 6 -----
.../yuthon_appointment_approval_views.xml | 6 -----
.../views/yuthon_department_change_viwes.xml | 6 -----
.../views/yuthon_employee_add_views.xml | 6 -----
.../views/yuthon_interview_approval_views.xml | 6 -----
.../views/yuthon_leaving_approval_views.xml | 6 -----
.../views/yuthon_message_login_views.xml | 6 -----
.../views/yuthon_onboard_approval_views.xml | 6 -----
.../views/yuthon_pre_examination_views.xml | 6 -----
.../views/yuthon_prepare_approval_views.xml | 6 -----
.../yuthon_reassignment_approval_views.xml | 6 -----
.../yuthon_recruitment_approval_views.xml | 6 -----
.../yuthon_regularization_approval_views.xml | 6 -----
.../views/yuthon_renewal_approval_views.xml | 6 -----
.../views/yuthon_retired_approval_views.xml | 6 -----
.../views/yuthon_reward_approval_views.xml | 6 -----
.../views/yuthon_service_approval_views.xml | 6 -----
.../yuthon_social_files_approval_view.xml | 6 -----
.../views/issue_boss_approval_views.xml | 6 -----
.../views/issue_class_approval_views.xml | 6 -----
.../views/issue_party_approval_views.xml | 6 -----
.../views/property_report_repair.xml | 6 -----
.../views/processing_order_approval_views.xml | 6 -----
.../views/property_device_repair_views.xml | 6 -----
.../views/property_report_repair.xml | 6 -----
yuthon_notice/views/yuthon_notice_views.xml | 6 -----
.../views/yuthon_cross_departmental_views.xml | 6 -----
.../views/yuthon_file_processing_views.xml | 6 -----
.../yuthon_official_branch_party_views.xml | 6 -----
.../yuthon_official_incoming_labor_views.xml | 6 -----
.../yuthon_official_incoming_party_views.xml | 6 -----
.../views/yuthon_official_labor_views.xml | 6 -----
.../views/yuthon_official_party_views.xml | 6 -----
.../views/yuthon_official_seal_views.xml | 6 -----
.../views/yuthon_official_views.xml | 6 -----
.../views/yuthon_property_official_views.xml | 6 -----
.../views/yuthon_sub_enterprises_view.xml | 6 -----
.../views/payment_process_viwes.xml | 6 -----
.../property_accounting_approval_views.xml | 6 -----
.../property_accounts_approval_views.xml | 6 -----
.../views/property_approval_views.xml | 6 -----
.../views/property_bills_payable_views.xml | 6 -----
.../property_borrowing_approval_views.xml | 6 -----
.../views/property_capacity.xml | 6 -----
.../views/property_confirm_views.xml | 6 -----
.../property_construction_approval_views.xml | 6 -----
.../views/property_current_approval_views.xml | 6 -----
.../views/property_delegated_agent_views.xml | 6 -----
.../views/property_design_approval_views.xml | 6 -----
.../views/property_eligibility.xml | 6 -----
.../property_engineering_approval_views.xml | 6 -----
.../views/property_fee_form_views.xml | 6 -----
.../views/property_fee_spending_view.xml | 6 -----
.../views/property_handover_views.xml | 6 -----
.../views/property_intention_views.xml | 6 -----
.../views/property_lease_extension.xml | 6 -----
.../views/property_lease_renewal.xml | 6 -----
.../views/property_management.xml | 6 -----
.../views/property_management_fee.xml | 6 -----
.../views/property_meeting_approval_views.xml | 6 -----
.../views/property_merge_approval_views.xml | 6 -----
.../views/property_offline_registration.xml | 6 -----
.../views/property_penalty_proportion.xml | 6 -----
.../views/property_penalty_relief.xml | 6 -----
.../views/property_project_approval_views.xml | 6 -----
.../views/property_project_works_viwes.xml | 6 -----
.../views/property_record_views.xml | 6 -----
.../views/property_renamed.xml | 6 -----
.../views/property_rent_relief.xml | 6 -----
.../views/property_rental_conditions.xml | 6 -----
.../views/property_rental_form_views.xml | 6 -----
.../views/property_service_approval_views.xml | 6 -----
.../views/property_split_approval_views.xml | 6 -----
.../views/property_sporadic_works_views.xml | 6 -----
.../property_supervising_approval_views.xml | 6 -----
.../views/property_transaction_confirmed.xml | 6 -----
.../views/property_transfer_views.xml | 6 -----
.../views/parking_fee_approval_views.xml | 6 -----
.../views/trade_project_approval_views.xml | 6 -----
.../views/trade_reward_approval_views.xml | 6 -----
.../views/yuthon_business_approval_viwes.xml | 6 -----
.../views/yuthon_care_condolences_views.xml | 6 -----
.../views/yuthon_contract_addition_views.xml | 6 -----
.../views/yuthon_message_approval_views.xml | 6 -----
.../views/yuthon_mutual_approval_views.xml | 6 -----
.../views/yuthon_seals_approval_views.xml | 6 -----
yuthon_trade/views/yuthon_social_transfer.xml | 6 -----
.../views/yuthon_task_approval_views.xml | 6 -----
yuthon_trade/views/yuthon_trade_premium.xml | 6 -----
.../views/yuthon_work_condolences_views.xml | 6 -----
111 files changed, 31 insertions(+), 656 deletions(-)
diff --git a/room/views/room_booking_views.xml b/room/views/room_booking_views.xml
index 9b46497c1..ed4fc51aa 100644
--- a/room/views/room_booking_views.xml
+++ b/room/views/room_booking_views.xml
@@ -138,12 +138,6 @@
-
-
-
diff --git a/soong_workflow/models/soong_workflow_mixin.py b/soong_workflow/models/soong_workflow_mixin.py
index 3ac259251..ad8c671a7 100644
--- a/soong_workflow/models/soong_workflow_mixin.py
+++ b/soong_workflow/models/soong_workflow_mixin.py
@@ -92,6 +92,7 @@ class SoongWorkflowMixin(models.AbstractModel):
is_send = fields.Boolean(string="是否分发", compute='_compute_is_send', store=False,)
is_show_add_sign = fields.Boolean(string="显示加签按钮", compute='_compute_is_show_add_sign')
is_show_transfer = fields.Boolean(string="显示加签确认按钮", compute='_compute_is_show_transfer')
+ approval_result = fields.Selection([('pass', '通过'), ('fail', '不通过')], string="审批结果")
def _compute_is_show_add_sign(self):
for record in self:
@@ -1371,12 +1372,32 @@ class SoongWorkflowMixin(models.AbstractModel):
sign_el.set("invisible", "1")
header_el.append(sign_el)
+ approval_el = etree.Element("field")
+ approval_el.set("name", "approval_result")
+ approval_el.set("invisible", "1")
+ header_el.append(approval_el)
+
+ if header_el:
+ # 彩带
+ ribbon_pass = etree.Element("widget")
+ ribbon_pass.set("name", "web_ribbon")
+ ribbon_pass.set("title", "通过")
+ ribbon_pass.set("bg_color", "text-bg-success")
+ ribbon_pass.set("invisible", "approval_result != 'pass'")
+ header_el.insert(0, ribbon_pass)
+
+ ribbon_fail = etree.Element("widget")
+ ribbon_fail.set("name", "web_ribbon")
+ ribbon_fail.set("title", "不通过")
+ ribbon_fail.set("bg_color", "text-bg-danger")
+ ribbon_fail.set("invisible", "approval_result != 'fail'")
+ header_el.insert(0, ribbon_fail)
+
is_transfer_el = etree.Element("field")
is_transfer_el.set("name", "is_show_transfer")
is_transfer_el.set("invisible", "1")
header_el.append(is_transfer_el)
-
done_el = etree.Element("field")
done_el.set("name", "is_done")
done_el.set("invisible", "1")
diff --git a/soong_workflow/views/soong_workflow_inspector_views.xml b/soong_workflow/views/soong_workflow_inspector_views.xml
index 6f4ef83da..ca4639289 100644
--- a/soong_workflow/views/soong_workflow_inspector_views.xml
+++ b/soong_workflow/views/soong_workflow_inspector_views.xml
@@ -19,12 +19,6 @@