Files
guangan/plugs/think-plugs-ticket/src/view/approval_instance/detail.html
2025-03-20 11:03:36 +08:00

207 lines
11 KiB
PHP

<div class="layui-tab layui-tab-brief">
<ul class="layui-tab-title">
<li class="layui-this">审核信息</li>
<li>工单信息</li>
</ul>
<div class="layui-tab-content">
<div class="layui-tab-item layui-show">
<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 $instance.steps as $index=>$step}
<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 $instance.current_step == $index}(当前步骤){/if}</h3>
<p>
{$step.title}
</p>
{if $step.status == 1}
<div class="layui-timeline-title">
<div class="layui-timeline-title">
<span class="layui-badge layui-bg-green">已通过</span>
{$step.approver.nickname}{$step.approve_time|date='Y-m-d H:i:s'}审核通过
</div>
</div>
{elseif $step.status == 2}
<div class="layui-timeline-title">
<div class="layui-timeline-title">
<span class="layui-badge layui-bg-red">已驳回</span>
{$step.approver.nickname}{$step.approve_time|date='Y-m-d H:i:s'}审核驳回
</div>
</div>
{else}
<div class="layui-timeline-title">
<span class="layui-badge layui-bg-blue">待审核</span>
</div>
{/if}
</div>
</div>
{/foreach}
</div>
</div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">工单审核</div>
<div class="layui-card-body">
{if $instance.current && $instance.current.status == 0}
{if $instance.current.approver_id == $user_id}
<form class="layui-form" data-table-id="formDemo" action="{:url('do_approve')}" data-auto="true" method="post">
<input type="hidden" name="id" value="{$vo.id}">
<input type="hidden" name="instance_id" value="{$instance->id}">
<input type="hidden" name="step_index" value="{$instance.current_step}">
<div class="layui-form-item">
<label class="layui-form-label">审核结果</label>
<div class="layui-input-block">
<input type="radio" name="status" value="1" title="通过" checked>
<input type="radio" name="status" value="2" title="不通过">
</div>
</div>
<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 !($next_step->isEmpty()) && $next_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>
{else}
<div class="think-red">
<i class="layui-icon layui-icon-tips"></i>
当前工单正等待审核。
</div>
{/if}
{/if}
</div>
</div>
</div>
<div class="layui-tab-item">
<div class="layui-card">
<div class="layui-card-header">工单内容</div>
<div class="layui-card-body">
<div class="layui-table">
<table class="layui-table">
<tbody class="layui-table-body">
<tr>
<td style="width: 120px">工单编号</td>
<td>{$ticket.id|default=""}</td>
</tr>
<tr>
<td>工单标题</td>
<td>{$ticket.title|default=""}</td>
</tr>
<tr>
<td>工单类型</td>
<td>{$ticket.type_name|default=""}</td>
</tr>
<tr>
<td>工单地址</td>
<td>{$ticket.ticket_region|default=""} {$ticket.ticket_address|default=""}</td>
</tr>
<tr>
<td>工单内容</td>
<td>{$ticket.content|default=""}</td>
</tr>
<tr>
<td>反馈人信息</td>
<td>{$ticket.contact_name|default="未填写名称"} {$ticket.contact_phone|default="未填写联系方式"}</td>
</tr>
<tr>
<td>工单图片</td>
<td>
<div>
{if count($ticket.imgs_arr) > 0}
{foreach $ticket.imgs_arr as $img}
<img data-tips-image src="{$img}" alt="image" style="height: 100px;">
<span>&nbsp;</span>
{/foreach}
{else}
无图片
{/if}
</div>
</td>
</tr>
{if $ticket.lat && $ticket.lng}
<tr>
<td>位置</td>
<td>
<div id="map" style="height: 320px;"></div>
</td>
</tr>
{/if}
</tbody>
</table>
</div>
{if $ticket.lat && $ticket.lng}
<script src="https://map.qq.com/api/gljs?v=1.exp&key=T6XBZ-L33CB-TMFUL-JQ4D6-MKBTK-KNBED"></script>
<script>
function initMap() {
//定义地图中心点坐标
var center = new TMap.LatLng("{$ticket.lat}", "{$ticket.lng}")
//定义map变量,调用 TMap.Map() 构造函数创建地图
var map = new TMap.Map(document.getElementById('map'), {
center: center,//设置地图中心点坐标
zoom: 17.2, //设置地图缩放级别
pitch: 30, //设置俯仰角
});
var marker = new TMap.MultiMarker({
map: map,
styles: {
// 点标记样式
marker: new TMap.MarkerStyle({
width: 20, // 样式宽
height: 30, // 样式高
anchor: { x: 10, y: 30 }, // 描点位置
}),
},
geometries: [
// 点标记数据数组
{
// 标记位置(纬度,经度,高度)
position: center,
id: 'marker',
},
],
});
}
var mapInit = setInterval(function () {
if (window.TMap) {
clearInterval(mapInit)
initMap()
}
}, 500)
</script>
{/if}
</div>
</div>
</div>
</div>
</div>