用户选择框设计思路

article/2025/7/12 10:56:45

最近新项目要用到选择人员,于是重新在新项目中设计了一版选人框。

效果图如下:

功能部分

一个选人框主要有以下几个展示部分:

  1. 人员组织树
  2. 已选节点信息
  3. 操作工具栏

     


这三大部分再细分下各自应有的基础功能:

人员展示部分:

  • 用户信息展示
  • 选中节点的标识
  • 对于人员的快速定位功能

1)用户成员展示

将人员用树形直接列出,是最直接、最便捷的方式。因为树形下,很方便查看组织结构,某位用户属于哪个部门,同级员工信息,这些都很清楚。

2)选中节点标识

现在很多的选择树,都前置或后置“复选框”来作为选中状态的标识,这种做法的好处,一是具有明显标识状态,二是引导用户,此节点可直接点击。

前置选择标识:微信的后置选中标识:

而我采取的是,树形节点变色加粗,作为选中标识。之所以做出这种方案,是因为:

  • UI:避免节点前用户图标和复选框的图标累加
  • 技术:Extjs modern版tree不易绘制复选框

当然,仅仅做单节点选中还不够,节点选中更重要的一点还在于,父子节点之间的关联状态。即父节点选中,其节点下的子节点也会是选中状态,而子节点全选时,父节点也应变成被选中的状态。这一步,其实就是算法的递归,一个向上,一个向下。除此之外,还应有个同名节点的选中关联

例如,小张是在分属A部门,但是在B部门的组织里也有小张,那在A部门节点下选中小张后,B部门节点下的小张节点,也应该是选中的状态。

3)人员的快速定位

通过人员的关键字,来筛选过滤用户。通常关键字就是用户的编号、拼音等等,除了输入的快速定位,可以增添,展开树,一下子将所有用户都展示给用户,用人眼搜索,大脑过滤。


已选节点信息

关于已选节点的展示,作为一个UI界的小白,我的方法就是——直接借鉴。归结原因,自己虽然没有构建美的能力,但是却有画出丑的天赋。当然,货比三家的方法,也是开发成本最低,犯错率最低的一种

首先,参考的是,某微的选人框:还有某钉的:

发现一个共同点,展示方式都是,前置头像或是名字加底色,再加上节点信息文本。索性用户控件,就以这种“大头贴”+名字的形式展示。不过随之而来的还有个问题,此控件是个复选类的控件——既能多选,又要具有单选性质。这就涉及到选人控件的选中态。

一想到选中这两个字眼,脑海中第一反应就是,选中的元素有“√”的UI样式,所以设计出的初稿都是以下这样的:

发现,选中的节点反而像未选中的。后来改进了几版也都是这样,这就是陷到了自己的惯性思维中了。回归到控件设计的出发点——想要实现的功能上,用于过滤信息,选中的即为展示,未选中的即被屏蔽。于是,自己开始在未选中的元素上动脑子,起初设计成一个屏蔽眼——在未选中的头像上,置了一层遮罩+一个不可见视图:

对比一下,可以看到 有底色加头像变化更具对比性。


操作工具栏

操作工具栏部分,主要是两个功能:

  • 全清
  • 人员数量的提示

这两项功能,都是基于需求。这两项的功能,有点类似于购物车里的全删和结算操作。整个选人框的业务逻辑,也是跟购物车很像的,将xx从列表中选中,放置到某一个集合,然后通用工具栏,操作选中节点。


总结

在设计这个选人框的开始阶段,并不是全凭脑袋空想,先去“货比三家”竞品分析下其他OA系统的做法。设计中,也是设计了好几个方案,然后让别人做选择题。现在的版本也不一定是最终版,好的产品都是迭代出来的,不要想着一步到位,要想着快步小跑,不断迭代。


http://chatgpt.dhexx.cn/article/AqAMshxE.shtml

相关文章

解读华为的流程与 IT 管理部门

