diff --git a/apps/web-antd/src/api/workflow/definition/index.ts b/apps/web-antd/src/api/workflow/definition/index.ts index a450313d..b78d736a 100644 --- a/apps/web-antd/src/api/workflow/definition/index.ts +++ b/apps/web-antd/src/api/workflow/definition/index.ts @@ -80,15 +80,15 @@ export function workflowDefinitionCopy(id: ID) { /** * 导入流程定义 - * @param file 模型文件 * @returns boolean */ -export function workflowDefinitionImport(file: File) { +export function workflowDefinitionImport(data: { + category: ID; + file: Blob | File; +}) { return requestClient.postWithMsg( '/workflow/definition/importDef', - { - file, - }, + data, { headers: { 'Content-Type': 'multipart/form-data' } }, ); } diff --git a/apps/web-antd/src/views/workflow/processDefinition/category-tree.vue b/apps/web-antd/src/views/workflow/processDefinition/category-tree.vue index 4b2d4d29..6e7c0b5a 100644 --- a/apps/web-antd/src/views/workflow/processDefinition/category-tree.vue +++ b/apps/web-antd/src/views/workflow/processDefinition/category-tree.vue @@ -25,7 +25,7 @@ const emit = defineEmits<{ const selectCode = defineModel('selectCode', { required: true, - type: Array as PropType, + type: Array as PropType, }); const searchValue = defineModel('searchValue', { @@ -98,7 +98,7 @@ onMounted(loadTree); v-if="categoryTreeArray.length > 0" v-model:selected-keys="selectCode" :class="$attrs.class" - :field-names="{ title: 'categoryName', key: 'categoryCode' }" + :field-names="{ title: 'categoryName', key: 'id' }" :show-line="{ showLeafIcon: false }" :tree-data="categoryTreeArray" :virtual="false" diff --git a/apps/web-antd/src/views/workflow/processDefinition/index.vue b/apps/web-antd/src/views/workflow/processDefinition/index.vue index c8d00325..84105524 100644 --- a/apps/web-antd/src/views/workflow/processDefinition/index.vue +++ b/apps/web-antd/src/views/workflow/processDefinition/index.vue @@ -25,10 +25,11 @@ import { downloadByData } from '#/utils/file/download'; import CategoryTree from './category-tree.vue'; import { ActivityStatusEnum } from './constant'; import { columns, querySchema } from './data'; +import processDefinitionDeployModal from './process-definition-deploy-modal.vue'; import processDefinitionModal from './process-definition-modal.vue'; // 左边部门用 -const selectedCode = ref([]); +const selectedCode = ref([]); const formOptions: VbenFormProps = { schema: querySchema(), @@ -197,6 +198,27 @@ async function handleExportXml(row: any) { hideLoading(); } } + +const [ProcessDefinitionDeployModal, deployModalApi] = useVbenModal({ + connectedComponent: processDefinitionDeployModal, +}); + +/** + * 部署流程xml + */ +function handleDeploy() { + if (selectedCode.value.length === 0) { + message.warning('请先选择流程分类'); + return; + } + const selectedCategory = selectedCode.value[0]; + if (selectedCategory === 0) { + message.warning('不可选择根目录进行部署, 请选择子分类'); + return; + } + deployModalApi.setData({ category: selectedCategory }); + deployModalApi.open(); +} diff --git a/apps/web-antd/src/views/workflow/processDefinition/process-definition-deploy-modal.vue b/apps/web-antd/src/views/workflow/processDefinition/process-definition-deploy-modal.vue new file mode 100644 index 00000000..b3a1d4df --- /dev/null +++ b/apps/web-antd/src/views/workflow/processDefinition/process-definition-deploy-modal.vue @@ -0,0 +1,73 @@ + + +