From bba989c0af760c8816cc4108af1ca5edd9d2c31f Mon Sep 17 00:00:00 2001 From: long <452591453@qq.com> Date: Fri, 22 May 2026 11:47:15 +0800 Subject: [PATCH] =?UTF-8?q?fix(stats/self=5Finput):=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E4=BF=9D=E5=AD=98=E4=B8=8D=E5=85=A5=E5=BA=93/=E8=B7=AF?= =?UTF-8?q?=E7=94=B1=20404=EF=BC=8C=E8=A1=A5=E5=85=A8=E9=83=A8=E9=97=A8?= =?UTF-8?q?=E4=B8=8E=E8=87=AA=E5=AA=92=E4=BD=93=E6=9D=A5=E6=BA=90=E4=B8=8B?= =?UTF-8?q?=E6=8B=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 模型去掉 defaultSoftDelete=0,避免 ThinkPHP 软删过滤导致新增记录"隐形" - 菜单 paths 改相对路径并新增「自录数据统计」目录,迁移已有菜单 - Lists/Overview 补部门关联、支持按部门筛选 - 数据权限改由 self_input_stats_view_all_roles 白名单 + DataScope 控制, 编辑/删除完全交给按钮权限校验(移除"仅本人可改"硬限制) - 新增 /stats.self_input/mediaSourceOptions 接口,统计页/账户消耗页/录入弹窗 共用 useMediaSourceOptions + MediaSourceSelect,去重动态加载 Co-authored-by: Cursor --- admin/src/api/self_input_stats.ts | 5 + .../stats/self_input/MediaSourceSelect.vue | 55 ++++++++ .../views/stats/self_input/account_cost.vue | 114 ++++++++++++++--- .../src/views/stats/self_input/cost-edit.vue | 27 ++-- admin/src/views/stats/self_input/index.vue | 120 ++++++++++++++---- .../stats/self_input/useMediaSourceOptions.ts | 33 +++++ .../src/views/stats/self_input/yeji-edit.vue | 28 ++-- .../controller/stats/SelfInputController.php | 10 ++ .../http/middleware/AuthMiddleware.php | 13 ++ .../lists/stats/PersonalAccountCostLists.php | 18 ++- .../lists/stats/PersonalYejiLists.php | 18 ++- .../logic/stats/PersonalAccountCostLogic.php | 12 -- .../logic/stats/PersonalStatsScopeTrait.php | 117 +++++++++++++++-- .../logic/stats/PersonalYejiLogic.php | 12 -- .../adminapi/logic/stats/SelfInputLogic.php | 82 +++++++++--- .../model/stats/PersonalAccountCost.php | 2 - .../app/common/model/stats/PersonalYeji.php | 2 - server/config/project.php | 5 + .../add_self_input_stats_menu.sql | 78 +++++++++++- 19 files changed, 621 insertions(+), 130 deletions(-) create mode 100644 admin/src/views/stats/self_input/MediaSourceSelect.vue create mode 100644 admin/src/views/stats/self_input/useMediaSourceOptions.ts diff --git a/admin/src/api/self_input_stats.ts b/admin/src/api/self_input_stats.ts index 2036e8de..bea4cf1a 100644 --- a/admin/src/api/self_input_stats.ts +++ b/admin/src/api/self_input_stats.ts @@ -4,6 +4,11 @@ export function getSelfInputOverview(params: any) { return request.get({ url: '/stats.self_input/overview', params }) } +/** 自媒体来源下拉(业绩+账户消耗已录入值去重) */ +export function getSelfInputMediaSourceOptions() { + return request.get({ url: '/stats.self_input/mediaSourceOptions' }) +} + export function personalYejiLists(params: any) { return request.get({ url: '/stats.personal_yeji/lists', params }) } diff --git a/admin/src/views/stats/self_input/MediaSourceSelect.vue b/admin/src/views/stats/self_input/MediaSourceSelect.vue new file mode 100644 index 00000000..ef458473 --- /dev/null +++ b/admin/src/views/stats/self_input/MediaSourceSelect.vue @@ -0,0 +1,55 @@ + + + diff --git a/admin/src/views/stats/self_input/account_cost.vue b/admin/src/views/stats/self_input/account_cost.vue index ea75e188..7438aa7f 100644 --- a/admin/src/views/stats/self_input/account_cost.vue +++ b/admin/src/views/stats/self_input/account_cost.vue @@ -21,13 +21,31 @@ v-model:endTime="queryParams.end_date" /> - - + + + + @@ -41,9 +59,7 @@ 查询 重置 - - 返回统计 - + 返回统计 @@ -66,12 +82,17 @@ + + +