近期受疫情影响公司食堂不开放,为解决同事们的吃饭问题,部门需要在每周五统计下周的订餐情况;员工根据个人意愿选择是否从公司订下周的午餐和晚餐,一旦确定一周保持不变。

  通常要完成一次部门内员工的订餐信息收集需要经过以下步骤:

1.部门负责人通知各小组接口人收集组员订餐信息;

2.各小组接口人通知组员反馈订餐信息,每个小组收集信息形式各异,如通过QQ留言、微信接龙等方式进行反馈;

3.各小组接口人汇总组员的订餐信息反馈给部门负责人;

4.部门负责人汇总各个小组的数据形成总表,并将总表截图反馈到工作群并要求员工进一步确认;

5.员工核对总表信息,若发现自己订餐信息有误的再单独反馈部门负责人修改。

6.部门负责人将核对后的表格发给负责订餐的工作人员。

  由于当过一次轮值小组接口人,发现了一些效率较低的地方:

1.尚未反馈的人员的确定;需要根据已反馈人员和组内所有成员对比才能找出谁还没有反馈信息;

2.需要小组接口人(多人)和部门负责人两级进行excel表格汇总;

3.人工统计难以保证不出错,需要反复核对;

为此创建了两个项目用于更方便的收集员工的订餐信息,如图1所示:

图1  用于收集订餐信息的两个项目

利用该系统收集订餐信息的步骤如下:

1.部门负责人在"团队任务跟踪"项目中创建一个问题,并将所有员工的账号列表填入到"分配给"字段对应的表单中,点击“批量分配”按钮即可为列表中的每个账户分配一个子任务,并将子任务显示在问题下方;

图2  团队任务跟踪的问题以及子任务列表

2.部门负责人在"团队任务跟踪"和“子任务项目1”两个项目的管理界面点击"批量注册"按钮为团队成员批量创建账号(批量创建的账号的默认密码为123456),并点击“添加到用户群组”将账号批量添加到具有问题执行权限(ExecAuth)的“用户群组”中;

图3 权限管理界面

3.组员获得账号以及操作权限后,登录系统通过父任务下的子任务列表或者进入“子任务项目1”查看分配给自己的问题,填写相应信息并按流程操作。

如图4所示,当前问题状态为“未提交”,根据流程可以进行"更新信息"和“提交”两种操作,对应下方的两个按钮。

图4 子任务的详细信息

用户superadmin点击"提交"按钮后,子任务列表中对应的状态会同步进行更改;部门负责人可以通过子任务列表清楚地看到各个同事的提交情况。

图5 superadmin提交后的子任务列表

4.部门负责人点击图2中的"导出子任务"按钮,可将各组员的反馈情况导出到excel,如图6所示:

图6 导出到excel的子任务数据

  从订餐信息收集推而广之,很多上级分派下级执行的任务都可以用类似方法进行跟踪,只需要修改子任务的流程和字段即可。

该系统具有的特点:

  1.部门负责人只要保留一份团队成员列表就可以很方便地一键分派任务;

  2.每个员工单独处理自己的问题,无法修改分配给他人的问题,避免误操作;

  3.每个子任务按制定的流程进行处理;

  4.子任务当前状态直观显示,便于任务分派人了解所有团队成员执行子任务情况;

  5.一键导出表格;

  很可能有人会问为什么不用超级表格?首先疫情期间可能因远程办公的人数太多,用户数超过负载导致超级表格极不稳定甚至很多时候无法访问;其次是某些同事未反馈时很难找到未及时反馈的人员;最重要的一点是超级表格无法按特定流程进行事务跟踪。

