You've already forked guangan
维修端工单处理
This commit is contained in:
@ -10,7 +10,12 @@ class TicketView extends Auth
|
||||
|
||||
public function list()
|
||||
{
|
||||
$query = Model::query()->scope(['notFinish'])->with(['ticket'])->where(['staff_id'=>$this->staff->id]);
|
||||
$query = Model::query()->with(['ticket'])->where(['staff_id'=>$this->staff->id]);
|
||||
$query->order('create_at', 'desc');
|
||||
$status = $this->request->get('status', null);
|
||||
if ($status) {
|
||||
$query->where('status', '=', $status);
|
||||
}
|
||||
$keyword = $this->request->get('keyword', null);
|
||||
if ($keyword) {
|
||||
$query->where('title', 'like', "%{$keyword}%");
|
||||
@ -19,4 +24,42 @@ class TicketView extends Auth
|
||||
$this->success('获取工单列表', $pageData);
|
||||
}
|
||||
|
||||
public function detail()
|
||||
{
|
||||
$id = $this->request->get('id', null);
|
||||
$data = Model::query()->with(['ticket'])->where('staff_id', '=', $this->staff->id)->where(['id'=>$id])->find();
|
||||
if (!$data) {
|
||||
$this->error('工单不存在');
|
||||
}
|
||||
$this->success('获取工单详情', $data);
|
||||
}
|
||||
|
||||
public function submit()
|
||||
{
|
||||
$data = $this->_vali([
|
||||
'ticket_id.require' => '工单ID不能为空',
|
||||
'content.require' => '工单内容不能为空',
|
||||
'is_error.in:0,1' => '请选择是否有异常',
|
||||
'imgs.default' => '',
|
||||
'work_days.default' => '',
|
||||
]);
|
||||
$ticket = Model::query()->with(['ticket'])->where('staff_id', '=', $this->staff->id)->where(['id'=>$data['ticket_id']])->find();
|
||||
if (!$ticket) {
|
||||
$this->error('工单不存在');
|
||||
}
|
||||
unset($data['ticket_id']);
|
||||
if ($ticket->status === 1) {
|
||||
$this->error('工单已提交');
|
||||
}
|
||||
if ($ticket->status === 2) {
|
||||
$this->error('工单已关闭');
|
||||
}
|
||||
try {
|
||||
$data['status'] = 1;
|
||||
$ticket->save($data);
|
||||
} catch (\Exception $exception) {
|
||||
$this->error('工单提交失败');
|
||||
}
|
||||
$this->success('工单提交成功');
|
||||
}
|
||||
}
|
@ -10,13 +10,10 @@
|
||||
<span class="layui-badge layui-bg-blue">待审核</span>
|
||||
{/if}
|
||||
{if isset($current_step)}
|
||||
{if $instance.current_step == $index}(当前步骤){/if}
|
||||
{if $current_step == $index}(当前步骤){/if}
|
||||
{/if}
|
||||
</h3>
|
||||
<div class="layui-timeline-content">
|
||||
<p>
|
||||
{$step.title}
|
||||
</p>
|
||||
{if $step.status == 1}
|
||||
{$step.approver.nickname}于{$step.approve_time|date='Y-m-d H:i:s'}审核通过
|
||||
<div>
|
||||
|
15
plugs/think-plugs-ticket/src/view/common/step_p.html
Normal file
15
plugs/think-plugs-ticket/src/view/common/step_p.html
Normal file
@ -0,0 +1,15 @@
|
||||
<div class="layui-timeline-item">
|
||||
<i class="layui-icon layui-timeline-axis"></i>
|
||||
<div class="layui-timeline-content layui-text">
|
||||
<h3 class="layui-timeline-title">第{$index+1}步
|
||||
{if isset($current_step)}
|
||||
{if $current_step == $index}(当前步骤){/if}
|
||||
{/if}
|
||||
</h3>
|
||||
<div class="layui-timeline-content">
|
||||
<p>
|
||||
{$step.title}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
@ -10,7 +10,7 @@
|
||||
</div>
|
||||
</div>
|
||||
{foreach $process.steps as $index=>$step}
|
||||
{include file="common/step" /}
|
||||
{include file="common/step_p" /}
|
||||
{/foreach}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -10,7 +10,7 @@
|
||||
</div>
|
||||
</div>
|
||||
{foreach $process.steps as $index=>$step}
|
||||
{include file="common/step" /}
|
||||
{include file="common/step_p" /}
|
||||
{/foreach}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -0,0 +1,51 @@
|
||||
<div class="layui-collapse">
|
||||
<div class="layui-colla-item">
|
||||
<div class="layui-colla-title">审核流程</div>
|
||||
<div class="layui-colla-content">
|
||||
<div class="layui-timeline">
|
||||
<div class="layui-timeline-item">
|
||||
<i class="layui-icon layui-timeline-axis"></i>
|
||||
<div class="layui-timeline-content layui-text">
|
||||
<h3 class="layui-timeline-title">提交审核</h3>
|
||||
</div>
|
||||
</div>
|
||||
{foreach $process.steps as $index=>$step}
|
||||
{include file="common/step_p" /}
|
||||
{/foreach}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">创建审核单</div>
|
||||
<div class="layui-card-body">
|
||||
<form class="layui-form" data-table-id="formDemo" action="{:url()}" data-auto="true" method="post">
|
||||
<input type="hidden" name="ticket_id" value="{$vo.id}">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">审核说明</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea name="content" placeholder="请输入审核说明" class="layui-textarea"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
{if $current_step.approver_type == 3}
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">请指定下一步审核人</label>
|
||||
<div class="layui-input-block">
|
||||
<select name="approver_id" lay-verify="required" lay-search>
|
||||
<option value="">请选择审核人</option>
|
||||
{foreach $users as $user}
|
||||
<option value="{$user.id}">{$user.username}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<button class="layui-btn layui-btn-normal" type='submit'>立即提交</button>
|
||||
<button class="layui-btn layui-btn-primary" type="reset">重置</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
Reference in New Issue
Block a user