作者 董瑞恩
1 个管道 的构建 通过 耗费 0 秒

interface

<?php
/**
* Created by PhpStorm.
* User: ruidiudiu
* Date: 2018/11/23
* Time: 11:57
*/
namespace app\portal\controller;
use app\portal\model\EquipmentModel;
use cmf\controller\AdminBaseController;
use think\Db;
/**
* Class AdminFaultAuditController
* @package app\portal\controller
* @adminMenuRoot(
* 'name' =>'故障审核',
* 'action' =>'index',
* 'parent' =>'',
* 'display'=> true,
* 'order' => 1,
* 'icon' =>'th',
* 'remark' =>'故障审核'
* )
*/
class AdminFaultAuditController extends AdminBaseController{
public function index(){
$param=$this->request->param();
$where=array();
if (!empty($param['fault_type'])){
$where['fault_type']=$param['fault_type'];
}
$data=Db::name('fault')
->alias('a')
->field('a.*,b.serial_number,b.hospital')
->join('equipment b','a.eq_name=b.name')
->where($where)
->order('a.state','ase')
->order('a.create_time','desc')
->paginate(10);
$this->assign('data',$data);
$this->assign('fault_type', isset($param['fault_type']) ? $param['fault_type'] : '');
return $this->fetch();
}
//保修
public function warranty(){
$id=$this->request->param('id');
$fault=Db::name('fault')->where('id',$id)->find();
try{
Db::startTrans();
Db::name('equipment')->where('name',$fault['eq_name'])->update(['state'=>2]);
Db::name('fault')->where('id',$id)->update(['state'=>2]);
}catch (\Exception $exception){
Db::rollback();
$this->error('错误:'.$exception->getMessage());
}
Db::commit();
$this->success('处理完成');
}
//恢复设备
public function reply(){
$id=$this->request->param('id');
$fault=Db::name('fault')->where('id',$id)->find();
try{
Db::startTrans();
Db::name('equipment')->where('name',$fault['eq_name'])->update(['state'=>1]);
Db::name('fault')->where('id',$id)->update(['state'=>3]);
}catch (\Exception $exception){
Db::rollback();
$this->error('错误:'.$exception->getMessage());
}
Db::commit();
$this->success('处理完成');
}
//结束计费
public function bill_error(){
$id=$this->request->param('id');
$fault=Db::name('fault')->where('id',$id)->find();
$order=Db::name('order')->where(['users_id'=>$fault['users_id'],'state'=>1])->find();
if (empty($order)){
$this->error('没有未完成订单');
}else{
$time=ceil(($fault['create_time']-$order['start_time'])/3600);
$getPrice=new OrderController();
$price=$getPrice->getPrice($fault['users_id'],$order['start_time'],$fault['create_time']);
$data=[
'end_time'=>$fault['create_time'],
'time'=>$time,
'price'=>$price,
'state'=>2
];
try{
Db::startTrans();
Db::name('users')->where('id',$fault['users_id'])->update(['is_use'=>0]);
Db::name('equipment')->where('name',$fault['eq_name'])->update(['use'=>0]);
Db::name('order')->where('id',$order['id'])->update($data);
Db::name('fault')->where('id',$id)->update(['state'=>3]);
}catch (\Exception $exception){
Db::rollback();
$this->error('错误:'.$exception->getMessage());
}
Db::commit();
$this->success('处理完成');
}
}
}
\ No newline at end of file
... ...
<include file="public@header"/>
</head>
<body>
<div class="wrap js-check-wrap">
<ul class="nav nav-tabs">
<li class="active"><a href="javascript:;">故障列表</a></li>
</ul>
<form class="well form-inline margin-top-20" method="post" action="{:url('AdminFaultAuditController/index')}">
故障分类:
<select class="form-control" name="fault_type" style="width: 140px;">
<option value='0'>全部</option>
<option value='1' <if condition="$fault_type eq 1">selected </if>>计费</option>
<option value='2' <if condition="$fault_type eq 2">selected </if>>床体</option>
<option value='3' <if condition="$fault_type eq 3">selected </if>>床锁</option>
<option value='4' <if condition="$fault_type eq 4">selected </if>>其他</option>
</select> &nbsp;&nbsp;
<input type="submit" class="btn btn-primary" value="搜索"/>
<a class="btn btn-danger" href="{:url('AdminFaultAuditController/index')}">清空</a>
</form>
<form class="js-ajax-form" action="" method="post">
<div class="table-actions">
<button class="btn btn-primary btn-sm js-ajax-submit" type="submit"
data-action="{:url('AdminFaultAuditController/publish',array('yes'=>1))}" data-subcheck="true">批量新增
</button>
</div>
<table class="table table-hover table-bordered table-list">
<thead>
<tr>
<th width="15">
<label>
<input type="checkbox" class="js-check-all" data-direction="x" data-checklist="js-check-x">
</label>
</th>
<th width="50">ID</th>
<th>设备名称</th>
<th>设备锁编号</th>
<th>所在医院</th>
<th>故障类型</th>
<th>故障描述</th>
<th>故障状态</th>
<th>图片</th>
<th width="150">操作</th>
</tr>
</thead>
<foreach name="data" item="vo">
<tr>
<td>
<input type="checkbox" class="js-check" data-yid="js-check-y" data-xid="js-check-x" name="ids[]"
value="{$vo.id}" title="ID:{$vo.id}">
</td>
<td><b>{$vo.id}</b></td>
<td>{$vo.eq_name}</td>
<td>{$vo.serial_number}</td>
<td>{$vo.hospital}</td>
<td>
<switch name="$vo.fault_type">
<case value="1">计费</case>
<case value="2">床体</case>
<case value="3">床锁</case>
<case value="4">其他</case>
</switch>
</td>
<td>{$vo.fault_describe}</td>
<td>
<switch name="$vo.state">
<case value="1"><span class="label label-danger">未处理</span></case>
<case value="2"><span class="label label-warning">处理中</span></case>
<case value="3"><span class="label label-success">已处理</span></case>
</switch>
</td>
<td>
<img style="width: 50px;height: 50px" src="{:cmf_get_image_preview_url($vo.img)}">
<!--<a href="{:url('AdminFault/edit',array('id'=>$vo['id']))}">查看图片</a>-->
</td>
<td>
<a href="{:url('AdminFaultAuditController/warranty',array('id'=>$vo['id']))}" class="js-ajax-delete">保修</a><br/>
<a href="{:url('AdminFaultAuditController/reply',array('id'=>$vo['id']))}" class="js-ajax-delete">保修完成</a><br/>
<a href="{:url('AdminFaultAuditController/bill_error',array('id'=>$vo['id']))}" class="js-ajax-delete">终止订单计费</a><br/>
</td>
</tr>
</foreach>
</table>
<!--<div class="table-actions">-->
<!--<notempty name="category">-->
<!--<button class="btn btn-primary btn-sm js-ajax-submit" type="submit"-->
<!--data-action="{:url('AdminArticle/listOrder')}">{:lang('SORT')}-->
<!--</button>-->
<!--</notempty>-->
<!--<button class="btn btn-primary btn-sm js-ajax-submit" type="submit"-->
<!--data-action="{:url('AdminArticle/publish',array('yes'=>1))}" data-subcheck="true">发布-->
<!--</button>-->
<!--<button class="btn btn-primary btn-sm js-ajax-submit" type="submit"-->
<!--data-action="{:url('AdminArticle/publish',array('no'=>1))}" data-subcheck="true">取消发布-->
<!--</button>-->
<!--<button class="btn btn-primary btn-sm js-ajax-submit" type="submit"-->
<!--data-action="{:url('AdminArticle/top',array('yes'=>1))}" data-subcheck="true">置顶-->
<!--</button>-->
<!--<button class="btn btn-primary btn-sm js-ajax-submit" type="submit"-->
<!--data-action="{:url('AdminArticle/top',array('no'=>1))}" data-subcheck="true">取消置顶-->
<!--</button>-->
<!--<button class="btn btn-primary btn-sm js-ajax-submit" type="submit"-->
<!--data-action="{:url('AdminArticle/recommend',array('yes'=>1))}" data-subcheck="true">推荐-->
<!--</button>-->
<!--<button class="btn btn-primary btn-sm js-ajax-submit" type="submit"-->
<!--data-action="{:url('AdminArticle/recommend',array('no'=>1))}" data-subcheck="true">取消推荐-->
<!--</button>-->
<!--&lt;!&ndash;-->
<!--<notempty name="category">-->
<!--<button class="btn btn-primary btn-sm js-articles-move" type="button">批量移动</button>-->
<!--</notempty>-->
<!--<button class="btn btn-primary btn-sm js-articles-copy" type="button">批量复制</button>-->
<!--&ndash;&gt;-->
<!--<button class="btn btn-danger btn-sm js-ajax-submit" type="submit"-->
<!--data-action="{:url('AdminArticle/delete')}" data-subcheck="true" data-msg="您确定删除吗?">-->
<!--{:lang('DELETE')}-->
<!--</button>-->
<!--</div>-->
<ul class="pagination">{$page|default=''}</ul>
</form>
</div>
<script src="__STATIC__/js/admin.js"></script>
<script>
function reloadPage(win) {
win.location.reload();
}
$(function () {
setCookie("refersh_time", 0);
Wind.use('ajaxForm', 'artDialog', 'iframeTools', function () {
//批量复制
$('.js-articles-copy').click(function (e) {
var ids = [];
$("input[name='ids[]']").each(function () {
if ($(this).is(':checked')) {
ids.push($(this).val());
}
});
if (ids.length == 0) {
art.dialog.through({
id: 'error',
icon: 'error',
content: '您没有勾选信息,无法进行操作!',
cancelVal: '关闭',
cancel: true
});
return false;
}
ids = ids.join(',');
art.dialog.open("__ROOT__/index.php?g=portal&m=AdminArticle&a=copy&ids=" + ids, {
title: "批量复制",
width: "300px"
});
});
//批量移动
$('.js-articles-move').click(function (e) {
var ids = [];
$("input[name='ids[]']").each(function () {
if ($(this).is(':checked')) {
ids.push($(this).val());
}
});
if (ids.length == 0) {
art.dialog.through({
id: 'error',
icon: 'error',
content: '您没有勾选信息,无法进行操作!',
cancelVal: '关闭',
cancel: true
});
return false;
}
ids = ids.join(',');
art.dialog.open("__ROOT__/index.php?g=portal&m=AdminArticle&a=move&old_term_id={$term.term_id|default=0}&ids=" + ids, {
title: "批量移动",
width: "300px"
});
});
});
});
</script>
</body>
</html>
\ No newline at end of file
... ...