AppointmentApplication.php 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  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. return $this->appointmentTicket->appointment_daytime;
  56. }
  57. //childs_text
  58. public function getChildsTextAttr($value, $data)
  59. {
  60. return $data['childs_num_str'];
  61. }
  62. //sex_text
  63. public function getSexTextAttr($value, $data)
  64. {
  65. return self::SEXS[$data['sex']]??'';
  66. }
  67. //childs_sex1_text
  68. public function getChildsSex1TextAttr($value, $data)
  69. {
  70. return self::SEXS[$data['childs_sex1']]??'';
  71. }
  72. //childs_sex2_text
  73. public function getChildsSex2TextAttr($value, $data)
  74. {
  75. return self::SEXS[$data['childs_sex2']]??'';
  76. }
  77. //childs_sex3_text
  78. public function getChildsSex3TextAttr($value, $data)
  79. {
  80. return self::SEXS[$data['childs_sex3']]??'';
  81. }
  82. //finish_time
  83. public function getFinishTimeAttr($value, $data)
  84. {
  85. return $value ? date('Y-m-d H:i:s', $value) : '';
  86. }
  87. //status_text
  88. public function getStatusTextAttr($value, $data)
  89. {
  90. return self::STATUS[$data['status']]??'';
  91. }
  92. //关联地址
  93. public function address()
  94. {
  95. return $this->belongsTo('Address');
  96. }
  97. //关联专家
  98. public function specialist()
  99. {
  100. return $this->belongsTo('Specialist', 'provider_id');
  101. }
  102. //关联号源
  103. public function appointmentTicket()
  104. {
  105. return $this->belongsTo('AppointmentTicket');
  106. }
  107. public function ticket()
  108. {
  109. return $this->hasOne(AppointmentTicket::class,'id','appointment_ticket_id');
  110. }
  111. }