AppointmentApplication.php 3.3 KB

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