作者 潘浩文
1 个管道 的构建 通过 耗费 6 秒

XIAOPAN

... ... @@ -29,8 +29,19 @@ use think\Db;
class AdminCostController extends AdminBaseController{
public function index(){
$cost=Db::name('cost')->where('id',1)->find();
$interval = Db::name('interval')->where('id',1)->find();
$data=Db::name('cost')
->alias('c')
->join('interval i','c.hospital=i.hospital')
->select();
$this->assign('list',$data);
return $this->fetch();
}
public function edit(){
$param=$this->request->param();
$cost=Db::name('cost')->where('id',$param['id'])->find();
$interval = Db::name('interval')->where('id',$param['id'])->find();
$this->assign('cost',$cost);
$this->assign('interval',$interval);
return $this->fetch();
... ... @@ -57,8 +68,8 @@ class AdminCostController extends AdminBaseController{
];
try{
Db::startTrans();
Db::name('cost')->where('id',1)->update($cost);
Db::name('interval')->where('id',1)->update($interval);
Db::name('cost')->where('id',$param['id'])->update($cost);
Db::name('interval')->where('id',$param['id'])->update($interval);
}catch (\Exception $exception){
Db::rollback();
$this->error('保存失败');
... ...
... ... @@ -499,12 +499,13 @@ class OrderController extends HomeBaseController{
* @param $users_id
* @param $start_time
* @param $end_time
* @param $hospital
* @return float|int|mixed
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\ModelNotFoundException
* @throws \think\exception\DbException
*/
public function onlyGetPrice($users_id,$start_time,$end_time){
public function onlyGetPrice($users_id,$start_time,$end_time,$hospital){
/*先获取跨越天数*/
// $users_id='11';
// $data=input();
... ... @@ -514,8 +515,8 @@ class OrderController extends HomeBaseController{
if ($spend['min']!=0||$spend['sec']!=0){
$spend['hour']++;
}
$interval = Db::name('interval')->where('id',1)->find();
$cost=Db::name('cost')->where('id',1)->find();
$interval = Db::name('interval')->where('hospital',$hospital)->find();
$cost=Db::name('cost')->where('hospital',$hospital)->find();
$is_free=Db::name('users')->where('id',$users_id)->find()['is_free'];
$price=0;
$time=$start_time;
... ...
... ... @@ -234,7 +234,7 @@ class UsersController extends HomeBaseController{
$order= Db::name('order')
->alias('o')
->join('equipment e','o.eq_name=e.name')
->field('o.order_no,o.users_id,o.start_time,e.serial_number')
->field('o.order_no,o.users_id,o.start_time,e.serial_number,e.hospital')
->where(['o.users_id'=>$users_id,'o.state'=>1,'o.type'=>1,'e.is_delete'=>0])
->find();
if (empty($order)){
... ... @@ -243,7 +243,7 @@ class UsersController extends HomeBaseController{
$order['end_time']=time();
$order['time']=ceil(($order['end_time']-$order['start_time'])/3600);
$price=new OrderController();
$order['price']=$price->onlyGetPrice($users_id,$order['start_time'],$order['end_time']);
$order['price']=$price->onlyGetPrice($users_id,$order['start_time'],$order['end_time'],$order['hospital']);
$time_info=$this->getTimeInfo($order['start_time'],$order['end_time']);
$order=array_merge($order,$time_info);
$this->apiResponse(200,'success',$order);
... ...
<include file="public@header"/>
<style type="text/css">
.pic-list li {
margin-bottom: 5px;
}
</style>
</head>
<body>
<div class="wrap js-check-wrap">
<ul class="nav nav-tabs">
<li><a href="{:url('AdminCost/index')}">费用管理</a></li>
<li class="active"><a>费用编辑</a></li>
</ul>
<!--js-ajax-form margin-top-20-->
<form action="{:url('AdminCost/editPost')}" method="post" class="form-horizontal js-ajax-form margin-top-20">
<div class="row">
<div class="col-md-3">
<table class="table table-bordered">
<tr>
<td>
医院名称<input style="width: 10rem" type="text" name="hospital" value="{$cost.hospital}">
</td>
</tr>
<tr>
<th>免费设置</th>
</tr>
<tr>
<td>
<input type="checkbox" name="free" value="1" <if condition="$cost.free eq 1">checked</if>>第一小时免费</label><br/>
</td>
</tr>
<tr>
<th>每小时费用</th>
</tr>
<tr>
<td>
每小时费用<input style="width: 5rem" type="number" name="cost" value="{$cost.cost}">
</td>
</tr>
<tr>
<th>费用上限</th>
</tr>
<tr>
<td>
每天费用上限<input style="width: 5rem" type="number" name="ceiling" value="{$cost.ceiling}">
</td>
</tr>
</table>
</div>
<div class="col-md-9">
<table class="table table-bordered">
<thead>
<tr>
<th colspan="6">固定收费时间段设置</th>
</tr>
</thead>
<tbody>
<tr>
<th>开始时间</th>
<td><input class="form-control" type="time" name="start_time" value="{$interval.start_time}"></td>
<th>结束时间</th>
<td><input class="form-control" type="time" name="end_time" value="{$interval.end_time}"></td>
<th>每小时费用</th>
<td><input class="form-control" type="number" name="price" value="{$interval.price}"></td>
</tr>
</tbody>
<tfoot>
<tr>
<!--<th colspan="6" style="text-align: right">-->
<!--<a class="btn btn-default btn-sm" id="addattr">添加属性</a>-->
<!--</th>-->
<th colspan="6">
<span class="form-required">
<p style="text-indent: 2em; text-align: left;">
说明:此时间段设置为跨越夜间凌晨0点的时间段。如果您想要对不跨天的时间端进行设置时,请调转开始时间与结束时间。并将时间段的每小时费用与左侧的每小时费用进行对调。
</p>
<p style="text-indent: 2em; text-align: left;">
例如:要设置9点到21点是金额为10元,其余时间的金额为5元。则在时间段的开始时间填入21点,结束时间填入9点,每小时金额为5元,并在左侧的每小时费用填入10元,即可达到您想要的效果。
</p>
</span>
</th>
</tr>
</tfoot>
</table>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10" style="text-align: center">
<button type="submit" class="btn btn-primary js-ajax-submit">{:lang('SAVE')}</button>
<a class="btn btn-default" href="javascript:history.back(-1);">{:lang('BACK')}</a>
</div>
</div>
</form>
</div>
<script type="text/javascript" src="__STATIC__/js/admin.js"></script>
<script type="text/javascript">
//编辑器路径定义
var editorURL = GV.WEB_ROOT;
</script>
<script type="text/javascript" src="__STATIC__/js/ueditor/ueditor.config.js"></script>
<script type="text/javascript" src="__STATIC__/js/ueditor/ueditor.all.min.js"></script>
<script type="text/javascript">
$(function () {
editorcontent = new baidu.editor.ui.Editor();
editorcontent.render('content');
try {
editorcontent.sync();
} catch (err) {
}
$('.btn-cancel-thumbnail').click(function () {
$('#thumbnail-preview').attr('src', '__TMPL__/public/assets/images/default-thumbnail.png');
$('#thumbnail').val('');
});
$('#more-template-select').val("{$post.more.template|default=''}");
});
</script>
</body>
</html>
\ No newline at end of file
... ...
<include file="public@header"/>
<style type="text/css">
.pic-list li {
margin-bottom: 5px;
}
</style>
</head>
<body>
<div class="wrap js-check-wrap">
<ul class="nav nav-tabs">
<li class="active"><a>费用管理</a></li>
<li ><a href="{:url('AdminCost/add')}">添加费用管理</a></li>
</ul>
<!--js-ajax-form margin-top-20-->
<form action="{:url('AdminCost/editPost')}" method="post" class="form-horizontal js-ajax-form margin-top-20">
<div class="row">
<div class="col-md-3">
<table class="table table-bordered">
<tr>
<th>免费设置</th>
</tr>
<tr>
<td>
<input type="checkbox" name="free" value="1" <if condition="$cost.free eq 1">checked</if>>第一小时免费</label><br/>
</td>
</tr>
<form class="js-ajax-form" action="" method="post">
<table class="table table-hover table-bordered table-list">
<thead>
<tr>
<th width="50">ID</th>
<th>医院名称</th>
<th>每小时费用</th>
</tr>
<tr>
<td>
每小时费用<input style="width: 5rem" type="number" name="cost" value="{$cost.cost}">
</td>
</tr>
<tr>
<th>费用上限</th>
<th>操作</th>
</tr>
</thead>
<foreach name="list" item="vo">
<tr>
<td><b>{$vo.id}</b></td>
<td>{$vo.hospital}</td>
<td>{$vo.cost}</td>
<td>{$vo.ceiling}</td>
<td>
每天费用上限<input style="width: 5rem" type="number" name="ceiling" value="{$cost.ceiling}">
<a href="{:url('AdminCost/edit',array('id'=>$vo['id']))}">编辑</a>&nbsp;
<a href="{:url('AdminCost/delete',array('id'=>$vo['id']))}" class="js-ajax-dialog-btn">删除</a>
</td>
</tr>
</table>
</div>
<div class="col-md-9">
<table class="table table-bordered">
<thead>
<tr>
<th colspan="6">固定收费时间段设置</th>
</tr>
</thead>
<tbody>
<tr>
<th>开始时间</th>
<td><input class="form-control" type="time" name="start_time" value="{$interval.start_time}"></td>
<th>结束时间</th>
<td><input class="form-control" type="time" name="end_time" value="{$interval.end_time}"></td>
<th>每小时费用</th>
<td><input class="form-control" type="number" name="price" value="{$interval.price}"></td>
</tr>
</tbody>
</foreach>
<tfoot>
<tr>
<!--<th colspan="6" style="text-align: right">-->
<!--<a class="btn btn-default btn-sm" id="addattr">添加属性</a>-->
<!--</th>-->
<th colspan="6">
<span class="form-required">
<p style="text-indent: 2em; text-align: left;">
说明:此时间段设置为跨越夜间凌晨0点的时间段。如果您想要对不跨天的时间端进行设置时,请调转开始时间与结束时间。并将时间段的每小时费用与左侧的每小时费用进行对调。
</p>
<p style="text-indent: 2em; text-align: left;">
例如:要设置9点到21点是金额为10元,其余时间的金额为5元。则在时间段的开始时间填入21点,结束时间填入9点,每小时金额为5元,并在左侧的每小时费用填入10元,即可达到您想要的效果。
</p>
</span>
</th>
<th width="50">ID</th>
<th>医院名称</th>
<th>每小时费用</th>
<th>费用上限</th>
<th>操作</th>
</tr>
</tfoot>
</table>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10" style="text-align: center">
<button type="submit" class="btn btn-primary js-ajax-submit">{:lang('SAVE')}</button>
<a class="btn btn-default" href="javascript:history.back(-1);">{:lang('BACK')}</a>
</div>
</div>
<ul class="pagination">{$page|default=''}</ul>
</form>
</div>
<script type="text/javascript" src="__STATIC__/js/admin.js"></script>
<script type="text/javascript">
//编辑器路径定义
var editorURL = GV.WEB_ROOT;
</script>
<script type="text/javascript" src="__STATIC__/js/ueditor/ueditor.config.js"></script>
<script type="text/javascript" src="__STATIC__/js/ueditor/ueditor.all.min.js"></script>
<script type="text/javascript">
<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());
}
});
editorcontent = new baidu.editor.ui.Editor();
editorcontent.render('content');
try {
editorcontent.sync();
} catch (err) {
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());
}
});
$('.btn-cancel-thumbnail').click(function () {
$('#thumbnail-preview').attr('src', '__TMPL__/public/assets/images/default-thumbnail.png');
$('#thumbnail').val('');
if (ids.length == 0) {
art.dialog.through({
id: 'error',
icon: 'error',
content: '您没有勾选信息,无法进行操作!',
cancelVal: '关闭',
cancel: true
});
return false;
}
$('#more-template-select').val("{$post.more.template|default=''}");
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>
... ...