【代码评审】BPM:表单字段,批量选中

This commit is contained in:
YunaiV 2025-02-19 22:22:36 +08:00
parent 5d20f62b40
commit b2ddefe4a0
3 changed files with 56 additions and 82 deletions

View File

@ -134,7 +134,7 @@
:key="idx" :key="idx"
:label="item.title" :label="item.title"
:value="item.field" :value="item.field"
:disabled ="!item.required" :disabled="!item.required"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -149,7 +149,7 @@
:key="idx" :key="idx"
:label="item.title" :label="item.title"
:value="item.field" :value="item.field"
:disabled ="!item.required" :disabled="!item.required"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -195,12 +195,14 @@
<div class="field-permit-title"> <div class="field-permit-title">
<div class="setting-title-label first-title"> 字段名称 </div> <div class="setting-title-label first-title"> 字段名称 </div>
<div class="other-titles"> <div class="other-titles">
<span class="setting-title-label">只读 <span class="setting-title-label cursor-pointer" @click="updatePermission('READ')">
<el-switch v-model="readSwitch" @change="updatePermission('READ')" /> 只读
</span> </span>
<span class="setting-title-label">可编辑</span> <span class="setting-title-label cursor-pointer" @click="updatePermission('WRITE')">
<span class="setting-title-label">隐藏 可编辑
<el-switch v-model="noneSwitch" @change="updatePermission('NONE')" /> </span>
<span class="setting-title-label cursor-pointer" @click="updatePermission('NONE')">
隐藏
</span> </span>
</div> </div>
</div> </div>
@ -371,23 +373,20 @@ const showCopyTaskNodeConfig = (node: SimpleFlowNode) => {
// //
getNodeConfigFormFields(node.fieldsPermission) getNodeConfigFormFields(node.fieldsPermission)
} }
const readSwitch = ref(false);
const noneSwitch = ref(false); /** 批量更新权限 */
// TODO @lesan bpmn
const updatePermission = (type: string) => { const updatePermission = (type: string) => {
if (type === 'READ') { fieldsPermissionConfig.value.forEach((field) => {
readSwitch.value = true; field.permission =
type === 'READ'
? FieldPermissionType.READ
: type === 'WRITE'
? FieldPermissionType.WRITE
: FieldPermissionType.NONE
})
}
noneSwitch.value = false;
} else if (type === 'NONE') {
readSwitch.value = false;
noneSwitch.value = true;
}
fieldsPermissionConfig.value.forEach(field => {
field.permission = type === 'READ' ? FieldPermissionType.READ : FieldPermissionType.NONE;
});
};
defineExpose({ openDrawer, showCopyTaskNodeConfig }) // defineExpose({ openDrawer, showCopyTaskNodeConfig }) //
</script> </script>

View File

