From f9b459a3fefd5fab0ee8e19268adb9d9eadab2a7 Mon Sep 17 00:00:00 2001 From: dengzedong <dengzedong@email> Date: 星期二, 17 十二月 2024 18:16:58 +0800 Subject: [PATCH] 预测项setting的值修改最大输入长度为1000 --- src/components/SimpleProcessDesignerV2/src/nodes-config/StartUserNodeConfig.vue | 135 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 135 insertions(+), 0 deletions(-) diff --git a/src/components/SimpleProcessDesignerV2/src/nodes-config/StartUserNodeConfig.vue b/src/components/SimpleProcessDesignerV2/src/nodes-config/StartUserNodeConfig.vue new file mode 100644 index 0000000..e43a351 --- /dev/null +++ b/src/components/SimpleProcessDesignerV2/src/nodes-config/StartUserNodeConfig.vue @@ -0,0 +1,135 @@ +<template> + <el-drawer + :append-to-body="true" + v-model="settingVisible" + :show-close="false" + :size="550" + :before-close="saveConfig" + > + <template #header> + <div class="config-header"> + <input + v-if="showInput" + type="text" + class="config-editable-input" + @blur="blurEvent()" + v-mountedFocus + v-model="nodeName" + :placeholder="nodeName" + /> + <div v-else class="node-name"> + {{ nodeName }} <Icon class="ml-1" icon="ep:edit-pen" :size="16" @click="clickIcon()" /> + </div> + <div class="divide-line"></div> + </div> + </template> + <el-tabs type="border-card" v-model="activeTabName"> + <el-tab-pane label="权限" name="user"> + <div> 待实现 </div> + </el-tab-pane> + <el-tab-pane label="表单字段权限" name="fields" v-if="formType === 10"> + <div class="field-setting-pane"> + <div class="field-setting-desc">字段权限</div> + <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> + </div> + </div> + <div + class="field-setting-item" + v-for="(item, index) in fieldsPermissionConfig" + :key="index" + > + <div class="field-setting-item-label"> {{ item.title }} </div> + <el-radio-group class="field-setting-item-group" v-model="item.permission"> + <div class="item-radio-wrap"> + <el-radio + :value="FieldPermissionType.READ" + size="large" + :label="FieldPermissionType.READ" + ><span></span + ></el-radio> + </div> + <div class="item-radio-wrap"> + <el-radio + :value="FieldPermissionType.WRITE" + size="large" + :label="FieldPermissionType.WRITE" + ><span></span + ></el-radio> + </div> + <div class="item-radio-wrap"> + <el-radio + :value="FieldPermissionType.NONE" + size="large" + :label="FieldPermissionType.NONE" + ><span></span + ></el-radio> + </div> + </el-radio-group> + </div> + </div> + </el-tab-pane> + </el-tabs> + <template #footer> + <el-divider /> + <div> + <el-button type="primary" @click="saveConfig">确 定</el-button> + <el-button @click="closeDrawer">取 消</el-button> + </div> + </template> + </el-drawer> +</template> +<script setup lang="ts"> +import { SimpleFlowNode, NodeType, FieldPermissionType, START_USER_BUTTON_SETTING } from '../consts' +import { useWatchNode, useDrawer, useNodeName, useFormFieldsPermission } from '../node' + +defineOptions({ + name: 'StartUserNodeConfig' +}) +const props = defineProps({ + flowNode: { + type: Object as () => SimpleFlowNode, + required: true + } +}) +// 抽屉配置 +const { settingVisible, closeDrawer, openDrawer } = useDrawer() +// 当前节点 +const currentNode = useWatchNode(props) +// 节点名称 +const { nodeName, showInput, clickIcon, blurEvent } = useNodeName(NodeType.COPY_TASK_NODE) +// 激活的 Tab 标签页 +const activeTabName = ref('user') +// 表单字段权限配置 +const { formType, fieldsPermissionConfig, getNodeConfigFormFields } = useFormFieldsPermission( + FieldPermissionType.WRITE +) + +// 保存配置 +const saveConfig = async () => { + activeTabName.value = 'user' + currentNode.value.name = nodeName.value! + // TODO 暂时写死。后续可以显示谁有权限可以发起 + currentNode.value.showText = '已设置' + // 设置表单权限 + currentNode.value.fieldsPermission = fieldsPermissionConfig.value + // 设置发起人的按钮权限 + currentNode.value.buttonsSetting = START_USER_BUTTON_SETTING + settingVisible.value = false + return true +} +// 显示发起人节点配置, 由父组件传过来 +const showStartUserNodeConfig = (node: SimpleFlowNode) => { + nodeName.value = node.name + // 表单字段权限 + getNodeConfigFormFields(node.fieldsPermission) +} + +defineExpose({ openDrawer, showStartUserNodeConfig }) // 暴露方法给父组件 +</script> + +<style lang="scss" scoped></style> -- Gitblit v1.9.3