记录一下和组织架构树死磕的不知道第几天——基于antd-vue1.x版本实现钉钉选择人和部门的另一种组织架构树

本文记录了作者在前端项目中实现钉钉风格的组织架构树选择功能的过程,包括静态页面、查询组织架构、全选、取消全选、删除、单选等操作。遇到的主要挑战是性能问题,通过预缓存数据结构来优化。文章提供了开发思路,但实际代码因上传问题暂无法提供。
摘要由CSDN通过智能技术生成

更新说明~~~~最近新的项目用vue3+ts+pinia+hooks ,正在火热开发中有点忙哇,组织架构我抽出来一个demo 因为githup一直有问题传不上去,很遗憾代码已经不知道在那个文件里了 找不到了。最近我找个时间抽出来放githup上,你们先自求多福按照思路写写吧

最近产品真的是跟这个组织架构树死磕上了,导致我最近也在疯狂死磕这个东西。

别的不多说,先上效果图,看看具体什么样子

组织架构树


在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

先说一下需求背景:

数据量级能到20万高并发,不要明显卡顿,希望无感知勾选和取消,每一层的组织架构都可以全选关联搜索,搜索要搜索数据库组织架构勾选的和搜索出来的list勾选的要关联。如果不理解具体是什么情况呢可以去钉钉的网页版操作一下发起群聊,选择收件人是什么样的效果。但是我们这个和钉钉有区别的是,钉钉只选择到人,我们是部门和人都要。

当前功能不光是选择一个收件人的问题,还有再次操作的时候需要回显上一次的人员,不光是右侧显示,左侧也得把相应的数据进行反选,搜索出来的数据也需要进行反选。

前面几篇我提到过封装组织架构,什么分页滑动加载也好,什么按需加载也罢,都是因为后端限制了我的发挥,说到底后端就存了个数据,其他的都是前端写,所以emmmm,干吧!

基于我目前的情况凡事只能靠自己,如果你的后端高度配合,那么这件事情将变得相当容易,我就大概梳理一下这个逻辑和我实现的思路,希望对你有帮助。

开发过程

静态页面

首先不用想,静态页面先画好,还是由于后端的限制,层级需要一层一层查,所以先要查询出顶级菜单,我这里只有一个顶级菜单,所以没有写扩展,你需要可以简单进行扩展一下。

在这里插入图片描述

<template>
  <div class="page">
    <div class="mt32 f20">是时候展现真正的技术了</div>
    <div class="mt32 f20">已选id{
   {
    choose }}</div>
    <div class="mt32 f20">已选list{
   {
    chooseList }}</div>
    <addressee-com
      class="mt32 f20"
      ref="addressee"
      :type="type"
      :isFirstAgain="isFirstAgain"
      :surplusList="surplusList"
      :againId="$route.query.againId"
      @getOrgIds="getOrgIds"
    ></addressee-com>
  </div>
</template>

<script>
export default {
   
  data() {
   
    return {
   
      teamData: {
   },
      type: 1,
      isFirstAgain: true,
      surplusList: [],
      choose: [],
      chooseList: [],
    };
  },
  mounted() {
   },
  methods: {
   
    getOrgIds(arr, list) {
   
      this.choose = arr
  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

左撇子没秃头

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值