fix: 收敛日计划作业排序与授权范围
This commit is contained in:
@@ -100,13 +100,11 @@ function handleStrategy(type: number) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function handleSort() {
|
async function handleSort() {
|
||||||
const filters = await gridApi.formApi.getValues();
|
|
||||||
const pageSize = 100;
|
const pageSize = 100;
|
||||||
let pageNo = 1;
|
let pageNo = 1;
|
||||||
const rows: LmsDailyPlanApi.DailyPlan[] = [];
|
const rows: LmsDailyPlanApi.DailyPlan[] = [];
|
||||||
while (true) {
|
while (true) {
|
||||||
const page = await getDailyPlanWorkPage({
|
const page = await getDailyPlanWorkPage({
|
||||||
...filters,
|
|
||||||
orderStatus: Number(activeOrderStatus.value),
|
orderStatus: Number(activeOrderStatus.value),
|
||||||
pageNo,
|
pageNo,
|
||||||
pageSize,
|
pageSize,
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<Modal class="w-[720px]" title="调整全局顺序">
|
<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">
|
<Table :columns="columns" :data-source="rows" :pagination="false" row-key="dailyPlanId" size="small">
|
||||||
<template #bodyCell="{ column, record }">
|
<template #bodyCell="{ column, record }">
|
||||||
<template v-if="column.dataIndex === 'material'">{{ record.materialCode }} / {{ record.materialName }}</template>
|
<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'
|
WHERE existing.parent_id=menu.id AND existing.permission=permission.code AND existing.deleted=b'0'
|
||||||
);
|
);
|
||||||
|
|
||||||
-- 已授权日计划作业菜单的角色同步获得该页面全部按钮权限。
|
-- 已授权日计划作业菜单的角色只自动获得查询权限,避免迁移过程扩大操作权限。
|
||||||
INSERT INTO system_role_menu
|
INSERT INTO system_role_menu
|
||||||
(role_id, menu_id, creator, create_time, updater, update_time, deleted, tenant_id)
|
(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
|
FROM system_role_menu work_role
|
||||||
JOIN system_menu work_menu ON work_menu.id=work_role.menu_id
|
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'
|
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'
|
JOIN system_menu query_button ON query_button.parent_id=work_menu.id
|
||||||
AND button.permission IN (
|
AND query_button.permission='lms:daily-plan:query' AND query_button.deleted=b'0'
|
||||||
'lms:daily-plan:query', 'lms:daily-plan:start', 'lms:daily-plan:operate',
|
|
||||||
'lms:daily-plan:schedule', 'lms:daily-plan:strategy'
|
|
||||||
)
|
|
||||||
WHERE work_role.deleted=b'0'
|
WHERE work_role.deleted=b'0'
|
||||||
AND NOT EXISTS (
|
AND NOT EXISTS (
|
||||||
SELECT 1 FROM system_role_menu existing
|
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'
|
AND existing.tenant_id=work_role.tenant_id AND existing.deleted=b'0'
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user