From 8045c5535b08e89381d98eaee71f1187d1735ac7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A7=9C=E7=8E=89=E7=90=A6?= <7507756+jiang_yuqi@user.noreply.gitee.com> Date: Mon, 19 Aug 2024 23:37:38 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- yanzhu-ui-vue3/package.json | 9 +- .../src/api/workflow/category/index.ts | 55 ++ .../src/api/workflow/category/types.ts | 24 + .../src/api/workflow/deploy/index.ts | 45 ++ .../src/api/workflow/deploy/types.ts | 19 + yanzhu-ui-vue3/src/api/workflow/form/index.ts | 46 ++ yanzhu-ui-vue3/src/api/workflow/form/types.ts | 17 + .../src/api/workflow/identity/index.ts | 19 + .../src/api/workflow/identity/types.ts | 11 + .../src/api/workflow/listener/index.ts | 81 +++ .../src/api/workflow/listener/types.ts | 40 ++ .../src/api/workflow/model/index.ts | 86 +++ .../src/api/workflow/model/types.ts | 38 ++ .../src/api/workflow/work/process.ts | 108 ++++ yanzhu-ui-vue3/src/api/workflow/work/task.ts | 73 +++ yanzhu-ui-vue3/src/api/workflow/work/types.ts | 32 ++ .../src/views/workflow/category/index.vue | 210 +++++++ .../src/views/workflow/deploy/index.vue | 235 ++++++++ .../src/views/workflow/form/index.vue | 260 +++++++++ .../src/views/workflow/listener/index.vue | 479 +++++++++++++++ .../src/views/workflow/model/index.vue | 436 ++++++++++++++ .../src/views/workflow/work/claim.vue | 142 +++++ .../src/views/workflow/work/copy.vue | 133 +++++ .../src/views/workflow/work/detail.vue | 544 ++++++++++++++++++ .../src/views/workflow/work/finished.vue | 152 +++++ .../src/views/workflow/work/initiate.vue | 163 ++++++ .../src/views/workflow/work/own.vue | 202 +++++++ .../src/views/workflow/work/start.vue | 76 +++ .../src/views/workflow/work/todo.vue | 145 +++++ yanzhu-ui-vue3/vite/plugins/compression.ts | 28 + yanzhu-ui-vue3/vite/plugins/icons.ts | 8 + yanzhu-ui-vue3/vite/plugins/unocss.ts | 13 + 32 files changed, 3926 insertions(+), 3 deletions(-) create mode 100644 yanzhu-ui-vue3/src/api/workflow/category/index.ts create mode 100644 yanzhu-ui-vue3/src/api/workflow/category/types.ts create mode 100644 yanzhu-ui-vue3/src/api/workflow/deploy/index.ts create mode 100644 yanzhu-ui-vue3/src/api/workflow/deploy/types.ts create mode 100644 yanzhu-ui-vue3/src/api/workflow/form/index.ts create mode 100644 yanzhu-ui-vue3/src/api/workflow/form/types.ts create mode 100644 yanzhu-ui-vue3/src/api/workflow/identity/index.ts create mode 100644 yanzhu-ui-vue3/src/api/workflow/identity/types.ts create mode 100644 yanzhu-ui-vue3/src/api/workflow/listener/index.ts create mode 100644 yanzhu-ui-vue3/src/api/workflow/listener/types.ts create mode 100644 yanzhu-ui-vue3/src/api/workflow/model/index.ts create mode 100644 yanzhu-ui-vue3/src/api/workflow/model/types.ts create mode 100644 yanzhu-ui-vue3/src/api/workflow/work/process.ts create mode 100644 yanzhu-ui-vue3/src/api/workflow/work/task.ts create mode 100644 yanzhu-ui-vue3/src/api/workflow/work/types.ts create mode 100644 yanzhu-ui-vue3/src/views/workflow/category/index.vue create mode 100644 yanzhu-ui-vue3/src/views/workflow/deploy/index.vue create mode 100644 yanzhu-ui-vue3/src/views/workflow/form/index.vue create mode 100644 yanzhu-ui-vue3/src/views/workflow/listener/index.vue create mode 100644 yanzhu-ui-vue3/src/views/workflow/model/index.vue create mode 100644 yanzhu-ui-vue3/src/views/workflow/work/claim.vue create mode 100644 yanzhu-ui-vue3/src/views/workflow/work/copy.vue create mode 100644 yanzhu-ui-vue3/src/views/workflow/work/detail.vue create mode 100644 yanzhu-ui-vue3/src/views/workflow/work/finished.vue create mode 100644 yanzhu-ui-vue3/src/views/workflow/work/initiate.vue create mode 100644 yanzhu-ui-vue3/src/views/workflow/work/own.vue create mode 100644 yanzhu-ui-vue3/src/views/workflow/work/start.vue create mode 100644 yanzhu-ui-vue3/src/views/workflow/work/todo.vue create mode 100644 yanzhu-ui-vue3/vite/plugins/compression.ts create mode 100644 yanzhu-ui-vue3/vite/plugins/icons.ts create mode 100644 yanzhu-ui-vue3/vite/plugins/unocss.ts diff --git a/yanzhu-ui-vue3/package.json b/yanzhu-ui-vue3/package.json index 517b2618..86bd93d8 100644 --- a/yanzhu-ui-vue3/package.json +++ b/yanzhu-ui-vue3/package.json @@ -1,8 +1,8 @@ { - "name": "ruoyi", + "name": "yanzhu", "version": "3.6.2", - "description": "若依管理系统", - "author": "若依", + "description": "总包单位管理系统", + "author": "研筑", "license": "MIT", "scripts": { "dev": "vite", @@ -19,6 +19,9 @@ "@vueup/vue-quill": "1.1.0", "@vueuse/core": "9.5.0", "axios": "0.27.2", + "bpmn-js": "^8.10.0", + "bpmn-js-task-resize": "^1.2.0", + "bpmn-js-token-simulation": "^0.10.0", "echarts": "5.4.0", "element-plus": "2.2.27", "file-saver": "2.0.5", diff --git a/yanzhu-ui-vue3/src/api/workflow/category/index.ts b/yanzhu-ui-vue3/src/api/workflow/category/index.ts new file mode 100644 index 00000000..d9259059 --- /dev/null +++ b/yanzhu-ui-vue3/src/api/workflow/category/index.ts @@ -0,0 +1,55 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { CategoryForm, CategoryQuery, CategoryVO } from '@/api/workflow/category/types'; + +// 查询流程分类列表 +export function listCategory(query: CategoryQuery): AxiosPromise { + return request({ + url: '/workflow/category/list', + method: 'get', + params: query + }); +} + +// 查询流程分类列表 +export function listAllCategory(query?: CategoryQuery): AxiosPromise { + return request({ + url: '/workflow/category/listAll', + method: 'get', + params: query + }); +} + +// 查询流程分类详细 +export function getCategory(categoryId?: string | number): AxiosPromise { + return request({ + url: '/workflow/category/' + categoryId, + method: 'get' + }); +} + +// 新增流程分类 +export function addCategory(data: CategoryForm) { + return request({ + url: '/workflow/category', + method: 'post', + data: data + }); +} + +// 修改流程分类 +export function updateCategory(data: CategoryForm) { + return request({ + url: '/workflow/category', + method: 'put', + data: data + }); +} + +// 删除流程分类 +export function delCategory(categoryIds?: string | number | Array) { + return request({ + url: '/workflow/category/' + categoryIds, + method: 'delete' + }); +} diff --git a/yanzhu-ui-vue3/src/api/workflow/category/types.ts b/yanzhu-ui-vue3/src/api/workflow/category/types.ts new file mode 100644 index 00000000..e8fcccda --- /dev/null +++ b/yanzhu-ui-vue3/src/api/workflow/category/types.ts @@ -0,0 +1,24 @@ +/** + * 流程分类查询对象类型 + */ +export interface CategoryQuery extends PageQuery { + categoryName?: string; + code?: string; +} + +/** + * 流程分类返回对象 + */ +export interface CategoryVO extends BaseEntity { + categoryId: string | number; + categoryName: string; + code: string; + remark: string; +} + +export interface CategoryForm { + categoryId?: string | number; + categoryName?: string; + code?: string; + remark?: string; +} diff --git a/yanzhu-ui-vue3/src/api/workflow/deploy/index.ts b/yanzhu-ui-vue3/src/api/workflow/deploy/index.ts new file mode 100644 index 00000000..5afda887 --- /dev/null +++ b/yanzhu-ui-vue3/src/api/workflow/deploy/index.ts @@ -0,0 +1,45 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { DeployVO, ProcessQuery } from '@/api/workflow/deploy/types'; + +// 查询流程部署列表 +export function listDeploy(query: ProcessQuery): AxiosPromise { + return request({ + url: '/workflow/deploy/list', + method: 'get', + params: query + }); +} + +export function listPublish(query: ProcessQuery): AxiosPromise { + return request({ + url: '/workflow/deploy/publishList', + method: 'get', + params: query + }); +} + +// 获取流程模型流程图 +export function getBpmnXml(definitionId?: string) { + return request({ + url: '/workflow/deploy/bpmnXml/' + definitionId, + method: 'get' + }); +} + +// 修改流程状态 +export function changeState(params?: any) { + return request({ + url: '/workflow/deploy/changeState', + method: 'put', + params: params + }); +} + +// 删除流程部署 +export function delDeploy(deployIds?: string | string[]) { + return request({ + url: '/workflow/deploy/' + deployIds, + method: 'delete' + }); +} diff --git a/yanzhu-ui-vue3/src/api/workflow/deploy/types.ts b/yanzhu-ui-vue3/src/api/workflow/deploy/types.ts new file mode 100644 index 00000000..cda78447 --- /dev/null +++ b/yanzhu-ui-vue3/src/api/workflow/deploy/types.ts @@ -0,0 +1,19 @@ +export interface DeployVO { + definitionId: string; + processName: string; + processKey: string; + category: string; + version: number; + formId: string | number; + formName: string; + deploymentId: string; + suspended: boolean; + deploymentTime: string; +} + +export interface ProcessQuery extends PageQuery { + processKey?: string; + processName?: string; + category?: string; + state?: string; +} diff --git a/yanzhu-ui-vue3/src/api/workflow/form/index.ts b/yanzhu-ui-vue3/src/api/workflow/form/index.ts new file mode 100644 index 00000000..68065ce0 --- /dev/null +++ b/yanzhu-ui-vue3/src/api/workflow/form/index.ts @@ -0,0 +1,46 @@ +import request from '@/utils/request'; +import { FormForm, FormQuery, FormVO } from './types'; +import { AxiosPromise } from 'axios'; + +// 查询流程表单列表 +export function listForm(query?: FormQuery): AxiosPromise { + return request({ + url: '/workflow/form/list', + method: 'get', + params: query + }); +} + +// 查询流程表单详细 +export function getForm(formId: string | number): AxiosPromise { + return request({ + url: '/workflow/form/' + formId, + method: 'get' + }); +} + +// 新增流程表单 +export function addForm(data: FormForm) { + return request({ + url: '/workflow/form', + method: 'post', + data: data + }); +} + +// 修改流程表单 +export function updateForm(data: FormForm) { + return request({ + url: '/workflow/form', + method: 'put', + data: data + }); +} + +// 删除流程表单 +export function delForm(formId?: string | number | (string | number)[]) { + return request({ + url: '/workflow/form/' + formId, + method: 'delete' + }); +} diff --git a/yanzhu-ui-vue3/src/api/workflow/form/types.ts b/yanzhu-ui-vue3/src/api/workflow/form/types.ts new file mode 100644 index 00000000..53e8e270 --- /dev/null +++ b/yanzhu-ui-vue3/src/api/workflow/form/types.ts @@ -0,0 +1,17 @@ +export interface FormVO extends BaseEntity { + formId: number | string; + formName: string; + content: string; + remark: string; +} + +export interface FormForm { + formId: number | string | undefined; + formName: string; + content?: string; + remark: string; +} + +export interface FormQuery extends PageQuery { + formName?: string; +} diff --git a/yanzhu-ui-vue3/src/api/workflow/identity/index.ts b/yanzhu-ui-vue3/src/api/workflow/identity/index.ts new file mode 100644 index 00000000..0eb9280c --- /dev/null +++ b/yanzhu-ui-vue3/src/api/workflow/identity/index.ts @@ -0,0 +1,19 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { UserVO, DeptVO } from '@/api/workflow/identity/types'; + +// 查询流程模型信息 +export function selectUser(query?: any): AxiosPromise { + return request({ + url: '/workflow/identity/selectUser', + method: 'get', + params: query + }); +} + +export function deptTreeSelect(): AxiosPromise { + return request({ + url: '/workflow/identity/deptTree', + method: 'get' + }); +} diff --git a/yanzhu-ui-vue3/src/api/workflow/identity/types.ts b/yanzhu-ui-vue3/src/api/workflow/identity/types.ts new file mode 100644 index 00000000..1a47d13f --- /dev/null +++ b/yanzhu-ui-vue3/src/api/workflow/identity/types.ts @@ -0,0 +1,11 @@ +export interface UserVO { + userId: string | number; + username: string; + nickname: string; + deptId: number; +} + +export interface DeptVO { + deptId: string | number; + deptName: string; +} diff --git a/yanzhu-ui-vue3/src/api/workflow/listener/index.ts b/yanzhu-ui-vue3/src/api/workflow/listener/index.ts new file mode 100644 index 00000000..4417c1e4 --- /dev/null +++ b/yanzhu-ui-vue3/src/api/workflow/listener/index.ts @@ -0,0 +1,81 @@ +import request from '@/utils/request'; +import {ListenerFieldForm, ListenerForm, ListenerQuery, ListenerVO} from './types'; +import {AxiosPromise} from 'axios'; + +// 分页查询流程监听器 +export function queryListenerPage(query?: ListenerQuery): AxiosPromise { + return request({ + url: '/workflow/listener/queryPage', + method: 'get', + params: query + }); +} + +// 列表查询流程监听器 +export function queryListenerList(query?: ListenerQuery): AxiosPromise { + return request({ + url: '/workflow/listener/queryList', + method: 'get', + params: query + }); +} + +// 详细查询流程监听器 +export function getListener(formId: string | number): AxiosPromise { + return request({ + url: '/workflow/listener/query/' + formId, + method: 'get' + }); +} + +// 新增流程监听器 +export function addListener(data: ListenerForm) { + return request({ + url: '/workflow/listener/insert', + method: 'post', + data: data + }); +} + +// 修改流程监听器 +export function updateListener(data: ListenerForm) { + return request({ + url: '/workflow/listener/update', + method: 'post', + data: data + }); +} + +// 删除流程监听器 +export function delListener(listenerId?: string | number | (string | number)[]) { + return request({ + url: '/workflow/listener/delete/' + listenerId, + method: 'post' + }); +} + +// 新增流程监听器字段 +export function insertListenerFieldAPI(data: ListenerFieldForm) { + return request({ + url: '/workflow/listener/insertField', + method: 'post', + data: data + }); +} + +// 修改流程监听器字段 +export function updateListenerFieldAPI(data: ListenerFieldForm) { + return request({ + url: '/workflow/listener/updateField', + method: 'post', + data: data + }); +} + +// 删除流程监听器字段 +export function deleteListenerFieldAPI(fieldIds?: string | number | (string | number)[]) { + return request({ + url: '/workflow/listener/deleteField/' + fieldIds, + method: 'post' + }); +} diff --git a/yanzhu-ui-vue3/src/api/workflow/listener/types.ts b/yanzhu-ui-vue3/src/api/workflow/listener/types.ts new file mode 100644 index 00000000..b8a1aaae --- /dev/null +++ b/yanzhu-ui-vue3/src/api/workflow/listener/types.ts @@ -0,0 +1,40 @@ +export interface ListenerVO { + id: number | string; + listenerType: string; + name: string; + eventType: string; + valueType: string; + value: string; + fields: ListenerFieldVO[]; +} + +export interface ListenerForm { + id: number | string | undefined; + listenerType: string; + name: string; + eventType: string; + valueType: string; + value: string; +} + +export interface ListenerQuery extends PageQuery { + listenerType?: string; + eventType?: string; + name?: string; +} + +export interface ListenerFieldVO { + id: number | string; + listenerId: number | string; + fieldName: string; + fieldType: string; + fieldValue: string; +} + +export interface ListenerFieldForm { + id: number | string | undefined; + listenerId: number | string | undefined; + fieldName: string | undefined; + fieldType: string | undefined; + fieldValue: string | undefined; +} diff --git a/yanzhu-ui-vue3/src/api/workflow/model/index.ts b/yanzhu-ui-vue3/src/api/workflow/model/index.ts new file mode 100644 index 00000000..bcccfead --- /dev/null +++ b/yanzhu-ui-vue3/src/api/workflow/model/index.ts @@ -0,0 +1,86 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { ModelQuery, ModelVO } from './types'; + +// 查询流程模型信息 +export function listModel(query?: ModelQuery): AxiosPromise { + return request({ + url: '/workflow/model/list', + method: 'get', + params: query + }); +} + +// 查询流程模型信息 +export function historyModel(query?: ModelQuery): AxiosPromise { + return request({ + url: '/workflow/model/historyList', + method: 'get', + params: query + }); +} + +export function getModel(modelId?: string) { + return request({ + url: '/workflow/model/' + modelId, + method: 'get' + }); +} + +// 新增模型信息 +export function addModel(data?: any) { + return request({ + url: '/workflow/model', + method: 'post', + data: data + }); +} + +// 修改模型信息 +export function updateModel(data?: any) { + return request({ + url: '/workflow/model', + method: 'put', + data: data + }); +} + +// 保存流程模型 +export function saveModel(data?: any) { + return request({ + url: '/workflow/model/save', + method: 'post', + data: data + }); +} + +export function latestModel(params?: any) { + return request({ + url: '/workflow/model/latest', + method: 'post', + params: params + }); +} + +export function delModel(modelIds?: string | string[]) { + return request({ + url: '/workflow/model/' + modelIds, + method: 'delete' + }); +} + +export function deployModel(params?: any) { + return request({ + url: '/workflow/model/deploy', + method: 'post', + params: params + }); +} + +// 获取流程模型流程图 +export function getBpmnXml(modelId?: string) { + return request({ + url: '/workflow/model/bpmnXml/' + modelId, + method: 'get' + }); +} diff --git a/yanzhu-ui-vue3/src/api/workflow/model/types.ts b/yanzhu-ui-vue3/src/api/workflow/model/types.ts new file mode 100644 index 00000000..14af9c01 --- /dev/null +++ b/yanzhu-ui-vue3/src/api/workflow/model/types.ts @@ -0,0 +1,38 @@ +export interface ModelVO extends BaseEntity { + modelId: string; + modelKey: string; + modelName: string; + category: string; + version: number; + formType: number; + formId: number | string; + description: string; + createTime: string; + bpmnXml: string; + content: string; +} + +export interface ModelForm { + modelId: string | undefined; + modelKey: string; + modelName: string; + category: string; + description: string; + formType: number | undefined; + formId: number | string | undefined; + bpmnXml: string; + newVersion: boolean; +} + +export interface ModelQuery extends PageQuery { + modelKey?: string; + modelName?: string; +} + +export interface DesignerForm { + modelId: string; + form: { + processName: string; + processKey: string; + }; +} diff --git a/yanzhu-ui-vue3/src/api/workflow/work/process.ts b/yanzhu-ui-vue3/src/api/workflow/work/process.ts new file mode 100644 index 00000000..9a562aff --- /dev/null +++ b/yanzhu-ui-vue3/src/api/workflow/work/process.ts @@ -0,0 +1,108 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { ProcessQuery, ProcessVO } from '@/api/workflow/work/types'; + +// 查询流程列表 +export function listProcess(query?: ProcessQuery): AxiosPromise { + return request({ + url: '/workflow/process/list', + method: 'get', + params: query + }); +} + +// 查询流程列表 +export function getProcessForm(query?: any) { + return request({ + url: '/workflow/process/getProcessForm', + method: 'get', + params: query + }); +} + +// 部署流程实例 +export function startProcess(processDefId?: string, data?: string) { + return request({ + url: '/workflow/process/start/' + processDefId, + method: 'post', + data: data + }); +} + +// 删除流程实例 +export function delProcess(ids?: string) { + return request({ + url: '/workflow/process/instance/' + ids, + method: 'delete' + }); +} + +// 获取流程图 +export function getBpmnXml(processDefId?: string) { + return request({ + url: '/workflow/process/bpmnXml/' + processDefId, + method: 'get' + }); +} + +export function detailProcess(query?: any) { + return request({ + url: '/workflow/process/detail', + method: 'get', + params: query + }); +} + +// 我的发起的流程 +export function listOwnProcess(query?: any) { + return request({ + url: '/workflow/process/ownList', + method: 'get', + params: query + }); +} + +// 我待办的流程 +export function listTodoProcess(query?: any) { + return request({ + url: '/workflow/process/todoList', + method: 'get', + params: query + }); +} + +// 我待签的流程 +export function listClaimProcess(query?: any) { + return request({ + url: '/workflow/process/claimList', + method: 'get', + params: query + }); +} + +// 我已办的流程 +export function listFinishedProcess(query?: any) { + return request({ + url: '/workflow/process/finishedList', + method: 'get', + params: query + }); +} + +// 查询流程抄送列表 +export function listCopyProcess(query?: any) { + return request({ + url: '/workflow/process/copyList', + method: 'get', + params: query + }); +} + +// 取消申请 +export function stopProcess(data?: any) { + return request({ + url: '/workflow/task/stopProcess', + method: 'post', + data: data + }); +} diff --git a/yanzhu-ui-vue3/src/api/workflow/work/task.ts b/yanzhu-ui-vue3/src/api/workflow/work/task.ts new file mode 100644 index 00000000..c8f47cf4 --- /dev/null +++ b/yanzhu-ui-vue3/src/api/workflow/work/task.ts @@ -0,0 +1,73 @@ +import request from '@/utils/request'; + +// 完成任务 +export function complete(data?: any) { + return request({ + url: '/workflow/task/complete', + method: 'post', + data: data + }); +} + +// 委派任务 +export function delegate(data?: any) { + return request({ + url: '/workflow/task/delegate', + method: 'post', + data: data + }); +} + +// 转办任务 +export function transfer(data?: any) { + return request({ + url: '/workflow/task/transfer', + method: 'post', + data: data + }); +} + +// 退回任务 +export function returnTask(data?: any) { + return request({ + url: '/workflow/task/return', + method: 'post', + data: data + }); +} + +// 拒绝任务 +export function rejectTask(data?: any) { + return request({ + url: '/workflow/task/reject', + method: 'post', + data: data + }); +} + +// 签收任务 +export function claimTask(data?: any) { + return request({ + url: '/workflow/task/claim', + method: 'post', + data: data + }); +} + +// 可退回任务列表 +export function returnList(data?: any) { + return request({ + url: '/workflow/task/returnList', + method: 'post', + data: data + }); +} + +// 撤回任务 +export function revokeProcess(data?: any) { + return request({ + url: '/workflow/task/revokeProcess', + method: 'post', + data: data + }); +} diff --git a/yanzhu-ui-vue3/src/api/workflow/work/types.ts b/yanzhu-ui-vue3/src/api/workflow/work/types.ts new file mode 100644 index 00000000..a073856c --- /dev/null +++ b/yanzhu-ui-vue3/src/api/workflow/work/types.ts @@ -0,0 +1,32 @@ +export interface ProcessVO extends BaseEntity { + category: string; + definitionId: string; + deploymentId: string; + deploymentTime: string; + formId: string | number; + formName: string; + processKey: string; + processName: string; + taskId: string; + suspended: boolean; + version: number; + procInsId?: string; +} + +export interface ProcessQuery extends PageQuery { + processKey?: string; + processName?: string; + category?: string; + state?: string; +} + +export interface TaskForm { + comment: string; + procInsId: string; + taskId: string; + userId: string; + copyUserIds: string; + nextUserIds: string; + vars: string; + targetKey: string; +} diff --git a/yanzhu-ui-vue3/src/views/workflow/category/index.vue b/yanzhu-ui-vue3/src/views/workflow/category/index.vue new file mode 100644 index 00000000..dc50dda6 --- /dev/null +++ b/yanzhu-ui-vue3/src/views/workflow/category/index.vue @@ -0,0 +1,210 @@ + + + diff --git a/yanzhu-ui-vue3/src/views/workflow/deploy/index.vue b/yanzhu-ui-vue3/src/views/workflow/deploy/index.vue new file mode 100644 index 00000000..c67766bb --- /dev/null +++ b/yanzhu-ui-vue3/src/views/workflow/deploy/index.vue @@ -0,0 +1,235 @@ + + + diff --git a/yanzhu-ui-vue3/src/views/workflow/form/index.vue b/yanzhu-ui-vue3/src/views/workflow/form/index.vue new file mode 100644 index 00000000..4f2881dc --- /dev/null +++ b/yanzhu-ui-vue3/src/views/workflow/form/index.vue @@ -0,0 +1,260 @@ + + + + + diff --git a/yanzhu-ui-vue3/src/views/workflow/listener/index.vue b/yanzhu-ui-vue3/src/views/workflow/listener/index.vue new file mode 100644 index 00000000..f2044f36 --- /dev/null +++ b/yanzhu-ui-vue3/src/views/workflow/listener/index.vue @@ -0,0 +1,479 @@ + + + diff --git a/yanzhu-ui-vue3/src/views/workflow/model/index.vue b/yanzhu-ui-vue3/src/views/workflow/model/index.vue new file mode 100644 index 00000000..54b06d02 --- /dev/null +++ b/yanzhu-ui-vue3/src/views/workflow/model/index.vue @@ -0,0 +1,436 @@ + + + + + diff --git a/yanzhu-ui-vue3/src/views/workflow/work/claim.vue b/yanzhu-ui-vue3/src/views/workflow/work/claim.vue new file mode 100644 index 00000000..75c7c5ed --- /dev/null +++ b/yanzhu-ui-vue3/src/views/workflow/work/claim.vue @@ -0,0 +1,142 @@ + + + diff --git a/yanzhu-ui-vue3/src/views/workflow/work/copy.vue b/yanzhu-ui-vue3/src/views/workflow/work/copy.vue new file mode 100644 index 00000000..0dd9a45a --- /dev/null +++ b/yanzhu-ui-vue3/src/views/workflow/work/copy.vue @@ -0,0 +1,133 @@ + + + diff --git a/yanzhu-ui-vue3/src/views/workflow/work/detail.vue b/yanzhu-ui-vue3/src/views/workflow/work/detail.vue new file mode 100644 index 00000000..6dd3ccd6 --- /dev/null +++ b/yanzhu-ui-vue3/src/views/workflow/work/detail.vue @@ -0,0 +1,544 @@ + + + + + diff --git a/yanzhu-ui-vue3/src/views/workflow/work/finished.vue b/yanzhu-ui-vue3/src/views/workflow/work/finished.vue new file mode 100644 index 00000000..c93f0004 --- /dev/null +++ b/yanzhu-ui-vue3/src/views/workflow/work/finished.vue @@ -0,0 +1,152 @@ + + + diff --git a/yanzhu-ui-vue3/src/views/workflow/work/initiate.vue b/yanzhu-ui-vue3/src/views/workflow/work/initiate.vue new file mode 100644 index 00000000..7b9b24e5 --- /dev/null +++ b/yanzhu-ui-vue3/src/views/workflow/work/initiate.vue @@ -0,0 +1,163 @@ + + + diff --git a/yanzhu-ui-vue3/src/views/workflow/work/own.vue b/yanzhu-ui-vue3/src/views/workflow/work/own.vue new file mode 100644 index 00000000..5e2f25da --- /dev/null +++ b/yanzhu-ui-vue3/src/views/workflow/work/own.vue @@ -0,0 +1,202 @@ + + + diff --git a/yanzhu-ui-vue3/src/views/workflow/work/start.vue b/yanzhu-ui-vue3/src/views/workflow/work/start.vue new file mode 100644 index 00000000..acdd2d3d --- /dev/null +++ b/yanzhu-ui-vue3/src/views/workflow/work/start.vue @@ -0,0 +1,76 @@ + + + + + diff --git a/yanzhu-ui-vue3/src/views/workflow/work/todo.vue b/yanzhu-ui-vue3/src/views/workflow/work/todo.vue new file mode 100644 index 00000000..cd646be4 --- /dev/null +++ b/yanzhu-ui-vue3/src/views/workflow/work/todo.vue @@ -0,0 +1,145 @@ + + + diff --git a/yanzhu-ui-vue3/vite/plugins/compression.ts b/yanzhu-ui-vue3/vite/plugins/compression.ts new file mode 100644 index 00000000..123ff3a5 --- /dev/null +++ b/yanzhu-ui-vue3/vite/plugins/compression.ts @@ -0,0 +1,28 @@ +import compression from 'vite-plugin-compression'; + +export default function createCompression(env: any) { + const { VITE_BUILD_COMPRESS } = env; + const plugin: any[] = []; + if (VITE_BUILD_COMPRESS) { + const compressList = VITE_BUILD_COMPRESS.split(','); + if (compressList.includes('gzip')) { + // http://doc.ruoyi.vip/ruoyi-vue/other/faq.html#使用gzip解压缩静态文件 + plugin.push( + compression({ + ext: '.gz', + deleteOriginFile: false + }) + ); + } + if (compressList.includes('brotli')) { + plugin.push( + compression({ + ext: '.br', + algorithm: 'brotliCompress', + deleteOriginFile: false + }) + ); + } + } + return plugin; +} diff --git a/yanzhu-ui-vue3/vite/plugins/icons.ts b/yanzhu-ui-vue3/vite/plugins/icons.ts new file mode 100644 index 00000000..883f2307 --- /dev/null +++ b/yanzhu-ui-vue3/vite/plugins/icons.ts @@ -0,0 +1,8 @@ +import Icons from 'unplugin-icons/vite'; + +export default () => { + return Icons({ + // 自动安装图标库 + autoInstall: true + }); +}; diff --git a/yanzhu-ui-vue3/vite/plugins/unocss.ts b/yanzhu-ui-vue3/vite/plugins/unocss.ts new file mode 100644 index 00000000..997335af --- /dev/null +++ b/yanzhu-ui-vue3/vite/plugins/unocss.ts @@ -0,0 +1,13 @@ +import UnoCss from 'unocss/vite'; +import { presetUno, presetAttributify, presetIcons } from 'unocss'; + +export default () => { + return UnoCss({ + presets: [presetUno(), presetAttributify(), presetIcons()], + // rules: [['search', {}]], + shortcuts: { + 'panel-title': + 'pb-[5px] font-sans leading-[1.1] font-medium text-base text-[#6379bb] border-b border-b-solid border-[var(--el-border-color-light)] mb-5 mt-0' + } + }); +};