基于若依的ruoyi-nbcio流程管理系统增加仿钉钉流程设计(四)

简介: 基于若依的ruoyi-nbcio流程管理系统增加仿钉钉流程设计(四)

更多ruoyi-nbcio功能请看演示系统

gitee源代码地址

前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio

演示地址:RuoYi-Nbcio后台管理系统

这里继续上面的章节,讲讲角色的选择与节点表单的选择。

1、角色的选择

加上下面选择角色的界面

<div v-else-if="approverForm.assigneeType === 'role'">
                <el-select v-model="roleIds" multiple size="mini" placeholder="请选择 角色" @change="changeSelectRoles">
                  <el-option
                    v-for="item in roleOptions"
                    :key="item.roleId"
                    :label="item.roleName"
                    :value="`ROLE${item.roleId}`"
                    :disabled="item.status === 1">
                  </el-option>
                </el-select>
              </div>

同时提供方法

changeSelectRoles(val) {
      let groups = null;
      let text = null;
      if (val && val.length > 0) {
        groups = val.join() || null;
        let textArr = this.roleOptions.filter(k => val.indexOf(`ROLE${k.roleId}`) >= 0);
        text = textArr?.map(k => k.roleName).join() || null;
      } else {
        //userTaskForm.dataType = null;
        //this.multiLoopType = 'Null';
      }
      //userTaskForm.candidateGroups = groups;
      this.selectedUser.text = text;
      this.approverForm.text = text;
      this.orgCollection.role = text;
      
    },

初始化表单修改如下:

/**
     * 初始化审批节点所需数据
     */
    initApproverNodeData() {
      for (const key in this.approverForm) {
        if (this.value.properties.hasOwnProperty(key)) {
          this.approverForm[key] = this.value.properties[key];
        }
      }
      console.log("initApproverNodeData this.approverForm",this.approverForm)
      const approvers = this.approverForm.approvers
      this.resetOrgColl()
      if (Array.isArray(this.approverForm.approvers)) {
        this.orgCollection[this.approverForm.assigneeType] = approvers
      }
      else if(this.approverForm.assigneeType === 'role'){    
        this.orgCollection[this.approverForm.assigneeType] = approvers
      }
      this.approverForm.formOperates = this.initFormOperates(this.value)
    },

2、表单的选择

    界面代码如下:

<el-tab-pane label="表单选择" name="formSelect">
           <el-form size="mini" label-width="90px" @submit.native.prevent>
             <el-form-item label="表单" prop="formKey">
               <el-select v-model="formKey" placeholder="请选择表单" @change="updateFormKey" clearable>
                 <el-option v-for="item in formOptions" :key="item.formId" :label="item.formName" :value="`key_${item.formId}`" />
               </el-select>
             </el-form-item>
             <el-form-item prop="localScope">
               <span slot="label">
                 <el-tooltip content="若为节点表单,则表单信息仅在此节点可用,默认为全局表单,表单信息在整个流程实例中可用" placement="top-start">
                   <i class="header-icon el-icon-info"></i>
                 </el-tooltip>
                 <span>节点表单</span>
               </span>
               <el-switch :disabled="value.type === 'start'" v-model="localScope" active-text="是" inactive-text="否" @change="updateFormScope()" />
             </el-form-item>
           </el-form>
        </el-tab-pane>

相应的方法如下,后续还需要完善

/** 查询表单列表 */
    getFormList() {
      listForm().then(response => this.formOptions = response.rows)
    },
    updateFormKey() {
    },
    updateFormScope() {
    },

3、效果图如下:


相关文章
|
人工智能 自然语言处理 运维
钉钉MCP能力上新:AI如何提效你的工作流程
钉钉通讯录 & 部门管理、日程管理、待办任务、机器人&通知等高频场景API提供MCP服务
钉钉MCP能力上新:AI如何提效你的工作流程
|
11月前
|
JSON 数据格式 开发者
钉钉的待办功能怎么实现?我看着官网的流程下来,发送完之后没有收到代办?
本文对比了钉钉官方教程与实际操作界面的差异。根据官网教程(链接已附),开发员工待办任务应参考相关步骤,但实际页面中存在不一致情况:1) 缺少JSON-SCHEMA选项,需输入JSON处无法匹配;2) 连接流配置中仅有出参配置,未发现教程提及的入参配置。这些问题可能导致开发者在实现过程中遇到障碍,建议钉钉更新文档或优化界面以保持一致性。
|
人工智能 移动开发 IDE
安利几款与钉钉平台无缝集成打通账号认证的企业文档管理系统
钉钉是很多中小企业都爱用的产品,开通账号就能直接使用了,应用生态非常丰富,尤其是AI技术的应用,走在行业前列。但仍有很多企业对于全面拥抱SaaS服务充满了顾虑,尤其在内部资料的管理这块,即使钉钉在线文档已经提供了非常优秀的协作体验,不少客户仍更偏爱私有部署在局域网里面的企业文档管理系统。那么能将企业内部部署的文档管理系统集成到钉钉平台上面,和钉钉文档并行使用呢?市面上又有哪些企业文档管理系统软件支持与钉钉的集成呢?这也是很多企业客户的疑问。
安利几款与钉钉平台无缝集成打通账号认证的企业文档管理系统
|
存储 安全 API
"解锁企业级黑科技!用阿里云视觉智能打造钉钉级人脸打卡系统,安全高效,让考勤管理秒变智能范儿!"
【8月更文挑战第14天】随着数字化办公的发展,人脸打卡成为企业考勤的新标准。利用阿里云视觉智能开放平台构建类似钉钉的人脸打卡系统,其关键在于:高精度人脸识别API支持复杂场景下的快速检测与比对;活体检测技术防止非生物特征欺骗,确保安全性;云端存储与计算能力满足大数据处理需求;丰富的SDK与API简化集成过程,实现高效、安全的考勤管理。
546 2
|
XML 算法 API
访问者模式问题之钉钉审批流程配置为什么适合使用访问者模式
访问者模式问题之钉钉审批流程配置为什么适合使用访问者模式
|
XML 移动开发 前端开发
基于若依的ruoyi-nbcio流程管理系统里修正仿钉钉流程部门主管与多实例转xml的bug
基于若依的ruoyi-nbcio流程管理系统里修正仿钉钉流程部门主管与多实例转xml的bug
270 1
|
存储 弹性计算 安全
课时23:案例分享——钉钉
钉钉作为企业级产品,采用SaaS平台技术,依托阿里云的ECS、OSS等服务,实现快速部署与客户需求的高效适应。其数据存储于阿里云RDS中,确保安全性和可靠性,并通过高强度加密保障信息传输安全。阿里云的安全防护措施为钉钉提供了坚实后盾,使其能专注于优化和创新,提升用户体验。
390 0
|
存储 弹性计算 安全
成功案例-钉钉 | 学习笔记
快速学习 成功案例-钉钉
648 0
|
存储 弹性计算 安全
案例分享——钉钉
rds数据库 阿里云为钉钉提供了安全性和整体服务的稳定性
案例分享——钉钉

热门文章

最新文章