106 lines
2.6 KiB
PHP
106 lines
2.6 KiB
PHP
<?php
|
|
|
|
namespace app\admin\model;
|
|
|
|
use think\Model;
|
|
use traits\model\SoftDelete;
|
|
|
|
|
|
class Order extends Model
|
|
{
|
|
|
|
|
|
use SoftDelete;
|
|
|
|
|
|
// 表名
|
|
protected $name = 'order';
|
|
|
|
// 自动写入时间戳字段
|
|
protected $autoWriteTimestamp = 'datetime';
|
|
|
|
protected $dateFormat = 'Y-m-d H:i:s';
|
|
// 定义时间戳字段名
|
|
protected $createTime = 'create_time';
|
|
protected $updateTime = 'update_time';
|
|
protected $deleteTime = 'delete_time';
|
|
|
|
// 追加属性
|
|
protected $append = [
|
|
'status_text',
|
|
'collect_text',
|
|
'dispatch_type_text'
|
|
];
|
|
|
|
|
|
const TAB_DISPATCH = 'dispatch'; //派单
|
|
|
|
const TAB_PENDING = 'pending'; //跟进中
|
|
|
|
const TAB_AUDIT = 'audit'; //审核
|
|
|
|
const TAB_REVIEW = 'review'; //回访
|
|
|
|
|
|
|
|
public function getStatusList()
|
|
{
|
|
return ['10' => __('Status 10'), '20' => __('Status 20'), '30' => __('Status 30'), '40' => __('Status 40'), '41' => __('Status 41'), '50' => __('Status 50'), '60' => __('Status 60'), '-10' => __('Status -10')];
|
|
}
|
|
|
|
|
|
public function getDispatchTypeList()
|
|
{
|
|
return ['10' => __('Dispatch_type 10'), '11' => __('Dispatch_type 11'), '20' => __('Dispatch_type 20')];
|
|
}
|
|
|
|
|
|
public function getStatusTextAttr($value, $data)
|
|
{
|
|
$value = $value ?: ($data['status'] ?? '');
|
|
$list = $this->getStatusList();
|
|
return $list[$value] ?? '';
|
|
}
|
|
|
|
|
|
public function getCollectTextAttr($value, $data)
|
|
{
|
|
$value = $value ?: ($data['collect'] ?? '');
|
|
//$list = $this->getCollectList();
|
|
return $list[$value] ?? '';
|
|
}
|
|
|
|
|
|
public function getDispatchTypeTextAttr($value, $data)
|
|
{
|
|
$value = $value ?: ($data['dispatch_type'] ?? '');
|
|
$list = $this->getDispatchTypeList();
|
|
return $list[$value] ?? '';
|
|
}
|
|
|
|
|
|
protected function scopeTab($query, $tab=null)
|
|
{
|
|
$status = $this->tabStatus($tab);
|
|
if(!empty($status)){
|
|
$query->whereIn('fa_order.status', $status);
|
|
}
|
|
return $query;
|
|
}
|
|
|
|
public function tabStatus($tab){
|
|
$tabStatus = [
|
|
self::TAB_DISPATCH => [10], //派单管理状态
|
|
self::TAB_PENDING => [20,30,40,41], //订单跟进状态
|
|
self::TAB_AUDIT => [50], //待审核
|
|
self::TAB_REVIEW => [60],
|
|
];
|
|
return $tabStatus[$tab] ?? [];
|
|
}
|
|
|
|
|
|
public function admin(){
|
|
return $this->belongsTo(Admin::class,'audit_admin_id',);
|
|
}
|
|
}
|