利用django打造自己的工作流平台(三):团队成员任务跟踪系统的更多相关文章

  1. 利用django打造自己的工作流平台(二):疫情统计系统

    相关文章: 利用django打造自己的工作流平台(一):从EXCEL到流程化运作 本文是“利用django打造自己的工作流平台”系列文章的第二篇,在自己开发的工作流平台中添加了一个用于排查统计可能受感 ...

  2. 利用django打造自己的工作流平台(一):从EXCEL到流程化运作

    因工作所需以及管理个人一些日常事项,自己基于django(一个基于python的web框架,详细介绍可查阅相关资料)开发了一个简易的工作流平台[平台地址].本文首先简要介绍工作流平台的设计思想及其在项 ...

  3. 利用django创建一个投票网站(三)

    创建你的第一个 Django 项目, 第三部分 这一篇从第二部分(zh)结尾的地方继续讲起.我们将继续编写投票应用,并且聚焦于如何创建公用界面--也被称为"视图". 设计哲学 Dj ...

  4. Django打造大型企业官网(三)

    四.前端首页 4.1.导航条实现 (1)templates/new/index.html <!DOCTYPE html> <html lang="en"> ...

  5. Python分布式爬虫打造搜索引擎完整版-基于Scrapy、Redis、elasticsearch和django打造一个完整的搜索引擎网站

    Python分布式爬虫打造搜索引擎 基于Scrapy.Redis.elasticsearch和django打造一个完整的搜索引擎网站 https://github.com/mtianyan/Artic ...

  6. [Python] 利用Django进行Web开发系列(二)

    1 编写第一个静态页面——Hello world页面 在上一篇博客<[Python] 利用Django进行Web开发系列(一)>中,我们创建了自己的目录mysite. Step1:创建视图 ...

  7. 怎样利用App打造自明星实现自盈利

    怎样利用App打造自明星实现自盈利 1.了解各个概念       为了大家都能看懂这篇文章,先说明几个概念.        App(Application):能够在移动设备上使用,满足人们咨询.购物. ...

  8. cocos2d-x3.9利用cocos引擎一键打包Android平台APK(C++小白教程)

    链接地址:http://www.cocoachina.com/bbs/read.php?tid=333937 cocos2d-x3.9利用cocos引擎一键打包Android平台APK(C++小白教程 ...

  9. 利用django信号实现计数功能

    本文主要知识点: 1.使用Django的signals来获取Model的新建/删除操作更新 2.使用数据库的select for update来正确处理并发的数据库操作 3.使用redis的sorte ...

随机推荐

  1. 【LC_Lesson7】---将两个有序链表合成新的一个有序链表

    将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1->2->4, 1->3->4 输出:1->1->2- ...

  2. 完美解决win10系统无法安装.NET Framework问题

    今天在安装willow插件的时候系统提示需要安装.NET Framework3.5的问题,当点击系统自动解决的时候,Windows系统又会提示错误,其实这也见怪不怪了,如果能自动解决的话也不会出现这种 ...

  3. kmp-最小子串回文次数

    poj 2406 Given two strings a and b we define a*b to be their concatenation. For example, if a = &quo ...

  4. dp - 循环数组的最大和

    首尾相连数组的最大子数组和 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 给定一个由N个整数元素组成的数组arr,数组中有正数也有负数,这个数组不是一般的数组,其首尾是 ...

  5. Appium自动化测试框架研究(2)——搭建IOS环境

    今天的文章讲iOS的Appium环境搭建. 对于iOS而言,只能在Mac笔记本上安装Appium,以及所需要的各种组件. 也许有人会问,能否在Windows系统上使用Appium测试iOS手机,这不就 ...

  6. 8.JavaSE之变量、常量、作用域

    变量variable: 变量是什么:就是内存中开辟的可以变化的量! Java是一种强类型语言,每个变量都必须声明其类型. Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型,作用域   ...

  7. Java入门 - 面向对象 - 02.重写与重载

    原文地址:http://www.work100.net/training/java-override-overload.html 更多教程:光束云 - 免费课程 重写与重载 序号 文内章节 视频 1 ...

  8. 影响K8S Pod分配和调度策略的两大关键特性

    在Kubernetes中有一个最复杂的调度器可以处理pod的分配策略.基于在pod规范中所提及的资源需求,Kubernetes调度器会自动选择最合适的节点来运行pod. 但在许多实际场景下,我们必须干 ...

  9. 网络通信-基本概念:网络、IP地址、端口、socket

    目录 网络通信 1 网络 1.1 网络定义 1.2 使用网络的目的 1.3 总结 2 IP地址 2.1 ip地址的作用 2.2 ip地址的分类 3 端口 3.1 什么是端口 3.2 端口号 3.3 端 ...

  10. XML学习笔记——关于XML解析器

    本篇文章基于W3C而写 在Firefox及其他浏览器中的XML解析器(除IE) var xmlDoc=document.implementation.createDocument("&quo ...