公众号回复:干货,领取价值58元/套IT管理体系文档 公众号回复:ITIL教材,领取最新ITIL4中文教材 更多专业文档请访问 www.itilzj.com 华为,其流程与IT管理部是国内IT部门的发展标杆,负责的是华为各个部门和跨…

人员选择树,搜索自动筛选功能

要实现的功能截图: 要求: 1、点击收件人输入框可以根据拼音自动筛选数据,并且标记已经选择的数据,没有结果的时候提示,相应的更新左边树节点状态 2、勾选树右侧树的节点左侧输入框出现一一对应的节点名称 用到的…

级联选择器el-cascader处理复杂数据(四层、五层数据),回显部门以及部门下的人员

注意:参考第五层的数据处理比较nice 当级联选择器需要绑定的数组不再是简易数据,props涉及的字段不再是一个,而是列表里面套列表 比如,我想要获取部门以及下面的员工,如何显示?如下图1所示,后…

一个简单的联系人及组织架构选择人员的实现

前言:技术实现:Vitevue3tsvant。 本次主要是因为本人说了一个类似的功能,前期遇到了很多坑,导致 进度缓慢。虽然可以实现,但是都基于多个数组操作的情况,当涉及功能修改或优化,就很难实现了。 本…

jQuery仿钉钉组织架构的选择部门功能,移动端完美树形图

在网上找了好久&#xff0c;实在没见到有类似的只能自己写一个一、功能如图所示&#xff0c;点击选择无限下级功能 二、css <style>body{margin:0;padding:0;background:#ffffff}.spaceBetween {display: flex;justify-content: space-between;align-items: center;}.su…

vue的el-tree实现部门人员的tree展示选择,包括根据已有id进行默认选中设置

根据部门和人员&#xff0c;生成部门人员选择树&#xff0c;用的是Vue的el-tree生产树。 java部分------------------------------------------------------------------------------- 1&#xff1a;中间实体dto&#xff08;就是前端要的字段&#xff0c;让从数据库中查询的时…

Java+zTree审批人员选择

实现一个类似于钉钉审批人员选择的功能。 这里使用zTree实现组织架构树。 实体类需要有id,pId实现上下级关系。 company.java getter/setter略。 private int company_id;//公司idprivate String company_name;//公司名称private String remark;//备注信息private String f…

element-tree 实现部门-人员选择(支持ID相同)

使用element-tree实现id相同的选择 相同人员可在不同部门出现, 当勾选其中一个人员时,其它部门的相同人员也要勾选上右侧可进行删除已勾选人员, 并且树状图勾选状态取消若有勾选,进入时候默认选中 效果如下: 例如: 点击勾选总经办的王五,技术部的王五也要勾选上,右侧删除王五…

【Mobile Org】适用于移动端/H5的组织部门/角色/人员选择组件

Mobile Org Introduction 移动端组织架构数据选择方案&#xff0c;包括组织机构、角色以及人员等分类&#xff0c;支持单选、多选、关键字段自定义以及多种事件及插槽等&#xff0c;适用于大部分组织选人场景。 支持懒加载回调&#xff0c;点击获取当前组织下的子组织及人员…

使用VUE自定义组件封装部门选择功能

背景 照惯例&#xff0c;先交待下背景&#xff0c;从真实需求出发&#xff0c;讲述实现效果、设计思路和实现方式。 软件系统中&#xff0c;会有一些常见常用的选择功能&#xff0c;如部门选择、人员选择等&#xff0c;用于填报表单&#xff0c;使用频率很高。直接使用一方面会…

选择部门(多层级)下人员

一、顶部部门选中标题栏&#xff08;部门面包屑&#xff09; 1.使用水平滚动的ListView&#xff08;HorizontalListView&#xff09;&#xff0c;代码搜索一下就能找到&#xff0c; 2.右监听可以使用符号文字>&#xff08;代码&#xff1a;>&#xff09;&#xff0c;也…

