Commit b2ddefe4 by YunaiV

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

parent 5d20f62b
...@@ -134,7 +134,7 @@ ...@@ -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 @@ ...@@ -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 @@ ...@@ -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) => { ...@@ -371,23 +373,20 @@ const showCopyTaskNodeConfig = (node: SimpleFlowNode) => {
// 表单字段权限 // 表单字段权限
getNodeConfigFormFields(node.fieldsPermission) getNodeConfigFormFields(node.fieldsPermission)
} }
const readSwitch = ref(false);
const noneSwitch = ref(false);
const updatePermission = (type: string) => {
if (type === 'READ') {
readSwitch.value = true;
noneSwitch.value = false;
} else if (type === 'NONE') {
readSwitch.value = false;
noneSwitch.value = true; /** 批量更新权限 */
} // TODO @lesan:要不要 bpmn 也加下?
const updatePermission = (type: string) => {
fieldsPermissionConfig.value.forEach((field) => {
field.permission =
type === 'READ'
? FieldPermissionType.READ
: type === 'WRITE'
? FieldPermissionType.WRITE
: FieldPermissionType.NONE
})
}
fieldsPermissionConfig.value.forEach(field => {
field.permission = type === 'READ' ? FieldPermissionType.READ : FieldPermissionType.NONE;
});
};
defineExpose({ openDrawer, showCopyTaskNodeConfig }) // 暴露方法给父组件 defineExpose({ openDrawer, showCopyTaskNodeConfig }) // 暴露方法给父组件
</script> </script>
......
...@@ -36,7 +36,8 @@ ...@@ -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 @@ ...@@ -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) => { ...@@ -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>
...@@ -454,14 +454,14 @@ ...@@ -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>
<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>
...@@ -959,31 +959,18 @@ function useTimeoutHandler() { ...@@ -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>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment