1.修改逻辑支持取流程全局配置
2.修复缺陷,审批取下个节点的限制条件
This commit is contained in:
@ -90,6 +90,10 @@ export interface ProcessConfig {
|
|||||||
parentId: string; //父节点(流程id)
|
parentId: string; //父节点(流程id)
|
||||||
remark: string; //节点描述
|
remark: string; //节点描述
|
||||||
code: string; //模板编码
|
code: string; //模板编码
|
||||||
|
minApprover: string; //最少审批人
|
||||||
|
maxApprover: string; //最多审批人
|
||||||
|
maxCirculate: string; //最多传阅人
|
||||||
|
minCirculate: string; //最少传阅人
|
||||||
category: undefined | string; //分类
|
category: undefined | string; //分类
|
||||||
nameRule?: string; //命名规则
|
nameRule?: string; //命名规则
|
||||||
nameRuleConfigs?: NameRule; // 命名规则列表
|
nameRuleConfigs?: NameRule; // 命名规则列表
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
:tree-data="autoAgreeRuleOptions"
|
:tree-data="autoAgreeRuleOptions"
|
||||||
tree-checkable
|
tree-checkable
|
||||||
allow-clear
|
ow-clear
|
||||||
:placeholder="t('请选择自动同意规则')"
|
:placeholder="t('请选择自动同意规则')"
|
||||||
@change="changeAutoAgreeRule"
|
@change="changeAutoAgreeRule"
|
||||||
/>
|
/>
|
||||||
@ -26,6 +26,59 @@
|
|||||||
@change="changeDesignatedApprover"
|
@change="changeDesignatedApprover"
|
||||||
/>
|
/>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
<FormItem
|
||||||
|
:tip="
|
||||||
|
t(
|
||||||
|
'临时审批人是指由上一节点审批人指定下一节点审批人过程中,是否允许在审批人基础上添加组织架构人员。',
|
||||||
|
)
|
||||||
|
"
|
||||||
|
:label="t('临时审批人:')"
|
||||||
|
>
|
||||||
|
<a-switch :checked="props.provisionalApprover" @change="changeProvisionalApprover" />
|
||||||
|
</FormItem>
|
||||||
|
|
||||||
|
<!-- 多选 :是 / 否 -->
|
||||||
|
<FormItem :label="t('多选:')">
|
||||||
|
<a-switch :checked="props.isChooseMulti" @change="changeIsChooseMulti" />
|
||||||
|
</FormItem>
|
||||||
|
<FormItem :label="t('全选:')">
|
||||||
|
<a-switch :checked="props.isChooseAll" @change="changeIsChooseAll" />
|
||||||
|
</FormItem>
|
||||||
|
<FormItem :label="t('只读:')">
|
||||||
|
<a-switch :checked="props.isReadOnly" @change="changeIsReadOnly" />
|
||||||
|
</FormItem>
|
||||||
|
<FormItem :label="t('审批人最多:')" >
|
||||||
|
<a-input-number
|
||||||
|
v-model:value="props.maxApprover"
|
||||||
|
:min="0"
|
||||||
|
:max="100"
|
||||||
|
@change="changeMaxApprover"
|
||||||
|
/>
|
||||||
|
</FormItem>
|
||||||
|
<FormItem :label="t('审批人最少:')">
|
||||||
|
<a-input-number
|
||||||
|
v-model:value="props.minApprover"
|
||||||
|
:min="0"
|
||||||
|
:max="100"
|
||||||
|
@change="changeMinApprover"
|
||||||
|
/>
|
||||||
|
</FormItem>
|
||||||
|
<FormItem :label="t('传阅人最多:')">
|
||||||
|
<a-input-number
|
||||||
|
v-model:value="props.maxCirculate"
|
||||||
|
:min="0"
|
||||||
|
:max="100"
|
||||||
|
@change="changeMaxCirculate"
|
||||||
|
/>
|
||||||
|
</FormItem>
|
||||||
|
<FormItem :label="t('传阅人最少:')">
|
||||||
|
<a-input-number
|
||||||
|
v-model:value="props.minCirculate"
|
||||||
|
:min="0"
|
||||||
|
:max="100"
|
||||||
|
@change="changeMinCirculate"
|
||||||
|
/>
|
||||||
|
</FormItem>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts" name="ProcessBasic">
|
<script setup lang="ts" name="ProcessBasic">
|
||||||
@ -37,11 +90,51 @@
|
|||||||
'update:autoAgreeRule',
|
'update:autoAgreeRule',
|
||||||
'update:noHandler',
|
'update:noHandler',
|
||||||
'update:isPrevChooseNext',
|
'update:isPrevChooseNext',
|
||||||
|
'update:provisionalApprover',
|
||||||
|
'update:isChooseMulti',
|
||||||
|
'update:isChooseAll',
|
||||||
|
'update:isReadOnly',
|
||||||
|
'update:minApprover',
|
||||||
|
'update:maxApprover',
|
||||||
|
'update:maxCirculate',
|
||||||
|
'update:minCirculate'
|
||||||
]);
|
]);
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
autoAgreeRule: Array,
|
autoAgreeRule: Array,
|
||||||
noHandler: Number || String || Boolean,
|
noHandler: Number || String || Boolean,
|
||||||
isPrevChooseNext: Number || String || Boolean,
|
isPrevChooseNext: Number || String || Boolean,
|
||||||
|
isChooseMulti: {
|
||||||
|
type: Boolean,
|
||||||
|
default: true,
|
||||||
|
},
|
||||||
|
isChooseAll: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
|
isReadOnly: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
|
provisionalApprover: {
|
||||||
|
type: Boolean || undefined,
|
||||||
|
default: undefined,
|
||||||
|
},
|
||||||
|
minApprover: {
|
||||||
|
type: Number,
|
||||||
|
default: null,
|
||||||
|
},
|
||||||
|
maxApprover: {
|
||||||
|
type: Number,
|
||||||
|
default: null,
|
||||||
|
},
|
||||||
|
maxCirculate: {
|
||||||
|
type: Number,
|
||||||
|
default: null,
|
||||||
|
},
|
||||||
|
minCirculate: {
|
||||||
|
type: Number,
|
||||||
|
default: null,
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
// 自动同意规则
|
// 自动同意规则
|
||||||
@ -104,6 +197,37 @@
|
|||||||
emits('update:autoAgreeRule', []);
|
emits('update:autoAgreeRule', []);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// 临时审批人
|
||||||
|
function changeProvisionalApprover(val: Boolean) {
|
||||||
|
emits('update:provisionalApprover', val);
|
||||||
|
}
|
||||||
|
// 多选
|
||||||
|
function changeIsChooseMulti(val: Boolean) {
|
||||||
|
emits('update:isChooseMulti', val);
|
||||||
|
}
|
||||||
|
// 全选
|
||||||
|
function changeIsChooseAll(val: Boolean) {
|
||||||
|
emits('update:isChooseAll', val);
|
||||||
|
}
|
||||||
|
// 只读
|
||||||
|
function changeIsReadOnly(val: Boolean) {
|
||||||
|
emits('update:isReadOnly', val);
|
||||||
|
}
|
||||||
|
function changeMaxCirculate(val: number) {
|
||||||
|
emits('update:maxCirculate', val);
|
||||||
|
}
|
||||||
|
//最少传阅人
|
||||||
|
function changeMinCirculate(val: number) {
|
||||||
|
emits('update:minCirculate', val);
|
||||||
|
}
|
||||||
|
// 最少审批人
|
||||||
|
function changeMinApprover(val: number) {
|
||||||
|
emits('update:minApprover', val);
|
||||||
|
}
|
||||||
|
// 最多审批人
|
||||||
|
function changeMaxApprover(val: number) {
|
||||||
|
emits('update:maxApprover', val);
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="less" scoped></style>
|
<style lang="less" scoped></style>
|
||||||
|
|||||||
@ -103,11 +103,11 @@
|
|||||||
},
|
},
|
||||||
minApprover: {
|
minApprover: {
|
||||||
type: Number,
|
type: Number,
|
||||||
default: 0,
|
default: null,
|
||||||
},
|
},
|
||||||
maxApprover: {
|
maxApprover: {
|
||||||
type: Number,
|
type: Number,
|
||||||
default: 0,
|
default: null,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -51,11 +51,11 @@
|
|||||||
},
|
},
|
||||||
maxCirculate: {
|
maxCirculate: {
|
||||||
type: Number,
|
type: Number,
|
||||||
default: 0,
|
default: null,
|
||||||
},
|
},
|
||||||
minCirculate: {
|
minCirculate: {
|
||||||
type: Number,
|
type: Number,
|
||||||
default: 0,
|
default: null,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -75,6 +75,10 @@ export const initProperties = (id: InfoId, type: InfoType, name: string, parentI
|
|||||||
properties.autoAgreeRule = processInfo.autoAgreeRule;
|
properties.autoAgreeRule = processInfo.autoAgreeRule;
|
||||||
properties.noHandler = processInfo.noHandler;
|
properties.noHandler = processInfo.noHandler;
|
||||||
properties.isPrevChooseNext = processInfo.isPrevChooseNext;
|
properties.isPrevChooseNext = processInfo.isPrevChooseNext;
|
||||||
|
properties.minApprover = processInfo.minApprover;
|
||||||
|
properties.maxApprover = processInfo.maxApprover;
|
||||||
|
properties.maxCirculate = processInfo.maxCirculate;
|
||||||
|
properties.minCirculate = processInfo.minCirculate;
|
||||||
}
|
}
|
||||||
if (id === 'Activity_draft') {
|
if (id === 'Activity_draft') {
|
||||||
// 将草稿节点的审批人设置为流程发起者
|
// 将草稿节点的审批人设置为流程发起者
|
||||||
|
|||||||
@ -46,6 +46,10 @@ export const processConfig: ProcessConfig = {
|
|||||||
nameRule: '', //命名规则
|
nameRule: '', //命名规则
|
||||||
nameRuleConfigs: [], // 命名规则列表
|
nameRuleConfigs: [], // 命名规则列表
|
||||||
autoAgreeRule: [], //自动同意规则
|
autoAgreeRule: [], //自动同意规则
|
||||||
|
minApprover: '', //最少审批人
|
||||||
|
maxApprover: '', //最多审批人
|
||||||
|
maxCirculate: '', //最多传阅人
|
||||||
|
minCirculate: '', //最少传阅人
|
||||||
isPrevChooseNext: DesignatedApprover.NOT_SPECIFIED, //是否上一节点审批人指定下一节点审批人
|
isPrevChooseNext: DesignatedApprover.NOT_SPECIFIED, //是否上一节点审批人指定下一节点审批人
|
||||||
noHandler: NoHandler.ADMIN, //无对应处理人
|
noHandler: NoHandler.ADMIN, //无对应处理人
|
||||||
appShow: false, //移动端是否显示
|
appShow: false, //移动端是否显示
|
||||||
|
|||||||
@ -28,6 +28,14 @@
|
|||||||
v-model:autoAgreeRule="processInfo.autoAgreeRule"
|
v-model:autoAgreeRule="processInfo.autoAgreeRule"
|
||||||
v-model:noHandler="processInfo.noHandler"
|
v-model:noHandler="processInfo.noHandler"
|
||||||
v-model:isPrevChooseNext="processInfo.isPrevChooseNext"
|
v-model:isPrevChooseNext="processInfo.isPrevChooseNext"
|
||||||
|
v-model:provisionalApprover="processInfo.provisionalApprover"
|
||||||
|
v-model:isChooseMulti="processInfo.isChooseMulti"
|
||||||
|
v-model:isChooseAll="processInfo.isChooseAll"
|
||||||
|
v-model:isReadOnly="processInfo.isReadOnly"
|
||||||
|
v-model:minApprover="processInfo.minApprover"
|
||||||
|
v-model:maxApprover="processInfo.maxApprover"
|
||||||
|
v-model:maxCirculate="processInfo.maxCirculate"
|
||||||
|
v-model:minCirculate="processInfo.minCirculate"
|
||||||
/>
|
/>
|
||||||
<FormItem :tip="t('配置默认表单后,用户任务节点均会包含该表单')" :label="t('默认表单:')">
|
<FormItem :tip="t('配置默认表单后,用户任务节点均会包含该表单')" :label="t('默认表单:')">
|
||||||
<SettingDefaultForm />
|
<SettingDefaultForm />
|
||||||
|
|||||||
Reference in New Issue
Block a user