fix: 收敛日计划作业排序与授权范围
This commit is contained in:
@@ -100,13 +100,11 @@ function handleStrategy(type: number) {
|
||||
}
|
||||
|
||||
async function handleSort() {
|
||||
const filters = await gridApi.formApi.getValues();
|
||||
const pageSize = 100;
|
||||
let pageNo = 1;
|
||||
const rows: LmsDailyPlanApi.DailyPlan[] = [];
|
||||
while (true) {
|
||||
const page = await getDailyPlanWorkPage({
|
||||
...filters,
|
||||
orderStatus: Number(activeOrderStatus.value),
|
||||
pageNo,
|
||||
pageSize,
|
||||
|
||||
@@ -45,7 +45,7 @@ const [Modal, modalApi] = useVbenModal({
|
||||
|
||||
<template>
|
||||
<Modal class="w-[720px]" title="调整全局顺序">
|
||||
<div class="mb-3 text-sm text-gray-500">已加载当前订单状态下的全部计划。列表始终按顺序号从小到大处理;权重模式下也由顺序号决定轮转先后。</div>
|
||||
<div class="mb-3 text-sm text-gray-500">已加载当前订单状态下的全部计划,不受页面搜索条件影响。列表始终按顺序号从小到大处理;权重模式下也由顺序号决定轮转先后。</div>
|
||||
<Table :columns="columns" :data-source="rows" :pagination="false" row-key="dailyPlanId" size="small">
|
||||
<template #bodyCell="{ column, record }">
|
||||
<template v-if="column.dataIndex === 'material'">{{ record.materialCode }} / {{ record.materialName }}</template>
|
||||
|
||||
@@ -90,22 +90,43 @@ WHERE menu.id = COALESCE(
|
||||
WHERE existing.parent_id=menu.id AND existing.permission=permission.code AND existing.deleted=b'0'
|
||||
);
|
||||
|
||||
-- 已授权日计划作业菜单的角色同步获得该页面全部按钮权限。
|
||||
-- 已授权日计划作业菜单的角色只自动获得查询权限,避免迁移过程扩大操作权限。
|
||||
INSERT INTO system_role_menu
|
||||
(role_id, menu_id, creator, create_time, updater, update_time, deleted, tenant_id)
|
||||
SELECT DISTINCT work_role.role_id, button.id, '1', NOW(), '1', NOW(), b'0', work_role.tenant_id
|
||||
SELECT DISTINCT work_role.role_id, query_button.id, '1', NOW(), '1', NOW(), b'0', work_role.tenant_id
|
||||
FROM system_role_menu work_role
|
||||
JOIN system_menu work_menu ON work_menu.id=work_role.menu_id
|
||||
AND work_menu.component='lms/daily-plan/work/index' AND work_menu.deleted=b'0'
|
||||
JOIN system_menu button ON button.parent_id=work_menu.id AND button.type=3 AND button.deleted=b'0'
|
||||
AND button.permission IN (
|
||||
'lms:daily-plan:query', 'lms:daily-plan:start', 'lms:daily-plan:operate',
|
||||
'lms:daily-plan:schedule', 'lms:daily-plan:strategy'
|
||||
)
|
||||
JOIN system_menu query_button ON query_button.parent_id=work_menu.id
|
||||
AND query_button.permission='lms:daily-plan:query' AND query_button.deleted=b'0'
|
||||
WHERE work_role.deleted=b'0'
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM system_role_menu existing
|
||||
WHERE existing.role_id=work_role.role_id AND existing.menu_id=button.id
|
||||
WHERE existing.role_id=work_role.role_id AND existing.menu_id=query_button.id
|
||||
AND existing.tenant_id=work_role.tenant_id AND existing.deleted=b'0'
|
||||
);
|
||||
|
||||
-- 其他作业按钮仅映射角色迁移前已拥有的同名权限,不因新增作业菜单而提权。
|
||||
INSERT INTO system_role_menu
|
||||
(role_id, menu_id, creator, create_time, updater, update_time, deleted, tenant_id)
|
||||
SELECT DISTINCT work_role.role_id, work_button.id, '1', NOW(), '1', NOW(), b'0', work_role.tenant_id
|
||||
FROM system_role_menu work_role
|
||||
JOIN system_menu work_menu ON work_menu.id=work_role.menu_id
|
||||
AND work_menu.component='lms/daily-plan/work/index' AND work_menu.deleted=b'0'
|
||||
JOIN system_menu work_button ON work_button.parent_id=work_menu.id AND work_button.type=3
|
||||
AND work_button.permission IN (
|
||||
'lms:daily-plan:start', 'lms:daily-plan:operate',
|
||||
'lms:daily-plan:schedule', 'lms:daily-plan:strategy'
|
||||
) AND work_button.deleted=b'0'
|
||||
JOIN system_role_menu source_role ON source_role.role_id=work_role.role_id
|
||||
AND source_role.tenant_id=work_role.tenant_id AND source_role.deleted=b'0'
|
||||
JOIN system_menu source_button ON source_button.id=source_role.menu_id
|
||||
AND source_button.permission=work_button.permission AND source_button.deleted=b'0'
|
||||
AND source_button.id<>work_button.id
|
||||
WHERE work_role.deleted=b'0'
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM system_role_menu existing
|
||||
WHERE existing.role_id=work_role.role_id AND existing.menu_id=work_button.id
|
||||
AND existing.tenant_id=work_role.tenant_id AND existing.deleted=b'0'
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user