diff --git a/src/api/auditOpt/auditRecord/index.ts b/src/api/auditOpt/auditRecord/index.ts index 86b9999..2d4cfeb 100644 --- a/src/api/auditOpt/auditRecord/index.ts +++ b/src/api/auditOpt/auditRecord/index.ts @@ -3,12 +3,12 @@ import { defHttp } from '/@/utils/http/axios'; import { ErrorMessageMode } from '/#/axios'; enum Api { - Page = '/auditOpt/auditRecord/page', - List = '/auditOpt/auditRecord/list', - Info = '/auditOpt/auditRecord/info', - XjrWorkflowApproveRecord = '/auditOpt/auditRecord', + Page = '/workflow/workflowApproveRecord/page', + List = '/workflow/workflowApproveRecord/list', + Info = '/workflow/workflowApproveRecord/info', + XjrWorkflowApproveRecord = '/workflow/workflowApproveRecord', GetApproveRecord = '/workflow/adminOperation/getAllApproveRecord', - DelApproveRecord = '/auditOpt/auditRecord', + DelApproveRecord = '/workflow/workflowApproveRecord', AddApproveRcord = '/workflow/adminOperation/addApproveRecord', UpdateApproveRcord = '/workflow/adminOperation/updateApproveRecord', } @@ -151,4 +151,4 @@ export async function updateApproveRecord(params:any, mode: ErrorMessageMode = ' errorMessageMode: mode, }, ); -} \ No newline at end of file +} diff --git a/src/components/Form/src/components/SelectUserV2.vue b/src/components/Form/src/components/SelectUserV2.vue index ae4a65a..13fe820 100644 --- a/src/components/Form/src/components/SelectUserV2.vue +++ b/src/components/Form/src/components/SelectUserV2.vue @@ -117,6 +117,10 @@ justCompany: { type: Boolean, default: false + }, + isOnlyCurrentDepartment: { // 仅当前部门,无下级部门 + type: Boolean, + default: true } }); let timeoutId = null; @@ -205,14 +209,14 @@ limit: 1, size: 10000, departmentId: '', - departmentIds: defaultDepts.value + departmentIds: defaultDepts.value, + isOnlyCurrentDepartment: props.isOnlyCurrentDepartment, }); const searchDepartMemberTotal = ref(0); const searchDepartMemberList = ref([]); const searchAllMemberParams = ref({ limit: 1, size: 25, - isSearchAll: true, keyword: '', departmentIds: defaultDepts.value }); diff --git a/src/components/SimpleForm/src/components/SimpleFormItem.vue b/src/components/SimpleForm/src/components/SimpleFormItem.vue index 9d1c495..b460a47 100644 --- a/src/components/SimpleForm/src/components/SimpleFormItem.vue +++ b/src/components/SimpleForm/src/components/SimpleFormItem.vue @@ -219,8 +219,7 @@ const tabActiveKey = inject>('tabActiveKey', ref(0)); const activeKey = ref(0); const isCamelCase = inject('isCamelCase', false); - // 注入整个表单的配置,formProps是个计算属性,不能修改,formData则来自每个业务的表单页面。 - const formData = inject('formData', { noInject: true }); + watch( () => tabActiveKey?.value, (val) => { @@ -240,35 +239,6 @@ } ); - // watch( - // () => props.value, - // (val) => { - // if (!val) return; - // let { componentProps = {} } = props.schema; - // if (componentProps['events']) { - // for (const eventKey in componentProps['events']) { - // try { - // const event = new Function( - // 'schema', - // 'formModel', - // 'formActionType', - // `${componentProps['events'][eventKey]}`, - // ); - // event(props.schema, formModel, props.formApi); - // } catch (error) { - // notification.error({ - // message: 'Tip', - // description: '触发事件填写有误!', - // }); - // } - // } - // } - // }, - // { - // immediate: true, - // }, - // ); - const { notification } = useMessage(); const getSchema = computed(() => { return props.schema as FormSchema; diff --git a/src/components/SimpleForm/src/components/SimpleFormItemSetup.vue b/src/components/SimpleForm/src/components/SimpleFormItemSetup.vue index 0dfa458..496ced4 100644 --- a/src/components/SimpleForm/src/components/SimpleFormItemSetup.vue +++ b/src/components/SimpleForm/src/components/SimpleFormItemSetup.vue @@ -53,8 +53,6 @@ const tabActiveKey = inject>('tabActiveKey', ref(0)); const activeKey = ref(0); const isCamelCase = inject('isCamelCase', false); - // 注入整个表单的配置,formProps是个计算属性,不能修改,formData则来自每个业务的表单页面。 - const formData = inject('formData', { noInject: true }); watch( () => tabActiveKey?.value, (val) => { 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" > 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..6cd0876 --- /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..ff40926 --- /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',