diff --git a/sun_badge_menu/models/ir_ui_menu.py b/sun_badge_menu/models/ir_ui_menu.py index 9e64494b4..b8ef731a0 100644 --- a/sun_badge_menu/models/ir_ui_menu.py +++ b/sun_badge_menu/models/ir_ui_menu.py @@ -35,6 +35,8 @@ class IrUiMenu(models.Model): is_phone = fields.Boolean(string="手机菜单",default=False) is_pc = fields.Boolean(string="PC菜单",default=True) + badge_function = fields.Char(string="菜单角标计算函数") + @api.model @tools.ormcache_context('self._uid', 'debug', keys=('lang',)) def load_menus(self, debug): @@ -43,7 +45,7 @@ class IrUiMenu(models.Model): :return: the menu root :rtype: dict('children': menu_nodes) """ - fields = ['name', 'sequence', 'parent_id', 'action', 'web_icon','show_badge_count'] + fields = ['name', 'sequence', 'parent_id', 'action', 'web_icon','show_badge_count','badge_function'] menu_roots = self.get_user_roots() menu_roots_data = menu_roots.read(fields) if menu_roots else [] menu_root = { @@ -166,7 +168,10 @@ class IrUiMenu(models.Model): # 不仅仅是 form 表单,获取 model res_model = action_record.res_model if res_model in self.env: - if hasattr(self.env[res_model], 'get_menu_badge_count'): + # 先检查 menu['badge_function'] + if 'badge_function' in menu and menu['badge_function'] and hasattr(self.env[res_model], menu['badge_function']): + badge_count = getattr(self.env[res_model], menu['badge_function'])(action_record) + elif hasattr(self.env[res_model], 'get_menu_badge_count'): badge_count = self.env[res_model].get_menu_badge_count(action_record) elif hasattr(self.env[res_model], 'get_no_read_count'): badge_count = self.env[res_model].get_no_read_count() diff --git a/sun_badge_menu/views/ir_ui_menu.xml b/sun_badge_menu/views/ir_ui_menu.xml index 41f9a09f1..22f2fa443 100644 --- a/sun_badge_menu/views/ir_ui_menu.xml +++ b/sun_badge_menu/views/ir_ui_menu.xml @@ -8,6 +8,7 @@ + diff --git a/yuthon_report/static/src/components/yuthon_report/yuthon_report.js b/yuthon_report/static/src/components/yuthon_report/yuthon_report.js index 745f5619e..da3e171c7 100644 --- a/yuthon_report/static/src/components/yuthon_report/yuthon_report.js +++ b/yuthon_report/static/src/components/yuthon_report/yuthon_report.js @@ -43,6 +43,7 @@ class YouthonReport extends Component { localeText: AG_GRID_LOCALE_CN, theme:agGrid.themeMaterial, columnDefs: this.config.columns || [], + groupDefaultExpanded:1, // 分组展开 rowData: [], sideBar: true, defaultColDef: { sortable: true, filter: true, width: 200,minWidth: 150,flex: false, resizable: false }, diff --git a/yuthon_report/static/src/components/yuthon_report/yuthon_report.xml b/yuthon_report/static/src/components/yuthon_report/yuthon_report.xml index f80b10267..2c7b36882 100644 --- a/yuthon_report/static/src/components/yuthon_report/yuthon_report.xml +++ b/yuthon_report/static/src/components/yuthon_report/yuthon_report.xml @@ -7,7 +7,7 @@
-
+
未处理违约金
¥245,890.00
@@ -19,14 +19,14 @@
-
+
已收回违约金
¥1,320,560.00
▲ 8.2% 较上月
-
+
@@ -111,6 +111,15 @@
+ + +
+
+
报表名称
+
+
+ +
diff --git a/yuthon_report/views/att_report_view.xml b/yuthon_report/views/att_report_view.xml index 03e459840..3e2ac39ea 100644 --- a/yuthon_report/views/att_report_view.xml +++ b/yuthon_report/views/att_report_view.xml @@ -23,7 +23,7 @@ {"headerName": "申请原因", "field": "申请原因", "flex": 1}, {"headerName": "发起时间", "field": "发起时间", "flex": 1}, {"headerName": "最后操作时间", "field": "最后操作时间", "flex": 1}, - {"headerName": "审批状态", "field": "审批状态", "flex": 1} + {"headerName": "审批状态", "field": "审批状态", "flex": 1,'rowGroup':true} ] } }