front.go 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  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. userGroupState xweb.Mapper `xweb:"/front/group/state"` //用户组状态
  26. userGroupStateBulk xweb.Mapper `xweb:"/front/group/bulks_setup"` //批量修改用户组状态
  27. userGroupDel xweb.Mapper `xweb:"/front/group/del"` //用户组删除
  28. userManage xweb.Mapper `xweb:"/front/group/user"` //用户管理
  29. userState xweb.Mapper `xweb:"/front/group/user/state"` //用户状态
  30. userDel xweb.Mapper `xweb:"/front/group/user/del"` //用户删除
  31. userModify xweb.Mapper `xweb:"/front/group/user/modify"` // 修改用户信息
  32. groupList xweb.Mapper `xweb:"/front/group/list"` //用户组选择列表
  33. userList xweb.Mapper `xweb:"/front/group/user/list"` //用户组的普通用户列表
  34. //menu
  35. menu xweb.Mapper `xweb:"/front/menu"` //查一级菜单
  36. menuSave xweb.Mapper `xweb:"/front/menu/save"` //保存一级菜单
  37. menuDel xweb.Mapper `xweb:"/front/menu/del"` //删除一级菜单
  38. menuSecond xweb.Mapper `xweb:"/front/menuSecond"` //查二级菜单
  39. menuSecondSave xweb.Mapper `xweb:"/front/menuSecond/save"` //保存二级菜单
  40. menuSecondDel xweb.Mapper `xweb:"/front/menuSecond/del"` //删除二级菜单
  41. personalMenu xweb.Mapper `xweb:"/front/personalMenu"`
  42. //role
  43. roleManager xweb.Mapper `xweb:"/front/role"` //角色权限管理
  44. roleNew xweb.Mapper `xweb:"/front/role/save"` //新增角色
  45. roleEdit xweb.Mapper `xweb:"/front/role/edit/(.*)"` //角色权限查看
  46. roleFirst xweb.Mapper `xweb:"/front/role/first"` //一级权限的查看
  47. roleSecond xweb.Mapper `xweb:"/front/role/second"` //二级权限的查看
  48. roleSave xweb.Mapper `xweb:"/front/role/edit/save"` //权限编辑保存
  49. roleDel xweb.Mapper `xweb:"/front/role/edit/del"` //权限编辑删除
  50. roleSecondEdit xweb.Mapper `xweb:"/front/role/second/edit"` //二级权限编辑
  51. //project
  52. projectList xweb.Mapper `xweb:"/front/project"` //项目列表
  53. projectSave xweb.Mapper `xweb:"/front/project/save"` //新增项目
  54. projectComplete xweb.Mapper `xweb:"/front/project/complete"` //项目完成
  55. projectQualityAssessment xweb.Mapper `xweb:"/front/project/qualityAssessment"` //数据质量评估
  56. projectGroupTaskSave xweb.Mapper `xweb:"/front/project/task/save"` //用户组任务分发
  57. projectGroupTaskList xweb.Mapper `xweb:"/front/project/task/list"` //用户组任务分发列表
  58. projectGroupTaskRetrieve xweb.Mapper `xweb:"/front/project/task/retrieve"` //用户组任务收回
  59. projectGroupTaskRepulse xweb.Mapper `xweb:"/front/project/task/repulse"` //用户组任务打回
  60. projectGroupTaskClose xweb.Mapper `xweb:"/front/project/task/close"` //用户组任务关闭
  61. projectGetEntnameList xweb.Mapper `xweb:"/front/project/getEntnameList"` //模糊查询公司名称
  62. //user task
  63. userTaskSave xweb.Mapper `xweb:"/front/user/task/save"` //用户任务分发
  64. userTaskList xweb.Mapper `xweb:"/front/user/task/list"` //用户任务列表
  65. userTaskRetrieve xweb.Mapper `xweb:"/front/user/task/retrieve"` //用户任务收回
  66. userTaskDeliver xweb.Mapper `xweb:"/front/user/task/deliver"` //用户任务交付
  67. userTaskClose xweb.Mapper `xweb:"/front/user/task/close"` //用户任务关闭
  68. //group task
  69. groupTaskListByAdmin xweb.Mapper `xweb:"/front/group/admin/task/list"` //用户组任务列表(系统管理员权限)
  70. groupTaskListByGroup xweb.Mapper `xweb:"/front/group/task/list"` //用户组任务列表(用户组权限)
  71. groupTaskDeliver xweb.Mapper `xweb:"/front/group/task/deliver"` //用户组任务交付
  72. groupTaskExport xweb.Mapper `xweb:"/front/group/task/export"` //用户组任务导出
  73. groupUserTaskList xweb.Mapper `xweb:"/front/group/user/task/list"` //用户组下用户任务列表
  74. //mark
  75. dataMark xweb.Mapper `xweb:"/front/data/mark"` //数据标注
  76. userDataMark xweb.Mapper `xweb:"/front/data/user/mark"` //标注人员数据标注
  77. jyUserDataMark xweb.Mapper `xweb:"/front/data/jyuser/mark"` //剑鱼管理人员数据标注
  78. remarkList xweb.Mapper `xweb:"/front/user/remark/list"`
  79. jyMarkList xweb.Mapper `xweb:"/front/user/jymark/list"` //剑鱼用户查看标注数据列表
  80. remarkDetail xweb.Mapper `xweb:"/front/user/remark/detail"`
  81. //check
  82. checkList xweb.Mapper `xweb:"/front/user/check/list"`
  83. checkData xweb.Mapper `xweb:"/front/user/check/data"`
  84. checkDetail xweb.Mapper `xweb:"/front/user/check/detail"`
  85. }
  86. func (f *Front) Index() {
  87. defer qu.Catch()
  88. f.Render("index.html")
  89. }
  90. func (f *Front) PersonalMenu() {
  91. user := f.GetSession("user").(map[string]interface{})
  92. list := UserMenu[qu.ObjToString(user["s_login"])]
  93. f.ServeJson(map[string]interface{}{
  94. "data": list,
  95. })
  96. }
  97. func GetUserMenu(role int) []map[string]interface{} {
  98. list := []map[string]interface{}{}
  99. maps := map[string]interface{}{
  100. "delete": false,
  101. }
  102. if role != 0 {
  103. maps[fmt.Sprintf("role.%d", role)] = true
  104. }
  105. data, _ := Mgo.Find("menu_first", maps, nil, nil, false, -1, -1)
  106. for _, d := range *data {
  107. _id := d["_id"]
  108. maps = map[string]interface{}{
  109. "delete": false,
  110. "s_pid": mongodb.BsonIdToSId(_id),
  111. }
  112. if role != 0 {
  113. maps[fmt.Sprintf("role.%d", role)] = true
  114. }
  115. secdatas, _ := Mgo.Find("menu_second", maps, nil, nil, false, -1, -1)
  116. secmenumap := map[string]interface{}{}
  117. for index, secdata := range *secdatas {
  118. secmenumap[strconv.Itoa(index+1)] = secdata
  119. }
  120. if len(secmenumap) != 0 {
  121. d["secondmenu"] = secmenumap
  122. }
  123. list = append(list, d)
  124. }
  125. return list
  126. }