diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..304a7ac --- /dev/null +++ b/Dockerfile @@ -0,0 +1,20 @@ +# 使用 Node.js 18 作为基础镜像 +FROM 10.4.117.234:8082/node:20-alpine + +# 在容器中创建工作目录 +WORKDIR /app + +# 拷贝整个应用程序到工作目录 +COPY . . + +# 安装依赖 +RUN yarn install --registry=http://10.4.117.234:8081/repository/npm-public/ + +# 构建应用程序 +RUN yarn build + +# 暴露端口 +EXPOSE 3100 + +# 运行应用程序 +CMD [ "npm", "run", "serve" ] diff --git a/src/api/workflow/design.ts b/src/api/workflow/design.ts index 1059356..699140d 100644 --- a/src/api/workflow/design.ts +++ b/src/api/workflow/design.ts @@ -4,6 +4,7 @@ import { WorkflowPageParams, WorkflowPageResult, ChangeResultModel, + WorkflowPageModel, } from './model/index'; import { defHttp } from '/@/utils/http/axios'; @@ -22,6 +23,7 @@ enum Api { HistoryList = '/workflow/schema-history/list', HistorySetCurrent = '/workflow/schema-history/set-current', PreviewProcess = '/workflow/execute/preview', + UpdateVersion = '/workflow/schema/updateVersion', } /** * @description: 导出流程设计 @@ -51,7 +53,19 @@ export async function getDesignPage(params: WorkflowPageParams, mode: ErrorMessa }, ); } - +/** + * @description: 查询Workflow全量 + */ +export async function getDesignList(mode: ErrorMessageMode = 'modal') { + return defHttp.get>( + { + url: Api.List, + }, + { + errorMessageMode: mode, + }, + ); +} /** * @description: 获取Workflow信息 */ @@ -191,3 +205,20 @@ export async function getPreviewProcess(schemaId: string, mode: ErrorMessageMode }, ); } +/** + * updateVersion 更新流程 + */ +export async function updateProcessVersionApi( + updateVersionDto: Recordable, + mode: ErrorMessageMode = 'modal', +) { + return defHttp.post( + { + url: Api.UpdateVersion, + params: updateVersionDto, + }, + { + errorMessageMode: mode, + }, + ); +} \ No newline at end of file diff --git a/src/components/UpdateProcessVersion/index.ts b/src/components/UpdateProcessVersion/index.ts new file mode 100644 index 0000000..3420205 --- /dev/null +++ b/src/components/UpdateProcessVersion/index.ts @@ -0,0 +1,3 @@ +import { withInstall } from '/@/utils'; +import updateProcessVersionModal from './src/UpdateProcessVersionModal.vue'; +export const UpdateProcessVersionModal = withInstall(updateProcessVersionModal); //流程版本变更 \ No newline at end of file diff --git a/src/components/UpdateProcessVersion/src/UpdateProcessVersionModal.vue b/src/components/UpdateProcessVersion/src/UpdateProcessVersionModal.vue new file mode 100644 index 0000000..f8177db --- /dev/null +++ b/src/components/UpdateProcessVersion/src/UpdateProcessVersionModal.vue @@ -0,0 +1,185 @@ + + + + \ No newline at end of file diff --git a/src/utils/env.ts b/src/utils/env.ts index 34b69b9..b5218cf 100644 --- a/src/utils/env.ts +++ b/src/utils/env.ts @@ -22,7 +22,7 @@ export function getAppEnvConfig() { (import.meta.env as unknown as GlobEnvConfig) : window[ENV_NAME as any]) as unknown as GlobEnvConfig; - const { VITE_GLOB_APP_TITLE, VITE_GLOB_API_URL, VITE_GLOB_APP_SHORT_NAME, VITE_GLOB_API_URL_PREFIX, VITE_GLOB_REQUEST_TIMEOUT, VITE_GLOB_UPLOAD_URL, VITE_GLOB_UPLOAD_PREVIEW, VITE_GLOB_OUT_LINK_URL, VITE_GLOB_REPORT_URL, VITE_GLOB_PRINT_BASE_URL } = ENV; + const { VITE_GLOB_APP_TITLE, VITE_GLOB_API_URL, VITE_GLOB_APP_SHORT_NAME, VITE_GLOB_API_URL_PREFIX, VITE_GLOB_REQUEST_TIMEOUT, VITE_GLOB_UPLOAD_URL, VITE_GLOB_UPLOAD_PREVIEW, VITE_GLOB_OUT_LINK_URL, VITE_GLOB_REPORT_URL, VITE_GLOB_PRINT_BASE_URL, VITE_TENANT_ENABLED } = ENV; if (!/^[a-zA-Z\_]*$/.test(VITE_GLOB_APP_SHORT_NAME)) { warn(`VITE_GLOB_APP_SHORT_NAME Variables can only be characters/underscores, please modify in the environment variables and re-running.`); @@ -38,7 +38,8 @@ export function getAppEnvConfig() { VITE_GLOB_UPLOAD_PREVIEW, VITE_GLOB_OUT_LINK_URL, VITE_GLOB_REPORT_URL, - VITE_GLOB_PRINT_BASE_URL + VITE_GLOB_PRINT_BASE_URL, + VITE_TENANT_ENABLED }; } diff --git a/src/views/secondDev/approveFlowPage.vue b/src/views/secondDev/approveFlowPage.vue index 2e8fefe..0c54c0f 100644 --- a/src/views/secondDev/approveFlowPage.vue +++ b/src/views/secondDev/approveFlowPage.vue @@ -9,7 +9,7 @@ 关闭 - + diff --git a/src/views/workflow/design/index.vue b/src/views/workflow/design/index.vue index 3ed3c49..f9d8ab7 100644 --- a/src/views/workflow/design/index.vue +++ b/src/views/workflow/design/index.vue @@ -49,6 +49,9 @@ {{ t('分类管理') }} + {{ + t('流程版本变更') + }} diff --git a/src/views/workflow/task/components/LookProcess.vue b/src/views/workflow/task/components/LookProcess.vue index 098b347..61452ba 100644 --- a/src/views/workflow/task/components/LookProcess.vue +++ b/src/views/workflow/task/components/LookProcess.vue @@ -19,21 +19,23 @@ import LookTask from './flow/LookTask.vue'; import { LoadingBox } from '/@/components/ModalPanel/index'; import { notification } from 'ant-design-vue'; - import { onMounted, ref } from 'vue'; + import { onActivated, onMounted, ref } from 'vue'; import { useI18n } from '/@/hooks/web/useI18n'; const { t } = useI18n(); - const props = withDefaults( - defineProps<{ - processId: string; - taskId: string; - visible?: boolean; - }>(), - { - processId: '', - taskId: '', - visible: false, + const props = defineProps({ + processId: { + type: String, + default: '' }, - ); + taskId: { + type: String, + default: '' + }, + visible: { + type: Boolean, + default: false + }, + }) let emits = defineEmits(['close']); let visible = ref(false); let showLoading = ref(false); @@ -42,7 +44,7 @@ look(); } }); - async function look() { + function look() { if (props.processId) { showLoading.value = false; visible.value = true; @@ -59,4 +61,7 @@ visible.value = false; emits('close'); } + defineExpose({ + look, + });