You've already forked guangan
后台核验工单创建
This commit is contained in:
@ -10,6 +10,7 @@ use plugin\ticket\model\TicketDept;
|
||||
use plugin\ticket\model\TicketReply;
|
||||
use plugin\ticket\model\TicketTicket;
|
||||
use plugin\ticket\model\TicketType;
|
||||
use plugin\ticket\model\TicketView;
|
||||
use think\admin\Controller;
|
||||
use think\admin\helper\QueryHelper;
|
||||
use think\admin\model\SystemUser;
|
||||
@ -354,6 +355,34 @@ class Ticket extends Controller
|
||||
}
|
||||
}
|
||||
|
||||
public function view_ticket_create()
|
||||
{
|
||||
$data = $this->_vali([
|
||||
'ticket_id.require'=>'请指定工单ID!',
|
||||
]);
|
||||
$ticket = TicketTicket::query()->with(['view_process'])->append(['imgs_arr', 'type_name'])->where('id', '=', $data['ticket_id'])->findOrEmpty();
|
||||
$staffs = InspectionStaff::query()->field('id,name,phone')->select();
|
||||
if ($ticket->isEmpty()) {
|
||||
$this->error('未找到工单信息');
|
||||
}
|
||||
if ($this->request->isPost()) {
|
||||
$adminInfo = $this->request->session('user');
|
||||
$instance_data = $this->_vali([
|
||||
'staff_id.require'=>'请指定维修人员!',
|
||||
]);
|
||||
$view = $ticket->views()->save([
|
||||
'staff_id'=>$instance_data['staff_id'],
|
||||
'status'=>0,
|
||||
'create_by'=>$adminInfo['id'],
|
||||
]);
|
||||
$this->success('创建成功!', $view);
|
||||
} else {
|
||||
$this->vo = $ticket;
|
||||
$this->staffs = $staffs;
|
||||
$this->fetch();
|
||||
}
|
||||
}
|
||||
|
||||
public function repair_process_create()
|
||||
{
|
||||
$data = $this->_vali([
|
||||
|
@ -32,6 +32,16 @@ class View extends Controller
|
||||
});
|
||||
}
|
||||
|
||||
public function detail()
|
||||
{
|
||||
$id = $this->request->param('id');
|
||||
$this->vo = TicketView::mk()->with(['ticket'])->where(['id' => $id])->findOrEmpty();
|
||||
if ($this->vo->isEmpty()) {
|
||||
$this->error('查看工单不存在!');
|
||||
}
|
||||
$this->fetch();
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加查看工单
|
||||
* @auth true
|
||||
|
@ -9,7 +9,11 @@ class TicketInspectionShare extends Model
|
||||
protected $append = ['type_name', 'imgs_arr'];
|
||||
public function getImgsArrAttr($value, $data)
|
||||
{
|
||||
return str2arr($data['imgs'] ?: '', '|');
|
||||
if (!empty($data['imgs'])) {
|
||||
return str2arr($data['imgs'] ?: '', '|');
|
||||
} else {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
public function type()
|
||||
|
@ -20,7 +20,11 @@ class TicketRepair extends Model
|
||||
|
||||
public function getImgsArrAttr($value, $data)
|
||||
{
|
||||
return str2arr($data['imgs'] ?: '', '|');
|
||||
if (!empty($data['imgs'])) {
|
||||
return str2arr($data['imgs'] ?: '', '|');
|
||||
} else {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
public function scopeNotFinish($query)
|
||||
|
@ -19,6 +19,10 @@ class TicketRepairAccept extends Model
|
||||
|
||||
public function getImgsArrAttr($value, $data)
|
||||
{
|
||||
return str2arr($data['imgs'] ?: '', '|');
|
||||
if (!empty($data['imgs'])) {
|
||||
return str2arr($data['imgs'] ?: '', '|');
|
||||
} else {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
}
|
@ -32,7 +32,11 @@ class TicketTicket extends Model
|
||||
|
||||
public function getImgsArrAttr($value, $data)
|
||||
{
|
||||
return str2arr($data['imgs'] ?: '', '|');
|
||||
if (!empty($data['imgs'])) {
|
||||
return str2arr($data['imgs'] ?: '', '|');
|
||||
} else {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
public function getLastReplyAttr($value, $data)
|
||||
|
@ -23,7 +23,11 @@ class TicketTicketInter extends TicketTicket
|
||||
|
||||
public function getImgsArrAttr($value, $data)
|
||||
{
|
||||
return str2arr($data['imgs'] ?: '', '|');
|
||||
if (!empty($data['imgs'])) {
|
||||
return str2arr($data['imgs'] ?: '', '|');
|
||||
} else {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
public function getLastReplyAttr($value, $data)
|
||||
|
@ -23,7 +23,11 @@ class TicketTicketOuter extends TicketTicket
|
||||
|
||||
public function getImgsArrAttr($value, $data)
|
||||
{
|
||||
return str2arr($data['imgs'] ?: '', '|');
|
||||
if (!empty($data['imgs'])) {
|
||||
return str2arr($data['imgs'] ?: '', '|');
|
||||
} else {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
public function getLastReplyAttr($value, $data)
|
||||
|
@ -9,7 +9,11 @@ class TicketUserShare extends Model
|
||||
protected $append = ['type_name', 'imgs_arr'];
|
||||
public function getImgsArrAttr($value, $data)
|
||||
{
|
||||
return str2arr($data['imgs'] ?: '', '|');
|
||||
if (!empty($data['imgs'])) {
|
||||
return str2arr($data['imgs'] ?: '', '|');
|
||||
} else {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
public function type()
|
||||
|
@ -20,7 +20,11 @@ class TicketVerify extends Model
|
||||
|
||||
public function getImgsArrAttr($value, $data)
|
||||
{
|
||||
return str2arr($data['imgs'] ?: '', '|');
|
||||
if (!empty($data['imgs'])) {
|
||||
return str2arr($data['imgs'] ?: '', '|');
|
||||
} else {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
public function scopeNotFinish($query)
|
||||
|
@ -20,7 +20,11 @@ class TicketView extends Model
|
||||
|
||||
public function getImgsArrAttr($value, $data)
|
||||
{
|
||||
return str2arr($data['imgs'] ?: '', '|');
|
||||
if (!empty($data['imgs'])) {
|
||||
return str2arr($data['imgs'] ?: '', '|');
|
||||
} else {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
public function scopeNotFinish($query)
|
||||
|
@ -17,34 +17,7 @@
|
||||
</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>
|
||||
{include file="common/step" /}
|
||||
{/foreach}
|
||||
</div>
|
||||
</div>
|
||||
|
34
plugs/think-plugs-ticket/src/view/common/step.html
Normal file
34
plugs/think-plugs-ticket/src/view/common/step.html
Normal file
@ -0,0 +1,34 @@
|
||||
<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 $step.status == 1}
|
||||
<span class="layui-badge layui-bg-green">已通过</span>
|
||||
{elseif $step.status == 2}
|
||||
<span class="layui-badge layui-bg-red">已驳回</span>
|
||||
{else}
|
||||
<span class="layui-badge layui-bg-blue">待审核</span>
|
||||
{/if}
|
||||
{if isset($current_step)}
|
||||
{if $instance.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>
|
||||
审核说明:{$step.content}
|
||||
</div>
|
||||
{elseif $step.status == 2}
|
||||
{$step.approver.nickname}于{$step.approve_time|date='Y-m-d H:i:s'}审核驳回
|
||||
<div>
|
||||
审核说明:{$step.content}
|
||||
</div>
|
||||
{else}
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
@ -10,15 +10,7 @@
|
||||
</div>
|
||||
</div>
|
||||
{foreach $process.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 $step_index == $index}(当前步骤){/if}</h3>
|
||||
<p>
|
||||
{$step.title}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
{include file="common/step" /}
|
||||
{/foreach}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -67,14 +67,17 @@
|
||||
}
|
||||
}},
|
||||
{field: 'view', title:'核验情况', width: 100, minWidth:100, templet:function(item){
|
||||
if (item.view_pid) {
|
||||
if (item.views && item.views.length > 0) {
|
||||
// 已有核验工单
|
||||
return `<a data-modal="{:url('view/detail')}?id=${item.views[item.views.length - 1].id}" data-height="80%" data-width="80%" class="layui-btn layui-btn-xs layui-btn-normal" title="查看核验工单">查看工单</a>`;
|
||||
} else if (item.view_pid) {
|
||||
// 已有核验流程
|
||||
if (item.view_process.status === 0) {
|
||||
return `正在审核`
|
||||
} else if (item.view_process.status === 1) {
|
||||
return `<a data-modal="{:url('view_ticket_create')}?ticket_id=${item.id}" data-height="80%" data-width="80%" class="layui-btn layui-btn-xs layui-btn-danger" title="创建核验工单">创建核验工单</a>`;
|
||||
return `<a data-modal="{:url('view_ticket_create')}?ticket_id=${item.id}" data-height="80%" data-width="40%" class="layui-btn layui-btn-xs layui-btn-active" title="创建核验工单">创建核验工单</a>`;
|
||||
} else if (item.view_process.status === 2) {
|
||||
return `<a data-modal="{:url('view_process_create')}?ticket_id=${item.id}" data-height="80%" data-width="80%" class="layui-btn layui-btn-xs layui-btn-normal" title="提请核验">已驳回</a>`;
|
||||
return `<a data-modal="{:url('view_process_create')}?ticket_id=${item.id}" data-height="80%" data-width="80%" class="layui-btn layui-btn-xs layui-btn-danger" title="提请核验">已驳回</a>`;
|
||||
} else if (item.view_process.status === -1) {
|
||||
return `已取消`
|
||||
}
|
||||
@ -93,14 +96,17 @@
|
||||
return `请先完成核验`
|
||||
}
|
||||
}
|
||||
if (item.repair_pid) {
|
||||
if (item.repairs && item.repairs.length > 0) {
|
||||
// 已有维修工单
|
||||
return `<a data-modal="{:url('repair/detail')}?id=${item.repairs[item.repairs.length - 1].id}" data-height="80%" data-width="80%" class="layui-btn layui-btn-xs layui-btn-normal" title="查看维修工单">查看工单</a>`;
|
||||
} else if (item.repair_pid) {
|
||||
// 已有维修流程
|
||||
if (item.repair_process.status === 0) {
|
||||
return `正在审核`
|
||||
} else if (item.repair_process.status === 1) {
|
||||
return `已通过`
|
||||
return `<a data-modal="{:url('repair_ticket_create')}?ticket_id=${item.id}" data-height="80%" data-width="40%" class="layui-btn layui-btn-xs layui-btn-active" title="创建维修工单">创建维修工单</a>`;
|
||||
} else if (item.repair_process.status === 2) {
|
||||
return `<a data-modal="{:url('repair_process_create')}?ticket_id=${item.id}" data-height="80%" data-width="80%" class="layui-btn layui-btn-xs layui-btn-danger" title="提请维修">提请维修</a>`;
|
||||
return `<a data-modal="{:url('repair_process_create')}?ticket_id=${item.id}" data-height="80%" data-width="80%" class="layui-btn layui-btn-xs layui-btn-danger" title="提请维修">已驳回</a>`;
|
||||
} else if (item.repair_process.status === -1) {
|
||||
return `已取消`
|
||||
}
|
||||
@ -128,9 +134,9 @@
|
||||
if (item.verify_process.status === 0) {
|
||||
return `正在审核`
|
||||
} else if (item.verify_process.status === 1) {
|
||||
return `已通过`
|
||||
return `<a data-modal="{:url('verify_ticket_create')}?ticket_id=${item.id}" data-height="80%" data-width="40%" class="layui-btn layui-btn-xs layui-btn-active" title="创建验收工单">创建验收工单</a>`;
|
||||
} else if (item.verify_process.status === 2) {
|
||||
return `<a data-modal="{:url('verify_process_create')}?ticket_id=${item.id}" data-height="80%" data-width="80%" class="layui-btn layui-btn-xs layui-btn-danger" title="提请验收">提请验收</a>`;
|
||||
return `<a data-modal="{:url('verify_process_create')}?ticket_id=${item.id}" data-height="80%" data-width="80%" class="layui-btn layui-btn-xs layui-btn-danger" title="提请验收">已驳回</a>`;
|
||||
} else if (item.verify_process.status === -1) {
|
||||
return `已取消`
|
||||
}
|
||||
|
@ -10,15 +10,7 @@
|
||||
</div>
|
||||
</div>
|
||||
{foreach $process.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 $step_index == $index}(当前步骤){/if}</h3>
|
||||
<p>
|
||||
{$step.title}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
{include file="common/step" /}
|
||||
{/foreach}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -10,15 +10,7 @@
|
||||
</div>
|
||||
</div>
|
||||
{foreach $process.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 $step_index == $index}(当前步骤){/if}</h3>
|
||||
<p>
|
||||
{$step.title}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
{include file="common/step" /}
|
||||
{/foreach}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1,59 +0,0 @@
|
||||
<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}
|
||||
<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 $step_index == $index}(当前步骤){/if}</h3>
|
||||
<p>
|
||||
{$step.title}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
{/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>
|
@ -0,0 +1,19 @@
|
||||
<form class="layui-form layui-card" action="{:sysuri()}" data-auto="true" method="post" autocomplete="off" style="min-height: 300px">
|
||||
<input class="layui-input layui-hide" type='hidden' value="{:input('get.ticket_id')}" name='ticket_id'>
|
||||
<input class="layui-input layui-hide" type='hidden' value='{:systoken("view_ticket_create")}' name='_token_'>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">选择维修人员</label>
|
||||
<div class="layui-input-block">
|
||||
<select name="staff_id">
|
||||
<option value="">请选择维修负责人员</option>
|
||||
{foreach $staffs as $item}
|
||||
<option value="{$item.id}">{$item.name} ({$item.phone})</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item text-center">
|
||||
<button class="layui-btn layui-btn-normal" type='submit'>创建核验工单</button>
|
||||
<button class="layui-btn layui-btn-danger" type='button' data-confirm="确定要取消编辑吗?" data-close>取消</button>
|
||||
</div>
|
||||
</form>
|
188
plugs/think-plugs-ticket/src/view/view/detail.html
Normal file
188
plugs/think-plugs-ticket/src/view/view/detail.html
Normal file
@ -0,0 +1,188 @@
|
||||
<div class="layui-tab layui-tab-brief">
|
||||
<ul class="layui-tab-title">
|
||||
<li class="layui-this">原始工单信息</li>
|
||||
<li>核验信息</li>
|
||||
{if $vo.ticket.view_process}
|
||||
<li>核验审核信息</li>
|
||||
{/if}
|
||||
</ul>
|
||||
<div class="layui-tab-content">
|
||||
<div class="layui-tab-item layui-show">
|
||||
<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>{$vo.ticket.id|default=""}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>工单标题</td>
|
||||
<td>{$vo.ticket.title|default=""}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>工单类型</td>
|
||||
<td>{$vo.ticket.type_name|default=""}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>工单地址</td>
|
||||
<td>{$vo.ticket.ticket_region|default=""} {$vo.ticket.ticket_address|default=""}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>工单内容</td>
|
||||
<td>{$vo.ticket.content|default=""}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>反馈人信息</td>
|
||||
<td>{$vo.ticket.contact_name|default="未填写名称"} {$vo.ticket.contact_phone|default="未填写联系方式"}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>工单图片</td>
|
||||
<td>
|
||||
<div>
|
||||
{if count($vo.ticket.imgs_arr) > 0}
|
||||
{foreach $vo.ticket.imgs_arr as $img}
|
||||
<img data-tips-image src="{$img}" alt="image" style="height: 100px;">
|
||||
<span> </span>
|
||||
{/foreach}
|
||||
{else}
|
||||
无图片
|
||||
{/if}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{if $vo.ticket.lat && $vo.ticket.lng}
|
||||
<tr>
|
||||
<td>位置</td>
|
||||
<td>
|
||||
<div id="map" style="height: 320px;"></div>
|
||||
</td>
|
||||
</tr>
|
||||
{/if}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{if $vo.ticket.lat && $vo.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("{$vo.ticket.lat}", "{$vo.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 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>
|
||||
<tr>
|
||||
<td style="width: 120px">核验人</td>
|
||||
<td>{$vo.staff.name|default=""} ({$vo.staff.phone|default=""})</td>
|
||||
</tr>
|
||||
{if $vo.status == 1}
|
||||
<tr>
|
||||
<td>核验时间</td>
|
||||
<td>{$vo.ticket.finish_at|default=""}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>核验结果</td>
|
||||
<td>{$vo.ticket.content|default=""}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>核验图片</td>
|
||||
<td>
|
||||
<div>
|
||||
{if count($vo.ticket.imgs_arr) > 0}
|
||||
{foreach $vo.ticket.imgs_arr as $img}
|
||||
<img data-tips-image src="{$img}" alt="image" style="height: 100px;">
|
||||
<span> </span>
|
||||
{/foreach}
|
||||
{else}
|
||||
无图片
|
||||
{/if}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>预期工作量(天)</td>
|
||||
<td>{$vo.workdays|default=""}</td>
|
||||
</tr>
|
||||
{else}
|
||||
<tr>
|
||||
<td>核验状态</td>
|
||||
<td>待核验</td>
|
||||
</tr>
|
||||
{/if}
|
||||
<tr>
|
||||
<td>创建时间</td>
|
||||
<td>{$vo.create_at|default=""}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{if $vo.ticket.view_process}
|
||||
<div class="layui-tab-item">
|
||||
<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 $vo.ticket.view_process.steps as $index=>$step}
|
||||
{include file="common/step" /}
|
||||
{/foreach}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
Reference in New Issue
Block a user