@ -36,7 +36,8 @@
placement="top" placement="top"
:content="getUserNicknames(startUserIds)" :content="getUserNicknames(startUserIds)"
> >
{{ getUserNicknames(startUserIds.slice(0,2)) }} {{ startUserIds.length }} 人可发起流程 {{ getUserNicknames(startUserIds.slice(0, 2)) }}
{{ startUserIds.length }} 人可发起流程
</el-tooltip> </el-tooltip>
</el-text> </el-text>
</el-tab-pane> </el-tab-pane>
@ -46,14 +47,14 @@
<div class="field-permit-title"> <div class="field-permit-title">
<div class="setting-title-label first-title"> 字段名称 </div> <div class="setting-title-label first-title"> 字段名称 </div>
<div class="other-titles"> <div class="other-titles">
<span class="setting-title-label">只读 <span class="setting-title-label cursor-pointer" @click="updatePermission('READ')">
<el-switch v-model="readSwitch" @change="updatePermission('READ')" /> 只读
</span> </span>
<span class="setting-title-label">可编辑 <span class="setting-title-label cursor-pointer" @click="updatePermission('WRITE')">
<el-switch v-model="writeSwitch" @change="updatePermission('WRITE')" /> 可编辑
</span> </span>
<span class="setting-title-label">隐藏 <span class="setting-title-label cursor-pointer" @click="updatePermission('NONE')">
<el-switch v-model="noneSwitch" @change="updatePermission('NONE')" /> 隐藏
</span> </span>
</div> </div>
</div> </div>
@ -162,32 +163,19 @@ const showStartUserNodeConfig = (node: SimpleFlowNode) => {
// //
getNodeConfigFormFields(node.fieldsPermission) getNodeConfigFormFields(node.fieldsPermission)
} }
const readSwitch = ref(false)
const writeSwitch = ref(false)
const noneSwitch = ref(false)
const updatePermission = (type) => {
if (type === 'READ') {
readSwitch.value = true;
writeSwitch.value = false;
noneSwitch.value = false;
} else if (type === 'WRITE') {
readSwitch.value = false;
writeSwitch.value = true;
noneSwitch.value = false;
} else if (type === 'NONE') {
readSwitch.value = false;
writeSwitch.value = false;
noneSwitch.value = true;
}
fieldsPermissionConfig.value.forEach(item => { /** 批量更新权限 */
item.permission = type === 'READ' ? FieldPermissionType.READ : const updatePermission = (type: string) => {
type === 'WRITE' ? FieldPermissionType.WRITE : fieldsPermissionConfig.value.forEach((field) => {
FieldPermissionType.NONE; field.permission =
}); type === 'READ'
? FieldPermissionType.READ
: type === 'WRITE'
? FieldPermissionType.WRITE
: FieldPermissionType.NONE
})
} }
defineExpose({ openDrawer, showStartUserNodeConfig }) // defineExpose({ openDrawer, showStartUserNodeConfig }) //
</script> </script>
<style lang="scss" scoped></style> <style lang="scss" scoped></style>

View File

@ -454,14 +454,14 @@
<div class="field-permit-title"> <div class="field-permit-title">
<div class="setting-title-label first-title"> 字段名称 </div> <div class="setting-title-label first-title"> 字段名称 </div>
<div class="other-titles"> <div class="other-titles">
<span class="setting-title-label">只读 <span class="setting-title-label cursor-pointer" @click="updatePermission('READ')">
<el-switch v-model="readSwitch" @change="updatePermission('READ')" /> 只读
</span>
<span class="setting-title-label">可编辑
<el-switch v-model="writeSwitch" @change="updatePermission('WRITE')" />
</span> </span>
<span class="setting-title-label">隐藏 <span class="setting-title-label cursor-pointer" @click="updatePermission('WRITE')">
<el-switch v-model="noneSwitch" @change="updatePermission('NONE')" /> 可编辑
</span>
<span class="setting-title-label cursor-pointer" @click="updatePermission('NONE')">
隐藏
</span> </span>
</div> </div>
</div> </div>
@ -959,31 +959,18 @@ function useTimeoutHandler() {
cTimeoutMaxRemindCount cTimeoutMaxRemindCount
} }
} }
const readSwitch = ref(false);
const writeSwitch = ref(false);
const noneSwitch = ref(false);
/** 批量更新权限 */
const updatePermission = (type: string) => { const updatePermission = (type: string) => {
if (type === 'READ') { fieldsPermissionConfig.value.forEach((field) => {
readSwitch.value = true; field.permission =
writeSwitch.value = false; type === 'READ'
noneSwitch.value = false; ? FieldPermissionType.READ
} else if (type === 'WRITE') { : type === 'WRITE'
readSwitch.value = false; ? FieldPermissionType.WRITE
writeSwitch.value = true; : FieldPermissionType.NONE
noneSwitch.value = false; })
} else if (type === 'NONE') { }
readSwitch.value = false;
writeSwitch.value = false;
noneSwitch.value = true;
}
fieldsPermissionConfig.value.forEach(field => {
field.permission = type === 'READ' ? FieldPermissionType.READ :
type === 'WRITE' ? FieldPermissionType.WRITE :
FieldPermissionType.NONE;
});
};
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>