设计简单的后台管理的数据排序
2017-01-06 09:16
225 查看
场景:
前端需要展示一个列表如首页的轮播图后台需要能够控制列表数据的排序。需求
自动规则 + 运营干预干预包括降低排名提升排名设定位置和新增item实现
在Web后台管理系统中列表形式的数据排序功能是很常见的需求。要实现这类功能给数据表增加一个排序字段order越大排名越靠前数字相同时按照自动规则如id排序这样就可以实现了
id | name | order |
---|---|---|
1 | tom | 2 |
2 | jack | 3 |
3 | bob | 1 |
jack tom bob
既然是后台那么主要的用户是公司的运营人员本着提高使用效率的原则在草稿纸上画了个原型让运营对比然后来得出哪个更符合他的使用习惯再做确定结果沟通下来运营理想中操作是想要在后台直接拖动排序。
现在问题来了应该怎么设计这个运营干预的功能
方案1填写数字
方案2上移、下移
方案3手动控制加分or减分+1/-1 +10/-10
方案4如运运营所想提供拖动排序功能
方案1的技术实现最简单对开发来说最方便但对运营来说却比较麻烦。
方案2的技术实现其实较复杂比如上移一位需要先查询当前项的前一项的
order, 然后让当前项的
order+1并保存, 对运营来说操作较简单。
方案3的技术实现比较简单比如点击-10只需更新当前项的
order-10并保存但有可能在
order-10后当前项的顺序还没有变如前一项12当前项11后一项0对运营来说操作比较简单。
方案4的技术实现比较复杂需要使用js实现拖拽数据项的效果等在拖动结束或点击保存后判断当前的所有数据顺序并保存对运营来说操作简单。
综合比较
技术实现复杂度方案1<方案3<方案2<方案4
操作便捷性方案4<方案3<方案2<方案1
分析一下大多数的场景看到列表的数据是有限的一般都是5条、10条、20条左右由于我所在的是创业公司开发资源有限选择方案3在当前情况下是合适的实现方式。
经过了一番沟通在许诺了下午茶后说服了产品、运营接收这中方案。
图中就是我用方案3实现的一个界面单个箭头的是
+1 -1俩个箭头的分别是
+10 -10分别用于微调和较大位置距离的调整在管理大多数少量数据列表的场景下对于运营人员是够用了。
相关文章推荐
- 设计简单的后台管理的数据排序
- 后台管理框架之五 :数据仓储设计
- 后台管理框架之四 :数据模型设计
- 数据结构课程设计-通讯录管理系统c++版(顺序表存储,折半查找,递增排序)
- java后台设计简单的json数据接口,设置可跨域访问,前端ajax获取json数据
- java后台设计简单的json数据接口,设置可跨域访问,前端ajax获取json数据
- 使用Django快速搭建简单的数据管理后台
- 个人帐簿管理系统设计[数据结构课程设计]
- 后台管理登录篇-asp设计与数据库
- 关于装配类数据的简单设计
- 简单的权限管理设计
- 6/27 一个简单的员工管理程序:添加微软成员资格数据表
- 通用数据权限管理系统设计
- 重新温习数据结构二:简单排序
- 简单的通讯数据管理(java)
- swing布局设计及事件监听和javabean数据管理事例
- 学习管理:合作接口设计的简单总结
- 一个后台运行程序的简单设计
- 通用数据权限管理系统设计
- 用户权限设计(四)——基于RBAC模型的通用权限管理系统的设计(数据模型)的扩展