diff --git a/src/model/workflow/workflowConfig.ts b/src/model/workflow/workflowConfig.ts
index 0377566..af5b756 100644
--- a/src/model/workflow/workflowConfig.ts
+++ b/src/model/workflow/workflowConfig.ts
@@ -90,6 +90,10 @@ export interface ProcessConfig {
parentId: string; //父节点(流程id)
remark: string; //节点描述
code: string; //模板编码
+ minApprover: string; //最少审批人
+ maxApprover: string; //最多审批人
+ maxCirculate: string; //最多传阅人
+ minCirculate: string; //最少传阅人
category: undefined | string; //分类
nameRule?: string; //命名规则
nameRuleConfigs?: NameRule; // 命名规则列表
diff --git a/src/views/form/template/index.vue b/src/views/form/template/index.vue
index cde5c0a..69f6546 100644
--- a/src/views/form/template/index.vue
+++ b/src/views/form/template/index.vue
@@ -8,7 +8,6 @@
:clickRowToExpand="true"
:treeData="treeData"
:fieldNames="fieldNames"
- @row-dbClick="dbClickRow"
:row-selection="rowSelection"
>
@@ -202,6 +201,7 @@
import { InputParamItem } from '/@/components/ApiConfig/src/interface';
import { getDraftInfo } from '/@/api/workflow/process';
import FlowRecord from '/@/views/workflow/task/components/flow/FlowRecord.vue';
+ import {de} from "@fullcalendar/core/internal-common";
interface SearchDate {
fieldName: string;
format: string;
@@ -578,26 +578,23 @@
}
function handleView(record: Recordable) {
- if (record.workflowData?.taskIds && record.workflowData.taskIds.length) {
- const { processId, taskIds, schemaId } = record.workflowData;
+ const { processId, taskIds, schemaId } = record.workflowData || {};
+ if (taskIds && taskIds.length) {
router.push({
path: '/flow/' + schemaId + '/' + (processId || '') + '/approveFlow',
query: {
taskId: taskIds[0],
- rtId: currentRoute.value.query.rtId
}
});
- } else if (record.workflowData?.schemaId && !record.workflowData.taskIds) {
- const { processId, schemaId } = record.workflowData;
+ } else if (schemaId && !taskIds && processId) {
router.push({
- path: '/flow/' + schemaId + '/' + (processId || '') + '/approveFlow',
+ path: '/flow/' + schemaId + '/' + processId + '/approveFlow',
query: {
readonly: 1,
taskId: '',
- rtId: currentRoute.value.query.rtId
}
});
- } else {
+ }else {
const info = {
id: record[pkField.value],
releaseId: menuId.value,
@@ -758,6 +755,7 @@
}
}
async function handleLaunchProcess(record: Recordable) {
+ debugger
if (record.workflowData) {
if (record.workflowData.draftId) {
let res = await getDraftInfo(record.workflowData.draftId);
@@ -783,10 +781,14 @@
}
}
function handleApproveProcess(record: Recordable) {
- visibleApproveProcessRef.value = true;
- schemaIdRef.value = record.workflowData.schemaId;
- processIdRef.value = record.workflowData.processId;
- taskIdRef.value = record.workflowData.taskIds[0];
+ const { processId, taskIds, schemaId } = record.workflowData;
+ router.push({
+ path: '/flow/' + schemaId + '/' + (processId || '') + '/approveFlow',
+ query: {
+ taskId: taskIds[0],
+ rtId: currentRoute.value.query.rtId
+ }
+ });
}
function handleCloseLaunch() {
visibleLaunchProcessRef.value = false;
@@ -948,35 +950,6 @@
}
});
}
- function dbClickRow(record) {
- if (record.workflowData?.taskIds && record.workflowData.taskIds.length) {
- const { processId, taskIds, schemaId } = record.workflowData;
- router.push({
- path: '/flow/' + schemaId + '/' + (processId || '') + '/approveFlow',
- query: {
- taskId: taskIds[0],
- rtId: currentRoute.value.query.rtId
- }
- });
- } else if (record.workflowData?.schemaId && !record.workflowData.taskIds) {
- const { processId, schemaId } = record.workflowData;
- router.push({
- path: '/flow/' + schemaId + '/' + (processId || '') + '/approveFlow',
- query: {
- readonly: 1,
- taskId: '',
- rtId: currentRoute.value.query.rtId
- }
- });
- } else {
- router.push({
- path: '/form/infoTaskManageItem/' + record.id + '/viewForm',
- query: {
- formPath: 'infoManage/infoTaskManageItem'
- }
- });
- }
- }
const rowSelection: TableProps['rowSelection'] = {
onChange: (selectedRowKeys: string[], selectedRows: DataType[]) => {
diff --git a/src/views/workflow/design/bpmn/components/ApproveRules.vue b/src/views/workflow/design/bpmn/components/ApproveRules.vue
index 5b60a70..818f3a7 100644
--- a/src/views/workflow/design/bpmn/components/ApproveRules.vue
+++ b/src/views/workflow/design/bpmn/components/ApproveRules.vue
@@ -26,35 +26,59 @@
@change="changeDesignatedApprover"
/>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ :label="t('临时审批人:')"
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/workflow/design/bpmn/components/ApproveUserRules.vue b/src/views/workflow/design/bpmn/components/ApproveUserRules.vue
new file mode 100644
index 0000000..bb1f6fa
--- /dev/null
+++ b/src/views/workflow/design/bpmn/components/ApproveUserRules.vue
@@ -0,0 +1,200 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/workflow/design/bpmn/components/member/MemberUserTable.vue b/src/views/workflow/design/bpmn/components/member/MemberUserTable.vue
new file mode 100644
index 0000000..9063cbd
--- /dev/null
+++ b/src/views/workflow/design/bpmn/components/member/MemberUserTable.vue
@@ -0,0 +1,76 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/workflow/design/bpmn/config/property.ts b/src/views/workflow/design/bpmn/config/property.ts
index c5487c7..43f915c 100644
--- a/src/views/workflow/design/bpmn/config/property.ts
+++ b/src/views/workflow/design/bpmn/config/property.ts
@@ -75,6 +75,10 @@ export const initProperties = (id: InfoId, type: InfoType, name: string, parentI
properties.autoAgreeRule = processInfo.autoAgreeRule;
properties.noHandler = processInfo.noHandler;
properties.isPrevChooseNext = processInfo.isPrevChooseNext;
+ properties.minApprover = processInfo.minApprover;
+ properties.maxApprover = processInfo.maxApprover;
+ properties.maxCirculate = processInfo.maxCirculate;
+ properties.minCirculate = processInfo.minCirculate;
}
if (id === 'Activity_draft') {
// 将草稿节点的审批人设置为流程发起者
diff --git a/src/views/workflow/design/bpmn/config/propertyConfig.ts b/src/views/workflow/design/bpmn/config/propertyConfig.ts
index b661ff2..f4ef585 100644
--- a/src/views/workflow/design/bpmn/config/propertyConfig.ts
+++ b/src/views/workflow/design/bpmn/config/propertyConfig.ts
@@ -46,6 +46,10 @@ export const processConfig: ProcessConfig = {
nameRule: '', //命名规则
nameRuleConfigs: [], // 命名规则列表
autoAgreeRule: [], //自动同意规则
+ minApprover: '', //最少审批人
+ maxApprover: '', //最多审批人
+ maxCirculate: '', //最多传阅人
+ minCirculate: '', //最少传阅人
isPrevChooseNext: DesignatedApprover.NOT_SPECIFIED, //是否上一节点审批人指定下一节点审批人
noHandler: NoHandler.ADMIN, //无对应处理人
appShow: false, //移动端是否显示
@@ -144,9 +148,14 @@ const UserProperties: UserTaskConfig = {
autoAgreeRule: [], //自动同意规则
isPrevChooseNext: DesignatedApprover.NOT_SPECIFIED, //是否上一节点审批人指定下一节点审批人
provisionalApprover: false, //临时审批人
+ provisionalDistributor: false, //临时传阅人
isChooseMulti: true, //是否多选
isChooseAll: false, //是否全选
isReadOnly: false, //是否只读
+ minApprover: '', //最少审批人
+ maxApprover: '', //最多审批人
+ maxCirculate: '', //最多传阅人
+ minCirculate: '', //最少传阅人
noHandler: NoHandler.ADMIN, //无对应处理人
countersignConfig: {
multipleInstancesType: MultipleInstancesType.NONE, //多实例类型
diff --git a/src/views/workflow/design/bpmn/panel/User.vue b/src/views/workflow/design/bpmn/panel/User.vue
index 77895fd..5001944 100644
--- a/src/views/workflow/design/bpmn/panel/User.vue
+++ b/src/views/workflow/design/bpmn/panel/User.vue
@@ -18,7 +18,7 @@
-
+
diff --git a/src/views/workflow/task/components/processTasks/Drafts.vue b/src/views/workflow/task/components/processTasks/Drafts.vue
index ec06c82..e2e4e69 100644
--- a/src/views/workflow/task/components/processTasks/Drafts.vue
+++ b/src/views/workflow/task/components/processTasks/Drafts.vue
@@ -43,16 +43,32 @@
const { t } = useI18n();
const configColumns: BasicColumn[] = [
{
- title: t('流程名称'),
+ title: t('流程定义名称'),
dataIndex: 'schemaName',
align: 'left',
},
{
- title: t('发起者'),
+ title: t('任务名称'),
+ dataIndex: 'taskName',
+ align: 'left',
+ },
+ {
+ title: t('流程待办名称'),
+ dataIndex: 'processName',
+ align: 'left',
+ },
+ {
+ title: t('流程发起者'),
dataIndex: 'originator',
sorter: true,
align: 'left',
},
+ {
+ title: t('创建人'),
+ dataIndex: 'createUserName',
+ sorter: true,
+ align: 'left',
+ },
{
title: t('发起时间'),
dataIndex: 'createDate',
diff --git a/src/views/workflow/task/components/processTasks/DraftsV2.vue b/src/views/workflow/task/components/processTasks/DraftsV2.vue
index e7c8ab0..b1f2893 100644
--- a/src/views/workflow/task/components/processTasks/DraftsV2.vue
+++ b/src/views/workflow/task/components/processTasks/DraftsV2.vue
@@ -27,16 +27,32 @@ const { t } = useI18n();
const router = useRouter();
const configColumns = [
{
- title: t('流程名称'),
+ title: t('流程定义名称'),
dataIndex: 'schemaName',
align: 'left'
},
{
- title: t('发起者'),
+ title: t('任务名称'),
+ dataIndex: 'taskName',
+ align: 'left',
+ },
+ {
+ title: t('流程待办名称'),
+ dataIndex: 'processName',
+ align: 'left',
+ },
+ {
+ title: t('流程发起者'),
dataIndex: 'originator',
sorter: true,
align: 'left'
},
+ {
+ title: t('创建人'),
+ dataIndex: 'createUserName',
+ sorter: true,
+ align: 'left',
+ },
{
title: t('发起时间'),
dataIndex: 'createDate',