AppointmentApplication.php 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  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_CANCEL = 3;
  14. const STATUS = [
  15. self::STATUS_NOT_SIGN => '未签到', //除了这个,其他都是完成的状态
  16. self::STATUS_SIGN => '已签到',
  17. self::STATUS_NOT_COME => '爽约',
  18. self::STATUS_CANCEL => '已取消',
  19. ];
  20. const SEX_UNKNOW = 0;
  21. const SEX_MAN = 1;
  22. const SEX_WOMAN = 2;
  23. const SEXS = [
  24. self::SEX_UNKNOW => '未知',
  25. self::SEX_MAN => '男',
  26. self::SEX_WOMAN => '女'
  27. ];
  28. const EDUCATION_LEVELS = [
  29. 1 => "小学", 2 => "初中", 3 => "高中", 4 => "大学及以上"
  30. ];
  31. const MARRIAGE_STATUS = [
  32. 0 => "未婚", 1 => "己婚", 2 => "离异"
  33. ];
  34. const PROBLEM_TYPES = [
  35. 0 => "其他", 1 => "自我意识", 2 => "人际关系", 3 => "亲子关系", 4 => "情绪问题", 5 => "学习问题"
  36. ];
  37. //problem_type_text
  38. public function getProblemTypeTextAttr($value, $data)
  39. {
  40. return self::PROBLEM_TYPES[$data['problem_type']]??'';
  41. }
  42. //marriage_text
  43. public function getMarriageTextAttr($value, $data)
  44. {
  45. return self::MARRIAGE_STATUS[$data['marriage']]??'';
  46. }
  47. //education_level_text
  48. public function getEducationLevelTextAttr($value, $data)
  49. {
  50. return self::EDUCATION_LEVELS[$data['education_level']]??'';
  51. }
  52. //appointment_date
  53. public function getAppointmentDateAttr($value, $data)
  54. {
  55. if (empty($this->appointmentTicket)) {
  56. return '';
  57. } else {
  58. return $this->appointmentTicket->appointment_daytime;
  59. }
  60. }
  61. //childs_text
  62. public function getChildsTextAttr($value, $data)
  63. {
  64. return $data['childs_num_str'];
  65. }
  66. //sex_text
  67. public function getSexTextAttr($value, $data)
  68. {
  69. return self::SEXS[$data['sex']]??'';
  70. }
  71. //childs_sex1_text
  72. public function getChildsSex1TextAttr($value, $data)
  73. {
  74. return self::SEXS[$data['childs_sex1']]??'';
  75. }
  76. //childs_sex2_text
  77. public function getChildsSex2TextAttr($value, $data)
  78. {
  79. return self::SEXS[$data['childs_sex2']]??'';
  80. }
  81. //childs_sex3_text
  82. public function getChildsSex3TextAttr($value, $data)
  83. {
  84. return self::SEXS[$data['childs_sex3']]??'';
  85. }
  86. //finish_time
  87. public function getFinishTimeAttr($value, $data)
  88. {
  89. return $value ? date('Y-m-d H:i:s', $value) : '';
  90. }
  91. //status_text
  92. public function getStatusTextAttr($value, $data)
  93. {
  94. return self::STATUS[$data['status']]??'';
  95. }
  96. //关联地址
  97. public function address()
  98. {
  99. return $this->belongsTo('Address');
  100. }
  101. //关联专家
  102. public function specialist()
  103. {
  104. return $this->belongsTo('Specialist', 'provider_id');
  105. }
  106. //关联号源
  107. public function appointmentTicket()
  108. {
  109. return $this->belongsTo('AppointmentTicket');
  110. }
  111. public function ticket()
  112. {
  113. return $this->hasOne(AppointmentTicket::class,'id','appointment_ticket_id');
  114. }
  115. }