WorkAction.php 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <?php
  2. namespace app\bug\model;
  3. use think\model\concern\SoftDelete;
  4. class WorkAction extends Base
  5. {
  6. //设置字段信息
  7. use SoftDelete;
  8. protected $schema = [
  9. 'id' =>'int',//
  10. 'action_name' =>'varchar',//功能名称
  11. 'menu_id' =>'int',//归属菜单页面id
  12. 'belong' =>'tinyint',//系统归属1采销2结算3数据统计
  13. 'belong_action' =>'text',//功能集合
  14. 'belong_process' =>'text',//功能集合
  15. 'apply_id' =>'int',//申请人id
  16. 'apply_name' =>'varchar',//申请人名称
  17. 'createTime' =>'datetime',//
  18. 'updateTime' =>'datetime',//
  19. 'delete_time' =>'datetime',//
  20. ];
  21. protected $updateTime='updateTime';
  22. protected $createTime='createTime';
  23. protected $deleteTime = 'delete_time';
  24. public function GetBelongActionAttr($v){
  25. return json_decode($v,true);
  26. }
  27. public function SetBelongActionAttr($v){
  28. return json_encode($v,JSON_UNESCAPED_UNICODE);
  29. }
  30. public function GetBelongProcessAttr($v){
  31. return json_decode($v,true);
  32. }
  33. public function SetBelongProcessAttr($v){
  34. return json_encode($v,JSON_UNESCAPED_UNICODE);
  35. }
  36. public function GetTreeActionByIdArr($idArr,$belong=0){
  37. $list = $this->whereIn("id",$idArr)->field("id,action_name,menu_id,belong_action")->select();
  38. foreach ($list as &$item){
  39. $meun = $this->GetMenuList($item->menu_id,$belong);
  40. $item->actionInfo = $this->GetActionList($item->belong_action,$belong);
  41. $item=array_merge($item->toArray(),$meun);
  42. }
  43. return $list;
  44. }
  45. public function GetMenuList($menuid,$belong){
  46. $menu=[];
  47. switch ($belong){
  48. case 1:
  49. $menu=\app\admin\model\AdminMenu::GetMenu($menuid);
  50. break;
  51. case 2:
  52. $menu=\app\cxinv\model\AdminMenu::GetMenu($menuid);
  53. break;
  54. case 3:
  55. $menu=\app\cxinv\model\AdminMenu::GetMenu($menuid);
  56. break;
  57. }
  58. return$menu;
  59. }
  60. public function GetActionList($action,$belong){
  61. $action=[];
  62. switch ($belong){
  63. case 1:
  64. $menu=\app\admin\model\AdminMenu::GetAction($action);
  65. break;
  66. case 2:
  67. $menu=\app\cxinv\model\AdminMenu::GetAction($action);
  68. break;
  69. case 3:
  70. $menu=\app\cxinv\model\AdminMenu::GetAction($action);
  71. break;
  72. }
  73. return$action;
  74. }
  75. }