mirror of
https://gitee.com/myxzgzs/boyue-ui-admin-vue3
synced 2025-08-08 08:22:41 +08:00
commit
068ffc9d53
@ -838,7 +838,7 @@ export type TimeoutSetting = {
|
||||
export type MultiInstanceSetting = {
|
||||
enable: boolean
|
||||
sequential?: boolean
|
||||
completeRatio?: number
|
||||
approveRatio?: number
|
||||
sourceType?: ChildProcessMultiInstanceSourceTypeEnum
|
||||
source?: string
|
||||
}
|
||||
@ -883,14 +883,14 @@ export enum ChildProcessMultiInstanceSourceTypeEnum {
|
||||
/**
|
||||
* 数字表单
|
||||
*/
|
||||
DIGITAL_FORM = 2,
|
||||
NUMBER_FORM = 2,
|
||||
/**
|
||||
* 多项表单
|
||||
* 多选表单
|
||||
*/
|
||||
MULTI_FORM = 3
|
||||
MULTIPLE_FORM = 3
|
||||
}
|
||||
export const CHILD_PROCESS_MULTI_INSTANCE_SOURCE_TYPE = [
|
||||
{ label: '固定数量', value: ChildProcessMultiInstanceSourceTypeEnum.FIXED_QUANTITY },
|
||||
{ label: '数字表单', value: ChildProcessMultiInstanceSourceTypeEnum.DIGITAL_FORM }, // TODO @lesan:DIGITAL 改成 NUMBER,和 Element plus 更接近?
|
||||
{ label: '多项表单', value: ChildProcessMultiInstanceSourceTypeEnum.MULTI_FORM } // TODO @lesan:多选表单?multiple 是这个解释。另外 MULTI => MULTIPLE
|
||||
{ label: '数字表单', value: ChildProcessMultiInstanceSourceTypeEnum.NUMBER_FORM },
|
||||
{ label: '多选表单', value: ChildProcessMultiInstanceSourceTypeEnum.MULTIPLE_FORM }
|
||||
]
|
||||
|
@ -270,11 +270,11 @@
|
||||
inactive-text="并行"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item prop="completeRatio">
|
||||
<el-form-item prop="approveRatio">
|
||||
<el-text>完成比例(%)</el-text>
|
||||
<el-input-number
|
||||
class="ml-10px"
|
||||
v-model="configForm.completeRatio"
|
||||
v-model="configForm.approveRatio"
|
||||
:min="10"
|
||||
:max="100"
|
||||
:step="10"
|
||||
@ -295,11 +295,10 @@
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!-- TODO @lesan:枚举 -->
|
||||
<el-form-item v-if="configForm.multiInstanceSourceType === 1">
|
||||
<el-form-item v-if="configForm.multiInstanceSourceType === ChildProcessMultiInstanceSourceTypeEnum.FIXED_QUANTITY">
|
||||
<el-input-number v-model="configForm.multiInstanceSource" :min="1" />
|
||||
</el-form-item>
|
||||
<el-form-item v-if="configForm.multiInstanceSourceType === 2">
|
||||
<el-form-item v-if="configForm.multiInstanceSourceType === ChildProcessMultiInstanceSourceTypeEnum.NUMBER_FORM">
|
||||
<el-select class="w-200px!" v-model="configForm.multiInstanceSource">
|
||||
<el-option
|
||||
v-for="(field, fIdx) in digitalFormFieldOptions"
|
||||
@ -309,7 +308,7 @@
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="configForm.multiInstanceSourceType === 3">
|
||||
<el-form-item v-if="configForm.multiInstanceSourceType === ChildProcessMultiInstanceSourceTypeEnum.MULTIPLE_FORM">
|
||||
<el-select class="w-200px!" v-model="configForm.multiInstanceSource">
|
||||
<el-option
|
||||
v-for="(field, fIdx) in multiFormFieldOptions"
|
||||
@ -407,7 +406,7 @@ type ChildProcessFormType = {
|
||||
dateTime: string
|
||||
multiInstanceEnable: boolean
|
||||
sequential: boolean
|
||||
completeRatio: number
|
||||
approveRatio: number
|
||||
multiInstanceSourceType: ChildProcessMultiInstanceSourceTypeEnum
|
||||
multiInstanceSource: string
|
||||
}
|
||||
@ -427,7 +426,7 @@ const configForm = ref<ChildProcessFormType>({
|
||||
dateTime: '',
|
||||
multiInstanceEnable: false,
|
||||
sequential: false,
|
||||
completeRatio: 100,
|
||||
approveRatio: 100,
|
||||
multiInstanceSourceType: ChildProcessMultiInstanceSourceTypeEnum.FIXED_QUANTITY,
|
||||
multiInstanceSource: ''
|
||||
})
|
||||
@ -490,8 +489,8 @@ const saveConfig = async () => {
|
||||
if (configForm.value.multiInstanceEnable) {
|
||||
currentNode.value.childProcessSetting.multiInstanceSetting.sequential =
|
||||
configForm.value.sequential
|
||||
currentNode.value.childProcessSetting.multiInstanceSetting.completeRatio =
|
||||
configForm.value.completeRatio
|
||||
currentNode.value.childProcessSetting.multiInstanceSetting.approveRatio =
|
||||
configForm.value.approveRatio
|
||||
currentNode.value.childProcessSetting.multiInstanceSetting.sourceType =
|
||||
configForm.value.multiInstanceSourceType
|
||||
currentNode.value.childProcessSetting.multiInstanceSetting.source =
|
||||
@ -520,7 +519,7 @@ const showChildProcessNodeConfig = (node: SimpleFlowNode) => {
|
||||
configForm.value.outVariables = node.childProcessSetting.outVariables
|
||||
// 6. 发起人设置
|
||||
configForm.value.startUserType = node.childProcessSetting.startUserSetting.type
|
||||
configForm.value.startUserEmptyType = node.childProcessSetting.startUserSetting.emptyType ?? 1
|
||||
configForm.value.startUserEmptyType = node.childProcessSetting.startUserSetting.emptyType ?? ChildProcessStartUserEmptyTypeEnum.MAIN_PROCESS_START_USER
|
||||
configForm.value.startUserFormField = node.childProcessSetting.startUserSetting.formField ?? ''
|
||||
// 7. 超时设置
|
||||
configForm.value.timeoutEnable = node.childProcessSetting.timeoutSetting.enable ?? false
|
||||
@ -546,8 +545,8 @@ const showChildProcessNodeConfig = (node: SimpleFlowNode) => {
|
||||
if (configForm.value.multiInstanceEnable) {
|
||||
configForm.value.sequential =
|
||||
node.childProcessSetting.multiInstanceSetting.sequential ?? false
|
||||
configForm.value.completeRatio =
|
||||
node.childProcessSetting.multiInstanceSetting.completeRatio ?? 100
|
||||
configForm.value.approveRatio =
|
||||
node.childProcessSetting.multiInstanceSetting.approveRatio ?? 100
|
||||
configForm.value.multiInstanceSourceType =
|
||||
node.childProcessSetting.multiInstanceSetting.sourceType ??
|
||||
ChildProcessMultiInstanceSourceTypeEnum.FIXED_QUANTITY
|
||||
|
@ -375,7 +375,6 @@ const showCopyTaskNodeConfig = (node: SimpleFlowNode) => {
|
||||
}
|
||||
|
||||
/** 批量更新权限 */
|
||||
// TODO @lesan:要不要 bpmn 也加下?
|
||||
const updatePermission = (type: string) => {
|
||||
fieldsPermissionConfig.value.forEach((field) => {
|
||||
field.permission =
|
||||
|
@ -127,9 +127,9 @@
|
||||
<div class="field-permit-title">
|
||||
<div class="setting-title-label first-title"> 字段名称 </div>
|
||||
<div class="other-titles">
|
||||
<span class="setting-title-label">只读</span>
|
||||
<span class="setting-title-label">可编辑</span>
|
||||
<span class="setting-title-label">隐藏</span>
|
||||
<span class="setting-title-label cursor-pointer" @click="updatePermission('READ')">只读</span>
|
||||
<span class="setting-title-label cursor-pointer" @click="updatePermission('WRITE')">可编辑</span>
|
||||
<span class="setting-title-label cursor-pointer" @click="updatePermission('NONE')">隐藏</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="field-setting-item" v-for="(item, index) in fieldsPermissionEl" :key="index">
|
||||
@ -486,6 +486,18 @@ function useButtonsSetting() {
|
||||
}
|
||||
}
|
||||
|
||||
/** 批量更新权限 */
|
||||
const updatePermission = (type: string) => {
|
||||
fieldsPermissionEl.value.forEach((field) => {
|
||||
field.permission =
|
||||
type === 'READ'
|
||||
? FieldPermissionType.READ
|
||||
: type === 'WRITE'
|
||||
? FieldPermissionType.WRITE
|
||||
: FieldPermissionType.NONE
|
||||
})
|
||||
}
|
||||
|
||||
const userOptions = ref<UserApi.UserVO[]>([]) // 用户列表
|
||||
onMounted(async () => {
|
||||
// 获得用户列表
|
||||
|
Loading…
x
Reference in New Issue
Block a user