From 92cb19fbea7f44e1143d335570072432949bad5d Mon Sep 17 00:00:00 2001 From: wuweihua <88888888> Date: Mon, 9 Nov 2026 11:09:51 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=88=E5=B9=B6=E5=A5=97=E9=A4=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bms-back/sql/price/exclusive_quote_menu.sql | 80 +++++++++++++++---- .../set/composables/usePriceSetModule.js | 30 +++---- 2 files changed, 78 insertions(+), 32 deletions(-) diff --git a/bms-back/sql/price/exclusive_quote_menu.sql b/bms-back/sql/price/exclusive_quote_menu.sql index e6e831ee..f9aa8a70 100644 --- a/bms-back/sql/price/exclusive_quote_menu.sql +++ b/bms-back/sql/price/exclusive_quote_menu.sql @@ -1,29 +1,75 @@ --- Exclusive quote module menus SET NAMES utf8mb4; --- Top-level directory -INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query, route_name, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) -SELECT 2600, N'专属报价', 0, 55, 'exclusive', NULL, '', '', 1, 0, 'M', '0', '0', '', 'money', 'admin', sysdate(), N'老板客户专属报价' -FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2600 OR (path = 'exclusive' AND parent_id = 0 AND menu_type = 'M')); +-- Exclusive package menus under package management (套餐管理). +-- Idempotent: create if missing, rename/reparent if already present, drop obsolete top directory 专属报价. -SET @exParentId := (SELECT menu_id FROM sys_menu WHERE menu_id = 2600 LIMIT 1); -SET @exParentId := IFNULL(@exParentId, ( - SELECT menu_id FROM sys_menu WHERE path = 'exclusive' AND menu_type = 'M' AND parent_id = 0 ORDER BY menu_id ASC LIMIT 1 -)); +SET @pkgParentId := ( + SELECT menu_id FROM sys_menu + WHERE menu_id = 2200 + OR (menu_name = N'套餐管理' AND parent_id = 0 AND menu_type = 'M') + ORDER BY CASE WHEN menu_id = 2200 THEN 0 ELSE 1 END, menu_id + LIMIT 1 +); --- List page +-- Drop obsolete top-level directory (and role links) +DELETE FROM sys_role_menu WHERE menu_id = 2600; +DELETE FROM sys_menu + WHERE menu_id = 2600 + OR (path = 'exclusive' AND parent_id = 0 AND menu_type = 'M' AND menu_name = N'专属报价'); + +-- List: 专属套餐 INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query, route_name, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) -SELECT 2601, N'报价列表', @exParentId, 1, 'quote', 'price/exclusive/exclusiveQuote', '', 'ExclusiveQuote', 1, 0, 'C', '0', '0', 'price:exclusive:list', 'list', 'admin', sysdate(), N'专属报价列表' -FROM DUAL WHERE @exParentId IS NOT NULL AND NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2601 OR perms = 'price:exclusive:list'); +SELECT 2601, N'专属套餐', @pkgParentId, 2, 'quote', 'price/exclusive/exclusiveQuote', '', 'ExclusiveQuote', 1, 0, 'C', '0', '0', 'price:exclusive:list', 'list', 'admin', sysdate(), N'专属套餐列表' +FROM DUAL WHERE @pkgParentId IS NOT NULL AND NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2601 OR perms = 'price:exclusive:list'); + +UPDATE sys_menu +SET menu_name = N'专属套餐', + parent_id = @pkgParentId, + order_num = 2, + path = 'quote', + component = 'price/exclusive/exclusiveQuote', + route_name = 'ExclusiveQuote', + remark = N'专属套餐列表', + update_by = 'admin', + update_time = sysdate() +WHERE @pkgParentId IS NOT NULL AND (menu_id = 2601 OR perms = 'price:exclusive:list'); -- Hidden create / detail INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query, route_name, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) -SELECT 2609, N'报价新建', @exParentId, 2, 'quoteCreate', 'price/exclusive/create', '', 'ExclusiveQuoteCreate', 1, 0, 'C', '1', '0', 'price:exclusive:add', '#', 'admin', sysdate(), N'专属报价新建/编辑' -FROM DUAL WHERE @exParentId IS NOT NULL AND NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2609 OR path = 'quoteCreate'); +SELECT 2609, N'专属套餐新建', @pkgParentId, 5, 'quoteCreate', 'price/exclusive/create', '', 'ExclusiveQuoteCreate', 1, 0, 'C', '1', '0', 'price:exclusive:add', '#', 'admin', sysdate(), N'专属套餐新建/编辑' +FROM DUAL WHERE @pkgParentId IS NOT NULL AND NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2609 OR path = 'quoteCreate'); + +UPDATE sys_menu +SET menu_name = N'专属套餐新建', + parent_id = @pkgParentId, + order_num = 5, + path = 'quoteCreate', + component = 'price/exclusive/create', + route_name = 'ExclusiveQuoteCreate', + remark = N'专属套餐新建/编辑', + update_by = 'admin', + update_time = sysdate() +WHERE @pkgParentId IS NOT NULL AND (menu_id = 2609 OR path = 'quoteCreate'); INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query, route_name, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) -SELECT 2610, N'报价详情', @exParentId, 3, 'quoteDetail', 'price/exclusive/detail', '', 'ExclusiveQuoteDetail', 1, 0, 'C', '1', '0', 'price:exclusive:query', '#', 'admin', sysdate(), N'专属报价详情' -FROM DUAL WHERE @exParentId IS NOT NULL AND NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2610 OR path = 'quoteDetail'); +SELECT 2610, N'专属套餐详情', @pkgParentId, 6, 'quoteDetail', 'price/exclusive/detail', '', 'ExclusiveQuoteDetail', 1, 0, 'C', '1', '0', 'price:exclusive:query', '#', 'admin', sysdate(), N'专属套餐详情' +FROM DUAL WHERE @pkgParentId IS NOT NULL AND NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2610 OR path = 'quoteDetail'); + +UPDATE sys_menu +SET menu_name = N'专属套餐详情', + parent_id = @pkgParentId, + order_num = 6, + path = 'quoteDetail', + component = 'price/exclusive/detail', + route_name = 'ExclusiveQuoteDetail', + remark = N'专属套餐详情', + update_by = 'admin', + update_time = sysdate() +WHERE @pkgParentId IS NOT NULL AND (menu_id = 2610 OR path = 'quoteDetail'); + +-- Keep ordinary set create/detail order after list pages +UPDATE sys_menu SET order_num = 3, update_by = 'admin', update_time = sysdate() WHERE menu_id = 2208; +UPDATE sys_menu SET order_num = 4, update_by = 'admin', update_time = sysdate() WHERE menu_id = 2209; -- Buttons under list INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) @@ -52,7 +98,7 @@ FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2607 OR (pare INSERT INTO sys_role_menu (role_id, menu_id) SELECT 1, m.menu_id FROM ( - SELECT 2600 AS menu_id UNION SELECT 2601 UNION SELECT 2602 UNION SELECT 2603 + SELECT 2601 AS menu_id UNION SELECT 2602 UNION SELECT 2603 UNION SELECT 2604 UNION SELECT 2605 UNION SELECT 2606 UNION SELECT 2607 UNION SELECT 2609 UNION SELECT 2610 ) m diff --git a/bms-front/src/views/price/set/composables/usePriceSetModule.js b/bms-front/src/views/price/set/composables/usePriceSetModule.js index 9e09c06b..81035774 100644 --- a/bms-front/src/views/price/set/composables/usePriceSetModule.js +++ b/bms-front/src/views/price/set/composables/usePriceSetModule.js @@ -36,23 +36,23 @@ export function createExclusiveModule(api) { exclusiveQuote: true, onlyImportFresh: true, routes: Object.freeze({ - list: '/exclusive/quote', - create: '/exclusive/quoteCreate', - detail: '/exclusive/quoteDetail' + list: '/customer/quote', + create: '/customer/quoteCreate', + detail: '/customer/quoteDetail' }), labels: Object.freeze({ - entity: '专属报价', - entityCode: '报价编码', - entityName: '报价名称', - createButton: '新建报价', - saveProgressTitle: '正在保存专属报价', - savedSuccess: '专属报价已保存', - noActiveVersion: '该专属报价暂无生效版本', - disableConfirm: '停用后该专属报价不再参与计费命中,确认停用【{name}】?', - enableConfirm: '启用后该专属报价将重新参与计费命中,确认启用【{name}】?', - basicEditTitle: '修改专属报价基本信息', - keywordPlaceholder: '报价编码 / 名称', - detailTitleFallback: '专属报价详情' + entity: '专属套餐', + entityCode: '套餐编码', + entityName: '套餐名称', + createButton: '新建专属套餐', + saveProgressTitle: '正在保存专属套餐', + savedSuccess: '专属套餐已保存', + noActiveVersion: '该专属套餐暂无生效版本', + disableConfirm: '停用后该专属套餐不再参与计费命中,确认停用【{name}】?', + enableConfirm: '启用后该专属套餐将重新参与计费命中,确认启用【{name}】?', + basicEditTitle: '修改专属套餐基本信息', + keywordPlaceholder: '套餐编码 / 名称', + detailTitleFallback: '专属套餐详情' }) }) }