front.go 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. package front
  2. import (
  3. "fmt"
  4. "github.com/go-xweb/xweb"
  5. "mongodb"
  6. qu "qfw/util"
  7. "strconv"
  8. . "util"
  9. )
  10. var UserMenu map[string][]map[string]interface{} //存储菜单
  11. func init() {
  12. UserMenu = make(map[string][]map[string]interface{})
  13. }
  14. type Front struct {
  15. *xweb.Action
  16. index xweb.Mapper `xweb:"/front/index"` //index页面
  17. //user
  18. login xweb.Mapper `xweb:"/"` //登录页面
  19. code xweb.Mapper `xweb:"/code"` //获取图片验证码
  20. logout xweb.Mapper `xweb:"/front/logout"` //注销
  21. updatePwd xweb.Mapper `xweb:"/front/updatepwd"` //更新密码
  22. userGroup xweb.Mapper `xweb:"/front/group"` //查所有用户组
  23. userAll xweb.Mapper `xweb:"/front/user"` //查询用户列表
  24. userGroupNew xweb.Mapper `xweb:"/front/group/new"` //用户组新建
  25. groupModify xweb.Mapper `xweb:"/front/group/group/modify"` //用户组修改
  26. userNew xweb.Mapper `xweb:"/front/group/user/new"` //新建用户
  27. userGroupState xweb.Mapper `xweb:"/front/group/state"` //用户组状态
  28. userGroupStateBulk xweb.Mapper `xweb:"/front/group/bulks_setup"` //批量修改用户组状态
  29. userStateBulk xweb.Mapper `xweb:"/front/user/bulks_setup"` //批量修改用户状态
  30. userGroupDel xweb.Mapper `xweb:"/front/group/del"` //用户组删除
  31. userManage xweb.Mapper `xweb:"/front/group/user"` //用户管理
  32. userState xweb.Mapper `xweb:"/front/group/user/state"` //用户状态
  33. userDel xweb.Mapper `xweb:"/front/group/user/del"` //用户删除
  34. userModify xweb.Mapper `xweb:"/front/group/user/modify"` // 修改用户信息
  35. groupList xweb.Mapper `xweb:"/front/group/list"` //用户组选择列表
  36. userList xweb.Mapper `xweb:"/front/group/user/list"` //用户组的普通用户列表
  37. //menu
  38. menu xweb.Mapper `xweb:"/front/menu"` //查一级菜单
  39. menuSave xweb.Mapper `xweb:"/front/menu/save"` //保存一级菜单
  40. menuDel xweb.Mapper `xweb:"/front/menu/del"` //删除一级菜单
  41. menuSecond xweb.Mapper `xweb:"/front/menuSecond"` //查二级菜单
  42. menuSecondSave xweb.Mapper `xweb:"/front/menuSecond/save"` //保存二级菜单
  43. menuSecondDel xweb.Mapper `xweb:"/front/menuSecond/del"` //删除二级菜单
  44. personalMenu xweb.Mapper `xweb:"/front/personalMenu"`
  45. //role
  46. roleManager xweb.Mapper `xweb:"/front/role"` //角色权限管理
  47. roleNew xweb.Mapper `xweb:"/front/role/save"` //新增角色
  48. roleEdit xweb.Mapper `xweb:"/front/role/edit/(.*)"` //角色权限查看
  49. roleFirst xweb.Mapper `xweb:"/front/role/first"` //一级权限的查看
  50. roleSecond xweb.Mapper `xweb:"/front/role/second"` //二级权限的查看
  51. roleSave xweb.Mapper `xweb:"/front/role/edit/save"` //权限编辑保存
  52. roleDel xweb.Mapper `xweb:"/front/role/edit/del"` //权限编辑删除
  53. roleSecondEdit xweb.Mapper `xweb:"/front/role/second/edit"` //二级权限编辑
  54. //project
  55. projectList xweb.Mapper `xweb:"/front/project"` //项目列表
  56. projectSave xweb.Mapper `xweb:"/front/project/save"` //新增项目
  57. projectComplete xweb.Mapper `xweb:"/front/project/complete"` //项目完成
  58. projectQualityAssessment xweb.Mapper `xweb:"/front/project/qualityAssessment"` //数据质量评估
  59. projectGroupTaskSave xweb.Mapper `xweb:"/front/project/task/save"` //用户组任务分发
  60. projectGroupTaskList xweb.Mapper `xweb:"/front/project/task/list"` //用户组任务分发列表
  61. projectGroupTaskRetrieve xweb.Mapper `xweb:"/front/project/task/retrieve"` //用户组任务收回
  62. projectGroupTaskRepulse xweb.Mapper `xweb:"/front/project/task/repulse"` //用户组任务打回
  63. projectGroupTaskClose xweb.Mapper `xweb:"/front/project/task/close"` //用户组任务关闭
  64. projectGetEntnameList xweb.Mapper `xweb:"/front/project/getEntnameList"` //模糊查询公司名称
  65. projectIsExists xweb.Mapper `xweb:"/front/project/isExists"` //判断项目名称是否存在
  66. //user task
  67. userTaskSave xweb.Mapper `xweb:"/front/user/task/save"` //用户任务分发
  68. userTaskList xweb.Mapper `xweb:"/front/user/task/list"` //用户任务列表
  69. userTaskRetrieve xweb.Mapper `xweb:"/front/user/task/retrieve"` //用户任务收回
  70. userTaskDeliver xweb.Mapper `xweb:"/front/user/task/deliver"` //用户任务交付
  71. userTaskClose xweb.Mapper `xweb:"/front/user/task/close"` //用户任务关闭
  72. //group task
  73. groupTaskListByAdmin xweb.Mapper `xweb:"/front/group/admin/task/list"` //用户组任务列表(系统管理员权限)
  74. groupTaskListByGroup xweb.Mapper `xweb:"/front/group/task/list"` //用户组任务列表(用户组权限)
  75. groupTaskDeliver xweb.Mapper `xweb:"/front/group/task/deliver"` //用户组任务交付
  76. groupTaskExport xweb.Mapper `xweb:"/front/group/task/export"` //用户组任务导出
  77. groupUserTaskList xweb.Mapper `xweb:"/front/group/user/task/list"` //用户组下用户任务列表
  78. //mark
  79. dataMark xweb.Mapper `xweb:"/front/data/mark"` //数据标注
  80. userDataMark xweb.Mapper `xweb:"/front/data/user/mark"` //标注人员数据标注
  81. jyUserDataMark xweb.Mapper `xweb:"/front/data/jyuser/mark"` //剑鱼管理人员数据标注
  82. remarkList xweb.Mapper `xweb:"/front/user/remark/list"`
  83. jyMarkList xweb.Mapper `xweb:"/front/user/jymark/list"` //剑鱼用户查看标注数据列表
  84. remarkDetail xweb.Mapper `xweb:"/front/user/remark/detail"`
  85. //check
  86. checkList xweb.Mapper `xweb:"/front/user/check/list"`
  87. checkData xweb.Mapper `xweb:"/front/user/check/data"`
  88. checkDetail xweb.Mapper `xweb:"/front/user/check/detail"`
  89. checkSave xweb.Mapper `xweb:"/front/user/check/save"`
  90. checkResult xweb.Mapper `xweb:"/front/user/check/result"`
  91. }
  92. func (f *Front) Index() {
  93. defer qu.Catch()
  94. user := f.GetSession("user").(map[string]interface{})
  95. role := qu.ObjToString(user["i_role"])
  96. if role == "4" {
  97. _ = f.Render("project/task_user_list.html")
  98. } else if role == "3" {
  99. _ = f.Render("project/check_task_list.html")
  100. } else {
  101. _ = f.Render("index.html")
  102. }
  103. }
  104. func (f *Front) PersonalMenu() {
  105. user := f.GetSession("user").(map[string]interface{})
  106. list := UserMenu[qu.ObjToString(user["s_login"])]
  107. f.ServeJson(map[string]interface{}{
  108. "data": list,
  109. })
  110. }
  111. func GetUserMenu(role int) []map[string]interface{} {
  112. list := []map[string]interface{}{}
  113. maps := map[string]interface{}{
  114. "delete": false,
  115. }
  116. if role != 0 {
  117. maps[fmt.Sprintf("role.%d", role)] = true
  118. }
  119. data, _ := Mgo.Find("menu_first", maps, nil, nil, false, -1, -1)
  120. for _, d := range *data {
  121. _id := d["_id"]
  122. maps = map[string]interface{}{
  123. "delete": false,
  124. "s_pid": mongodb.BsonIdToSId(_id),
  125. }
  126. if role != 0 {
  127. maps[fmt.Sprintf("role.%d", role)] = true
  128. }
  129. secdatas, _ := Mgo.Find("menu_second", maps, nil, nil, false, -1, -1)
  130. secmenumap := map[string]interface{}{}
  131. for index, secdata := range *secdatas {
  132. secmenumap[strconv.Itoa(index+1)] = secdata
  133. }
  134. if len(secmenumap) != 0 {
  135. d["secondmenu"] = secmenumap
  136. }
  137. list = append(list, d)
  138. }
  139. return list
  140. }