用户随手拍后台差详情

This commit is contained in:
2024-11-29 15:25:13 +08:00
parent 2e8a785c51
commit 92af02cb3e
6 changed files with 105 additions and 4 deletions

View File

@ -21,8 +21,9 @@ class Service extends Plugin
[
'name' => '工单管理',
'subs' => [
['name' => '工单列表', 'icon' => 'layui-icon layui-icon-template-1', 'node' => "{$code}/ticket/index"],
['name' => '工单分类', 'icon' => 'layui-icon layui-icon-template-1', 'node' => "{$code}/type/index"],
['name' => '随手拍列表', 'icon' => 'layui-icon layui-icon-template-1', 'node' => "{$code}/user_share/index"],
['name' => '工单列表', 'icon' => 'layui-icon layui-icon-template-1', 'node' => "{$code}/ticket/index"],
]
]
];

View File

@ -2,6 +2,7 @@
namespace plugin\ticket\controller;
use plugin\ticket\model\TicketType;
use plugin\ticket\model\TicketUserShare;
use think\admin\Controller;
use think\admin\helper\QueryHelper;
@ -14,11 +15,12 @@ class UserShare extends Controller
public function index()
{
$this->title = '用户随手拍';
$this->type_list = TicketType::getTypeList();
TicketUserShare::mQuery()->layTable(function () {
}, function (QueryHelper $query) {
$query->like(['title|content|contact_name|ticket_address|contact_phone#keyword'])
->dateBetween(['create_at', 'last_activity_at'])
$query->like(['title|content|ticket_address|contact_phone#keyword'])
->dateBetween(['create_at'])
->equal(['status', 'type_id']);
$query->with(['user'])->append(['imgs_arr', 'status_text', 'type_name', 'last_reply']);
});

View File

@ -40,6 +40,7 @@ class UserShare extends Auth
'ticket_address.require' => '地址不能为空',
'contact_name.default' => $this->account->user() ? $this->account->user()['nickname'] : '用户',
]);
$data['imgs'] = arr2str($data['imgs'], '|');
$data['user_id'] = $this->usid;
$id = TicketUserShare::query()->insert($data, true);
$this->success('添加随手拍成功', $id);

View File

@ -6,5 +6,8 @@ use think\admin\Model;
class TicketUserShare extends Model
{
public function getImgsArrAttr($value, $data)
{
return str2arr($data['imgs'] ?: '', '|');
}
}

View File

@ -0,0 +1,61 @@
{extend name="table"}
{block name="button"}
{/block}
{block name="content"}
<div class="layui-tab">
<div class="layui-row">
<div class="layui-col">
<div class="article_list think-bg-white">
{include file='ticket/index_search'}
<table class="layui-hide" data-url="{$request->url()}" data-target-search="form.form-search" id="userShareTable" lay-filter="userShareTable"></table>
</div>
</div>
</div>
</div>
<script type="text/html" id="toolbar">
<!--{if auth("detail")}-->
<a data-modal="{:url('detail')}?id={{ d.id }}" data-height="90%" data-width="60%" class="layui-btn layui-btn-xs layui-btn-normal" title="详情">详情</a>
<!--{/if}-->
<!--{if auth("move")}-->
<a data-modal="{:url('move')}?ticket_id={{ d.id }}" data-height="80%" data-width="80%" class="layui-btn layui-btn-xs" title="流转">流转</a>
<!--{/if}-->
</script>
{/block}
{block name='style'}
<style>
</style>
{/block}
{block name='script'}
<script>
$(function () {
$('#userShareTable').layTable({
height: 'full-250',
toolbar: true,
sort: {field: 'create_at', type: 'desc'},
title: '用户随手拍列表',
cols: [[
{field: 'create_at', title: '创建时间', width: 160, sort: true},
// {field:'title', title:'标题', width:160},
{field:'type_name', title:'工单类型', width:120},
{field:'content', title:'随手拍内容', minWidth:100},
{field:'ticket_address', title:'随手拍地址', width:100},
{field: 'imgs', title: '随手拍图片', width: 100, templet:function(item){
if (item.imgs) {
return item.imgs.split("|").map((img) => {
return laytpl('<a target="_blank" data-tips-hover data-tips-image="{{d}}"><i class="layui-icon layui-icon-picture"></i></a>').render(img)
}).concat(' ')
} else {
return '';
}
}},
{fixed: 'right', title:'操作', toolbar: '#toolbar', width:200}
]],
page: true
})
})
</script>
{/block}

View File

@ -0,0 +1,33 @@
<fieldset>
<legend>条件搜索</legend>
<form class="layui-form layui-form-pane form-search" action="{:request()->url()}" onsubmit="return false" method="get" autocomplete="off">
<div class="layui-form-item layui-inline">
<label class="layui-form-label">关键字</label>
<div class="layui-input-inline">
<input name="keyword" value="{:input('get.keyword')}" placeholder="标题、内容、地址、电话" class="layui-input">
</div>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">工单类型</label>
<div class="layui-input-inline">
<select class="layui-select" name="type_id">
<option value=''>-- 全部 --</option>
{foreach $type_list as $type}
<option value='{$type.id}'>{$type.name}</option>
{/foreach}
</select>
</div>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">创建时间</label>
<div class="layui-input-inline">
<input data-date-range name="create_at" value="{:input('get.create_at')}" placeholder="请选择创建时间" class="layui-input">
</div>
</div>
<div class="layui-form-item layui-inline">
<button class="layui-btn layui-btn-primary" lay-submit lay-filter="searchData"><i class="layui-icon">&#xe615;</i> 搜 索</button>
</div>
</form>
</fieldset>