IssueWork.php 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | likeadmin快速开发前后端分离管理后台(PHP版)
  4. // +----------------------------------------------------------------------
  5. // | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
  6. // | 开源版本可自由商用,可去除界面版权logo
  7. // | gitee下载:https://gitee.com/likeshop_gitee/likeadmin
  8. // | github下载:https://github.com/likeshop-github/likeadmin
  9. // | 访问官网:https://www.likeadmin.cn
  10. // | likeadmin团队 版权所有 拥有最终解释权
  11. // +----------------------------------------------------------------------
  12. // | author: likeadminTeam
  13. // +----------------------------------------------------------------------
  14. namespace app\common\model\works;
  15. use app\common\model\auth\Admin;
  16. use app\common\model\BaseModel;
  17. use app\common\model\dict\DictData;
  18. use app\common\model\master_worker\MasterWorker;
  19. use app\common\model\user\User;
  20. /**
  21. * IssueWork模型
  22. * Class IssueWork
  23. * @package app\common\model\works
  24. */
  25. class IssueWork extends BaseModel
  26. {
  27. protected $name = 'issue_work';
  28. public function masterWorker()
  29. {
  30. return $this->hasOne(MasterWorker::class,'id','master_worker_id');
  31. }
  32. public function user()
  33. {
  34. return $this->hasOne(User::class,'id','user_id');
  35. }
  36. public function serviceWork()
  37. {
  38. return $this->hasOne(ServiceWork::class,'id','service_work_id');
  39. }
  40. public function returnWork()
  41. {
  42. return $this->hasOne(ReturnWork::class,'work_sn','work_sn');
  43. }
  44. public function admin()
  45. {
  46. return $this->hasOne(Admin::class,'id','approval_admin_id');
  47. }
  48. public function getIssueApprovalTextAttr($value,$data)
  49. {
  50. $approval = [0=>'等待受理',1=>'受理中',2=>'已核实',3=>'返修中',4=>'已完结'];
  51. return $approval[$data['issue_approval']];
  52. }
  53. public function getFinishedImagesAttr($value)
  54. {
  55. return empty($value)?'':json_decode($value,true);
  56. }
  57. public function getComplaintImagesAttr($value)
  58. {
  59. return empty($value)?'':json_decode($value,true);
  60. }
  61. public function setComplaintImagesAttr($value)
  62. {
  63. return empty($value)?'':json_encode($value,JSON_UNESCAPED_UNICODE);
  64. }
  65. public function getComplaintTypeAttr($value)
  66. {
  67. return empty($value)?[]:json_decode($value,true);
  68. }
  69. public function getComplaintTypeTextAttr($value, $data)
  70. {
  71. $complaint_type_data = DictData::where('type_value','complaint_type')->column('name','value');
  72. if(is_array($data['complaint_type'])){
  73. $complaint_types = $data['complaint_type'];
  74. }else{
  75. $complaint_types = json_decode($data['complaint_type'],true);
  76. }
  77. $complaint_type_text = [];
  78. foreach ($complaint_types as $k=>$v){
  79. $complaint_type_text[] = $complaint_type_data[$v];
  80. }
  81. return implode(',',$complaint_type_text);
  82. }
  83. public function setComplaintTypeAttr($value)
  84. {
  85. return empty($value)?[]:json_encode($value,JSON_UNESCAPED_UNICODE);
  86. }
  87. public function getApprovalTimeAttr($value,$data)
  88. {
  89. return !empty($data['approval_time']) ? date('Y-m-d H:i:s',$data['approval_time']) : '';
  90. }
  91. public function getFinishedTimeAttr($value,$data)
  92. {
  93. return !empty($data['finished_time']) ? date('Y-m-d H:i:s',$data['finished_time']) : '';
  94. }
  95. }