From ed9448d1badddcf13a07985af51292f48a47d7ea Mon Sep 17 00:00:00 2001 From: dap <15891557205@163.com> Date: Mon, 16 Dec 2024 09:15:04 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E6=B5=81=E7=A8=8B=E9=83=A8=E7=BD=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/api/workflow/definition/index.ts | 10 +-- .../processDefinition/category-tree.vue | 4 +- .../workflow/processDefinition/index.vue | 28 ++++++- .../process-definition-deploy-modal.vue | 73 +++++++++++++++++++ 4 files changed, 107 insertions(+), 8 deletions(-) create mode 100644 apps/web-antd/src/views/workflow/processDefinition/process-definition-deploy-modal.vue 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 @@ + + +