__('Fixed'), 'quote' => __('Quote'), 'range' => __('Range'), 'custom' => __('用户自主定价')]; } public function getPriceTypeTextAttr($value, $data) { $value = $value ?: ($data['price_type'] ?? ''); $list = $this->getPriceTypeList(); return $list[$value] ?? ''; } public function getStatusList() { return [ 0 => '待支付', 1 => '待接单', 2 => '报价中', 3 => '已接单', 4 => '待上门', 5 => '已到达', 6 => '服务中', 7 => '待验收', 8 => '已完成', 9 => '已取消', 10 => '售后中', ]; } public function getPayStatusList() { return [0 => '未支付', 1 => '已支付', 2 => '已退款']; } public function getSettleStatusList() { return [0 => '未结算', 1 => '已结算']; } public function getIsReviewList() { return [0 => '未评价', 1 => '已评价']; } public function getHasElevatorList() { return [0 => '无电梯', 1 => '有电梯']; } public function getUrgentList() { return [0 => '普通', 1 => '加急']; } public function getStatusTextAttr($value, $data) { $list = $this->getStatusList(); return $list[(int)($data['status'] ?? 0)] ?? ''; } public function getPayStatusTextAttr($value, $data) { $list = $this->getPayStatusList(); return $list[(int)($data['pay_status'] ?? 0)] ?? ''; } public function getSettleStatusTextAttr($value, $data) { $list = $this->getSettleStatusList(); return $list[(int)($data['settle_status'] ?? 0)] ?? ''; } public function getIsReviewTextAttr($value, $data) { $list = $this->getIsReviewList(); return $list[(int)($data['is_review'] ?? 0)] ?? ''; } public function getHasElevatorTextAttr($value, $data) { $list = $this->getHasElevatorList(); return $list[(int)($data['has_elevator'] ?? 0)] ?? ''; } public function getUrgentTextAttr($value, $data) { $list = $this->getUrgentList(); return $list[(int)($data['urgent'] ?? 0)] ?? ''; } public function getAppointTimeTextAttr($value, $data) { $value = $value ?: ($data['appoint_time'] ?? ''); return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value; } public function getPayTimeTextAttr($value, $data) { $value = $value ?: ($data['pay_time'] ?? ''); return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value; } public function getAcceptTimeTextAttr($value, $data) { $value = $value ?: ($data['accept_time'] ?? ''); return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value; } public function getContactTimeTextAttr($value, $data) { $value = $value ?: ($data['contact_time'] ?? ''); return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value; } public function getArriveTimeTextAttr($value, $data) { $value = $value ?: ($data['arrive_time'] ?? ''); return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value; } public function getStartTimeTextAttr($value, $data) { $value = $value ?: ($data['start_time'] ?? ''); return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value; } public function getFinishTimeTextAttr($value, $data) { $value = $value ?: ($data['finish_time'] ?? ''); return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value; } public function getVerifyTimeTextAttr($value, $data) { $value = $value ?: ($data['verify_time'] ?? ''); return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value; } protected function setAppointTimeAttr($value) { return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value); } protected function setPayTimeAttr($value) { return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value); } protected function setAcceptTimeAttr($value) { return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value); } protected function setContactTimeAttr($value) { return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value); } protected function setArriveTimeAttr($value) { return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value); } protected function setStartTimeAttr($value) { return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value); } protected function setFinishTimeAttr($value) { return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value); } protected function setVerifyTimeAttr($value) { return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value); } }