diff --git a/frontend/src/views/case-management/caseManagementFeature/components/addStep.vue b/frontend/src/views/case-management/caseManagementFeature/components/addStep.vue
index 6ef42f5806..bbe8b1f700 100644
--- a/frontend/src/views/case-management/caseManagementFeature/components/addStep.vue
+++ b/frontend/src/views/case-management/caseManagementFeature/components/addStep.vue
@@ -4,7 +4,6 @@
{{ rowIndex + 1 }}
-
>>({
columns: templateFieldColumns.value,
scroll: { x: '100%', y: props.isScrollY ? 400 : '' },
selectable: false,
noDisable: true,
- size: 'default',
showSetting: false,
showPagination: false,
draggable: { type: 'handle' },
+ draggableCondition: true,
});
+ const { propsRes, propsEvent, setProps } = useTable(undefined, tableProps.value);
+
+ watch(
+ () => props.isDisabled,
+ (val) => {
+ tableProps.value.draggableCondition = !val;
+ },
+ {
+ immediate: true,
+ }
+ );
+
// 复制步骤
function copyStep(record: StepList) {
const index = stepData.value.map((item: any) => item.id).indexOf(record.id);
diff --git a/frontend/src/views/case-management/caseManagementFeature/components/caseTable.vue b/frontend/src/views/case-management/caseManagementFeature/components/caseTable.vue
index 450dd9bd23..c875867a37 100644
--- a/frontend/src/views/case-management/caseManagementFeature/components/caseTable.vue
+++ b/frontend/src/views/case-management/caseManagementFeature/components/caseTable.vue
@@ -325,6 +325,7 @@
import MsIcon from '@/components/pure/ms-icon-font/index.vue';
import MsBaseTable from '@/components/pure/ms-table/base-table.vue';
import type { BatchActionParams, BatchActionQueryParams, MsTableColumn } from '@/components/pure/ms-table/type';
+ import { MsTableProps } from '@/components/pure/ms-table/type';
import useTable from '@/components/pure/ms-table/useTable';
import MsTableMoreAction from '@/components/pure/ms-table-more-action/index.vue';
import { ActionsItem } from '@/components/pure/ms-table-more-action/types';
@@ -832,17 +833,20 @@
}
const initDefaultFields = ref([]);
+ const tableProps = ref>>({
+ tableKey: TableKeyEnum.CASE_MANAGEMENT_TABLE,
+ selectable: true,
+ showSetting: true,
+ heightUsed: 236,
+ draggable: { type: 'handle' },
+ showSubdirectory: true,
+ paginationSize: 'mini',
+ draggableCondition: true,
+ });
+
const { propsRes, propsEvent, loadList, setLoadListParams, resetSelector, setKeyword, setAdvanceFilter } = useTable(
getCaseList,
- {
- tableKey: TableKeyEnum.CASE_MANAGEMENT_TABLE,
- selectable: true,
- showSetting: true,
- heightUsed: 236,
- draggable: { type: 'handle' },
- showSubdirectory: true,
- paginationSize: 'mini',
- },
+ tableProps.value,
(record) => {
return {
...record,
@@ -860,6 +864,18 @@
updateCaseName
);
+ const hasUpdatePermission = computed(() => hasAnyPermission(['FUNCTIONAL_CASE:READ+UPDATE']));
+
+ watch(
+ () => hasUpdatePermission.value,
+ (val) => {
+ tableProps.value.draggableCondition = val;
+ },
+ {
+ immediate: true,
+ }
+ );
+
const batchParams = ref({
selectedIds: [],
selectAll: false,