阿里云成立13年首次实现年度盈利;iPhone14有望实现息屏显示;Android 13将采用华为研发的只读文件系统 |EA周报...

EA周报 2022年5月27日 每个星期7分钟&#xff0c;元宝带你喝一杯IT人的浓缩咖啡&#xff0c;了解天下事、掌握IT核心技术。 周报看点 1、成立13年首次年度盈利&#xff0c;阿里云2022财年赚11亿 2、博通官宣610亿美元收购VMware 3、Android 13 将默认采用华为开发的只读文件系统…

【ELT.ZIP】OpenHarmony啃论文俱乐部—数据密集型应用内存压缩

本文出自ELT.ZIP团队&#xff0c;ELT<>Elite(精英)&#xff0c;.ZIP为压缩格式&#xff0c;ELT.ZIP即压缩精英。成员&#xff1a; 上海工程技术大学大二在校生合肥师范学院大二在校生清华大学大二在校生成都信息工程大学大一在校生黑龙江大学大一在校生华南理工大学大一在…

Nydus 镜像扫描加速

文&#xff5c;余硕 上海交通大学22届毕业生 阿里云开发工程师 从事云原生底层系统的开发和探索工作。 本文 6369 字 阅读 16 分钟 GitLink 编程夏令营是在 CCF 中国计算机学会指导下&#xff0c;由 CCF 开源发展委员会&#xff08;CCF ODC&#xff09;举办的面向全国高校学生的…

定了,6大领域93个开源任务,阿里开源导师带你参与中科院开源之夏2022

今年&#xff0c;由阿里巴巴开源导师参与的30个核心开源社区再次加入中国科学院软件研究所开源软件供应链点亮计划支持下的系列高校开源活动——开源之夏2022&#xff0c;共开放93个开源任务。通过本活动&#xff0c;同学们可以在顶级开源导师的指导下&#xff0c;通过3个月的时…

龙蜥操作系统 Anolis OS 8.6 - 来自阿里云的 CentOS 8 100% 兼容发行版

请访问原文链接&#xff1a;https://sysin.org/blog/anolis-os-8/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a;www.sysin.org Anolis OS 8 是 OpenAnolis 社区推出的完全开源、中立、开放的发行版&#xff0c;它支持多计算架构&#x…

remove是什么意思计算机语言,remove是什么意思?remove是什么意思?

remove()是C语言中的函数&#xff0c;一般作用是删除数组、链表对象所有的元素。函数原型是intremove(char*filename)。 函数功能 remove()函数用于删除指定的文件&#xff0c;其原型如下&#xff1a; int remove(char *filename); 函数声明2&#xff1a; templateinline bool …

Linux 知:文件系统

文章目录 1. 前言2. 文件2.1. 一切皆文件2.2. 文件属性2.3. 目录结构2.4. 文件路径 3. 文件系统3.1. 文件系统种类3.2. 文件系统特性3.2.1. 格式化3.2.2. 格式 3.3. EXT 族文件系统3.3.1. EXT2 文件系统3.3.1.1. data block&#xff08;数据区块&#xff09;3.3.1.2. inode tab…

8 亿邮件地址泄露,源于邮件验证服务;腾讯推出微信公众号直播工具

(给技术最前线加星标&#xff0c;每天看技术热点) 转自&#xff1a;开源中国、solidot、cnBeta、腾讯科技、快科技等 【技术资讯】 0、8 亿邮件地址遭泄露&#xff0c;源于邮件验证服务 近日&#xff0c;Security Discovery 安全研究人员 Bob Diachenko 发现了一个150 GB 大小、…

LWN: 5.17 合并窗口第一部分!

关注了就能看到更多这么棒的文章哦&#xff5e; 5.16 Merge window, part 1 By Jonathan CorbetNovember 4, 2021DeepL assisted translationhttps://lwn.net/Articles/874683/ 截止到撰写此文的时候&#xff0c;Linus Torvalds 已经为 5.16 版本内核而向内核合入了 6800 个 no…