工单分类

This commit is contained in:
2025-03-19 10:18:40 +08:00
parent 754a4e6782
commit 8351799161
7 changed files with 110 additions and 0 deletions

View File

@ -0,0 +1,22 @@
<?php
namespace plugin\inspection\controller\api\auth;
use plugin\inspection\controller\api\Auth;
use plugin\ticket\model\TicketRepair as Model;
class TicketRepair extends Auth
{
public function list()
{
$query = Model::query()->scope(['notFinish'])->with(['ticket'])->where(['staff_id'=>$this->staff->id]);
$keyword = $this->request->get('keyword', null);
if ($keyword) {
$query->where('title', 'like', "%{$keyword}%");
}
$pageData = $query->paginate();
$this->success('获取工单列表', $pageData);
}
}

View File

@ -0,0 +1,22 @@
<?php
namespace plugin\inspection\controller\api\auth;
use plugin\inspection\controller\api\Auth;
use plugin\ticket\model\TicketVerify as Model;
class TicketVerify extends Auth
{
public function list()
{
$query = Model::query()->scope(['notFinish'])->with(['ticket'])->where(['staff_id'=>$this->staff->id]);
$keyword = $this->request->get('keyword', null);
if ($keyword) {
$query->where('title', 'like', "%{$keyword}%");
}
$pageData = $query->paginate();
$this->success('获取工单列表', $pageData);
}
}

View File

@ -0,0 +1,22 @@
<?php
namespace plugin\inspection\controller\api\auth;
use plugin\inspection\controller\api\Auth;
use plugin\ticket\model\TicketView as Model;
class TicketView extends Auth
{
public function list()
{
$query = Model::query()->scope(['notFinish'])->with(['ticket'])->where(['staff_id'=>$this->staff->id]);
$keyword = $this->request->get('keyword', null);
if ($keyword) {
$query->where('title', 'like', "%{$keyword}%");
}
$pageData = $query->paginate();
$this->success('获取工单列表', $pageData);
}
}

View File

@ -22,4 +22,9 @@ class TicketRepair extends Model
{
return str2arr($data['imgs'] ?: '', '|');
}
public function scopeNotFinish($query)
{
$query->where('status', '=', '0');
}
}

View File

@ -125,6 +125,10 @@ class TicketTicket extends Model
return $this->hasMany(TicketRepair::class, 'ticket_id')->order('create_at', 'desc');
}
public function views() {
return $this->hasMany(TicketView::class, 'ticket_id')->order('create_at', 'desc');
}
public function repair_accept()
{
return $this->hasMany(TicketRepairAccept::class, 'ticket_id')->order('create_at', 'desc');

View File

@ -22,4 +22,9 @@ class TicketVerify extends Model
{
return str2arr($data['imgs'] ?: '', '|');
}
public function scopeNotFinish($query)
{
$query->where('status', '=', '0');
}
}

View File

@ -0,0 +1,30 @@
<?php
namespace plugin\ticket\model;
use plugin\inspection\model\InspectionStaff;
use think\admin\Model;
class TicketView extends Model
{
protected $append = ['imgs_arr'];
public function ticket()
{
return $this->belongsTo(TicketTicket::class, 'ticket_id');
}
public function staff()
{
return $this->belongsTo(InspectionStaff::class, 'staff_id');
}
public function getImgsArrAttr($value, $data)
{
return str2arr($data['imgs'] ?: '', '|');
}
public function scopeNotFinish($query)
{
$query->where('status', '=', '0');
}
}