AppointmentApplication.php 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. <?php
  2. namespace app\common\model;
  3. use think\Model;
  4. class AppointmentApplication extends Model
  5. {
  6. protected $updateTime = false;
  7. const STATUS_NOT_SIGN = 0;
  8. const STATUS_SIGN = 1;
  9. const STATUS_NOT_COME = 2;
  10. const STATUS = [
  11. self::STATUS_NOT_SIGN => '未签到',
  12. self::STATUS_SIGN => '已签到',
  13. self::STATUS_NOT_COME => '爽约',
  14. ];
  15. const SEX_UNKNOW = 0;
  16. const SEX_MAN = 1;
  17. const SEX_WOMAN = 2;
  18. const SEXS = [
  19. self::SEX_UNKNOW => '未知',
  20. self::SEX_MAN => '男',
  21. self::SEX_WOMAN => '女'
  22. ];
  23. const EDUCATION_LEVELS = [
  24. 1 => "小学", 2 => "初中", 3 => "高中", 4 => "大学及以上"
  25. ];
  26. const MARRIAGE_STATUS = [
  27. 0 => "未婚", 1 => "己婚", 2 => "离异"
  28. ];
  29. const PROBLEM_TYPES = [
  30. 0 => "其他", 1 => "自我意识", 2 => "人际关系", 3 => "亲子关系", 4 => "情绪问题", 5 => "学习问题"
  31. ];
  32. //problem_type_text
  33. public function getProblemTypeTextAttr($value, $data)
  34. {
  35. return self::PROBLEM_TYPES[$data['problem_type']]??'';
  36. }
  37. //marriage_text
  38. public function getMarriageTextAttr($value, $data)
  39. {
  40. return self::MARRIAGE_STATUS[$data['marriage']]??'';
  41. }
  42. //education_level_text
  43. public function getEducationLevelTextAttr($value, $data)
  44. {
  45. return self::EDUCATION_LEVELS[$data['education_level']]??'';
  46. }
  47. //childs_text
  48. public function getChildsTextAttr($value, $data)
  49. {
  50. if ($data['childs_num'] == 0) {
  51. return 0;
  52. } elseif ($data['childs_num'] == 1) {
  53. return "一孩: {$data['childs_age1']}岁 性别{$this->childs_sex1_text}";
  54. } elseif ($data['childs_num'] == 2) {
  55. return "二孩: {$data['childs_age1']}岁 性别{$this->childs_sex1_text}、{$data['childs_age2']}岁 性别{$this->childs_sex2_text}";
  56. } elseif ($data['childs_num'] == 3) {
  57. return "三孩: {$data['childs_age1']}岁 性别{$this->childs_sex1_text}、{$data['childs_age2']}岁 性别{$this->childs_sex2_text}、{$data['childs_age3']}岁 性别{$this->childs_sex3_text}";
  58. }
  59. }
  60. //sex_text
  61. public function getSexTextAttr($value, $data)
  62. {
  63. return self::SEXS[$data['sex']]??'';
  64. }
  65. //childs_sex1_text
  66. public function getChildsSex1TextAttr($value, $data)
  67. {
  68. return self::SEXS[$data['childs_sex1']]??'';
  69. }
  70. //childs_sex2_text
  71. public function getChildsSex2TextAttr($value, $data)
  72. {
  73. return self::SEXS[$data['childs_sex2']]??'';
  74. }
  75. //childs_sex3_text
  76. public function getChildsSex3TextAttr($value, $data)
  77. {
  78. return self::SEXS[$data['childs_sex3']]??'';
  79. }
  80. //finish_time
  81. public function getFinishTimeAttr($value, $data)
  82. {
  83. return $value ? date('Y-m-d H:i:s', $value) : '';
  84. }
  85. //status_text
  86. public function getStatusTextAttr($value, $data)
  87. {
  88. return self::STATUS[$data['status']]??'';
  89. }
  90. //关联地址
  91. public function address()
  92. {
  93. return $this->belongsTo('Address');
  94. }
  95. //关联专家
  96. public function specialist()
  97. {
  98. return $this->belongsTo('Specialist', 'provider_id');
  99. }
  100. }