From 769d277c8ccf97a40b3b4a93234eb4241f070194 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= Date: Sun, 20 Sep 2026 19:33:54 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- yuthon_work_brand/__manifest__.py | 2 + .../views/receivable_type_menus.xml | 355 ++++++++++++++++++ 2 files changed, 357 insertions(+) create mode 100644 yuthon_work_brand/views/receivable_type_menus.xml diff --git a/yuthon_work_brand/__manifest__.py b/yuthon_work_brand/__manifest__.py index bb0523d6f..df73d8a22 100644 --- a/yuthon_work_brand/__manifest__.py +++ b/yuthon_work_brand/__manifest__.py @@ -14,6 +14,8 @@ 'security/ir.model.access.csv', 'views/yuthon_none_views.xml', 'views/hr_menus.xml', + # 应收账单按「应收类型」拆分的子菜单(必须排在 hr_menus.xml 之后,父菜单在 hr_menus.xml 中定义) + 'views/receivable_type_menus.xml', 'views/purchase_menus.xml', 'views/executive_manage.xml', 'views/stock_menus.xml', diff --git a/yuthon_work_brand/views/receivable_type_menus.xml b/yuthon_work_brand/views/receivable_type_menus.xml new file mode 100644 index 000000000..7eef50954 --- /dev/null +++ b/yuthon_work_brand/views/receivable_type_menus.xml @@ -0,0 +1,355 @@ + + + + + + + property.accounts.receivable.search.receivable.type + property.accounts.receivable + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 租金 + property.accounts.receivable + tree + + [('management_type_id.name', '=', '租金')] + + {'search_default_group_company_id': True, 'group_by': ['company_id', 'due_date:year', 'due_date:month'], 'orderedBy': [{'name': 'due_date', 'asc': False}], 'searchpanel_default_deposit_state': 'unpaid'} + + + + + + + + 管理费 + property.accounts.receivable + tree + + [('management_type_id.name', '=', '管理费')] + + {'search_default_group_company_id': True, 'group_by': ['company_id', 'due_date:year', 'due_date:month'], 'orderedBy': [{'name': 'due_date', 'asc': False}], 'searchpanel_default_deposit_state': 'unpaid'} + + + + + + + + 水费 + property.accounts.receivable + tree + + [('management_type_id.name', '=', '水费')] + + {'search_default_group_company_id': True, 'group_by': ['company_id', 'due_date:year', 'due_date:month'], 'orderedBy': [{'name': 'due_date', 'asc': False}], 'searchpanel_default_deposit_state': 'unpaid'} + + + + + + + + 电费 + property.accounts.receivable + tree + + [('management_type_id.name', '=', '电费')] + + {'search_default_group_company_id': True, 'group_by': ['company_id', 'due_date:year', 'due_date:month'], 'orderedBy': [{'name': 'due_date', 'asc': False}], 'searchpanel_default_deposit_state': 'unpaid'} + + + + + + + + 违约金 + property.accounts.receivable + tree + + [('management_type_id.name', '=', '违约金')] + + {'search_default_group_company_id': True, 'group_by': ['company_id', 'due_date:year', 'due_date:month'], 'orderedBy': [{'name': 'due_date', 'asc': False}], 'searchpanel_default_deposit_state': 'unpaid'} + + + + + + + + 押金 + property.accounts.receivable + tree + + [('management_type_id.name', '=', '押金')] + + {'search_default_group_company_id': True, 'group_by': ['company_id', 'due_date:year', 'due_date:month'], 'orderedBy': [{'name': 'due_date', 'asc': False}], 'searchpanel_default_deposit_state': 'unpaid'} + + + + + + + + 有偿服务收入 + property.accounts.receivable + tree + + [('management_type_id.name', '=', '有偿服务收入')] + + {'search_default_group_company_id': True, 'group_by': ['company_id', 'due_date:year', 'due_date:month'], 'orderedBy': [{'name': 'due_date', 'asc': False}], 'searchpanel_default_deposit_state': 'unpaid'} + + + + + + + + 广告灯箱费 + property.accounts.receivable + tree + + [('management_type_id.name', '=', '广告灯箱费')] + + {'search_default_group_company_id': True, 'group_by': ['company_id', 'due_date:year', 'due_date:month'], 'orderedBy': [{'name': 'due_date', 'asc': False}], 'searchpanel_default_deposit_state': 'unpaid'} + + + + + + + + 停车费 + property.accounts.receivable + tree + + [('management_type_id.name', '=', '停车费')] + + {'search_default_group_company_id': True, 'group_by': ['company_id', 'due_date:year', 'due_date:month'], 'orderedBy': [{'name': 'due_date', 'asc': False}], 'searchpanel_default_deposit_state': 'unpaid'} + + + + + + + + 灯箱 + property.accounts.receivable + tree + + [('management_type_id.name', '=', '灯箱')] + + {'search_default_group_company_id': True, 'group_by': ['company_id', 'due_date:year', 'due_date:month'], 'orderedBy': [{'name': 'due_date', 'asc': False}], 'searchpanel_default_deposit_state': 'unpaid'} + + + + + + + + 管子间 + property.accounts.receivable + tree + + [('management_type_id.name', '=', '管子间')] + + {'search_default_group_company_id': True, 'group_by': ['company_id', 'due_date:year', 'due_date:month'], 'orderedBy': [{'name': 'due_date', 'asc': False}], 'searchpanel_default_deposit_state': 'unpaid'} + + + + + + + + 更名费 + property.accounts.receivable + tree + + [('management_type_id.name', '=', '更名费')] + + {'search_default_group_company_id': True, 'group_by': ['company_id', 'due_date:year', 'due_date:month'], 'orderedBy': [{'name': 'due_date', 'asc': False}], 'searchpanel_default_deposit_state': 'unpaid'} + + + + + + + + 维修费 + property.accounts.receivable + tree + + [('management_type_id.name', '=', '维修费')] + + {'search_default_group_company_id': True, 'group_by': ['company_id', 'due_date:year', 'due_date:month'], 'orderedBy': [{'name': 'due_date', 'asc': False}], 'searchpanel_default_deposit_state': 'unpaid'} + + + + + + + + 其他费用 + property.accounts.receivable + tree + + [('management_type_id.name', '=', '其他费用')] + + {'search_default_group_company_id': True, 'group_by': ['company_id', 'due_date:year', 'due_date:month'], 'orderedBy': [{'name': 'due_date', 'asc': False}], 'searchpanel_default_deposit_state': 'unpaid'} + + + + + + + + 评估费 + property.accounts.receivable + tree + + [('management_type_id.name', '=', '评估费')] + + {'search_default_group_company_id': True, 'group_by': ['company_id', 'due_date:year', 'due_date:month'], 'orderedBy': [{'name': 'due_date', 'asc': False}], 'searchpanel_default_deposit_state': 'unpaid'} + + + + + + + + 保险费 + property.accounts.receivable + tree + + [('management_type_id.name', '=', '保险费')] + + {'search_default_group_company_id': True, 'group_by': ['company_id', 'due_date:year', 'due_date:month'], 'orderedBy': [{'name': 'due_date', 'asc': False}], 'searchpanel_default_deposit_state': 'unpaid'} + + + + + +