Initial commit,修正

This commit is contained in:
2025-07-13 19:37:38 +08:00
parent 38ce288e27
commit 65bbd06981
12384 changed files with 3985464 additions and 8 deletions
+420
View File
@@ -0,0 +1,420 @@
<?php
/**
* @Author: fm453
* @Date: 2018-11-23 12:17:02
* @Last Modified by: fm453
* @Last Modified time: 2020-09-12 22:48:52
* @Email: fm453@lukegzs.com
*/
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
use yii\helpers\Url;
use yii\widgets\LinkPager;
$this->title = '运单列表';
$this->params['breadcrumbs'][] = $this->title;
?>
<!--日期时间选择器-->
<?=Html::jsFile('@web/js/plugins/layer/laydate/laydate.js')?>
<?=Html::cssFile('@web/js/plugins/layer/laydate/need/laydate.css')?>
<?=Html::cssFile('@web/js/plugins/layer/laydate/skins/molv/laydate.css')?>
<style>
.laydate_body .laydate_top{
padding:0;
}
.laydate_body .laydate_ym{
/*margin:0;
padding:5px;*/
}
.laydate_body .laydate_table{
border:0;
border-bottom: 1px solid rgb(204, 204, 204);
}
.laydate_body .laydate_bottom {
border: 0;
margin-bottom: 10px;
}
</style>
<!--滑块选择器-->
<?=Html::cssFile('@web/css/plugins/ionRangeSlider/ion.rangeSlider.css')?>
<?=Html::cssFile('@web/css/plugins/ionRangeSlider/ion.rangeSlider.skinFlat.css')?>
<?=Html::jsFile('@web/js/plugins/ionRangeSlider/ion.rangeSlider.min.js')?>
<!--下拉选择、选项框-->
<?=Html::cssFile('@web/css/plugins/chosen/chosen.css')?>
<?=Html::jsFile('@web/js/plugins/chosen/chosen.jquery.js')?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-content" style="text-align: center;">
<h1>搜索与筛选</h1>
<form role="form" class="form-horizontal m-t" action="<?=Url::current(['pid' => Yii::$app->session->get('pid')], false);?>" method="post">
<input type="hidden" name="_csrf-backend" value="<?= Yii::$app->getRequest()->getCsrfToken();?>" />
<div class="form-group">
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-sm btn-primary">签约月份</button>
</span>
<input class="input-sm form-control layer-date" type="text" name="search[sign_m]" placeholder="请选择月份" autocomplete="off" onclick="laydate({istime: false, format: 'YYYY-MM'})" value="<?=isset($search['sign_m'])?$search['sign_m']:''?>">
</div>
</div>
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-sm btn-primary">签约时间不早于</button>
</span>
<input class="input-sm form-control layer-date" type="text" name="search[sign_after]" placeholder="请选择日期" autocomplete="off" onclick="laydate({istime: false, format: 'YYYY-MM-DD'})" value="<?=isset($search['sign_after'])?$search['sign_after']:''?>">
</div>
</div>
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-sm btn-primary">签约时间不晚于</button>
</span>
<input class="input-sm form-control layer-date" type="text" name="search[sign_before]" placeholder="请选择日期" autocomplete="off" onclick="laydate({istime: false, format: 'YYYY-MM-DD'})" value="<?=isset($search['sign_before'])?$search['sign_before']:''?>">
</div>
</div>
</div>
<div class="form-group">
<div class="col-sm-3">
<select data-placeholder="选择订单状态..." class="select-sm form-control chosen-select" tabindex="2" name="search[status_code]">
<option value="all">选择订单状态</option>
<?php foreach($status as $key=>$val){?>
<option value="<?=$key?>" hassubinfo="true" <?=isset($search['status_code']) && $search['status_code']==$key ? 'selected':'';?>><?=$val?></option>
<?php }?>
</select>
</div>
<div class="col-sm-3">
<div class="input-group">
<input type="text" class="form-control" name="store_title" id="store-title" value="<?=isset($search['store_title'])?$search['store_title']:'';?>" placeholder="点击选择接单网点" autocomplete="off" href="<?=Url::toRoute(['store/select','callback'=>'store']);?>" w="80%;" h="90%;" title="选择接单网点" mini="load">
<input type="hidden" class="form-control" name="search[store_id]" id="store-value" value="<?=isset($search['store_id'])?$search['store_id']:0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info" onclick="clearStore('store')">清除选择</button>
</span>
</div>
<script>
function selectStore(title,id,callback)
{
layer.closeAll();
layer.msg('已选择');
$('#'+callback+'-value').val(id);
$('#'+callback+'-title').val(title);
}
function clearStore(id)
{
$('#'+id+'-value').val('');
$('#'+id+'-title').val('');
}
</script>
</div>
<div class="col-sm-3">
<div class="input-group">
<input type="text" class="form-control" name="employee_title" id="employee-title" value="<?=isset($search['employee_title'])?$search['employee_title']:'';?>" placeholder="点击选择该运单的派单员工" autocomplete="off" href="<?=Url::toRoute(['employee/select','callback'=>'employee']);?>" w="80%;" h="90%;" title="选择派单员工" mini="load">
<input type="hidden" class="form-control" name="search[employee]" id="employee-value" value="<?=isset($search['employee'])?$search['employee']:0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info" onclick="clearEmployee('employee')">清除选择</button>
</span>
</div>
<script>
function selectEmployee(title,id,callback)
{
layer.closeAll();
layer.msg('已选择');
$('#'+callback+'-value').val(id);
$('#'+callback+'-title').val(title);
}
function clearEmployee(id)
{
$('#'+id+'-value').val('');
$('#'+id+'-title').val('');
}
</script>
</div>
<div class="col-sm-3">
<div class="input-group">
<input type="text" class="form-control" name="car_title" id="car-title" value="<?=isset($search['car_title'])?$search['car_title']:'';?>" placeholder="点击选择关联客户车辆" autocomplete="off" href="<?=Url::toRoute(['car/select','callback'=>'car']);?>" w="80%;" h="90%;" title="选择关联客户车辆" mini="load">
<input type="hidden" class="form-control" name="search[car_id]" id="car-value" value="<?=isset($search['car_id'])?$search['car_id']:0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info" onclick="clearCar('car')">清除选择</button>
</span>
</div>
</div>
<script>
function selectCar(title,id,callback)
{
layer.closeAll();
layer.msg('已选择');
$('#'+callback+'-value').val(id);
$('#'+callback+'-title').val(title);
}
function clearCar(id)
{
$('#'+id+'-value').val('');
$('#'+id+'-title').val('');
}
</script>
</div>
<div class="form-group">
<div class="col-sm-3">
<div class="input-group">
<input class="form-control" type="text" placeholder="模糊检索介绍人名字" name="search[bind]" id="bind" value="<?=isset($search['bind'])?$search['bind']:'';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info" onclick="clearBind('bind')">清除</button>
</span>
</div>
</div>
<script>
function clearBind(id)
{
$('#'+id).val('');
}
</script>
<div class="col-sm-3">
<div class="input-group">
<input class="form-control" type="text" placeholder="模糊检索签约人名字" name="search[signer]" id="signer" value="<?=isset($search['signer'])?$search['signer']:'';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info" onclick="clearSigner('signer')">清除</button>
</span>
</div>
</div>
<script>
function clearSigner(id)
{
$('#'+id).val('');
}
</script>
<div class="col-sm-3">
<div class="input-group">
<input class="form-control" type="text" placeholder="模糊检索发车人名字" name="search[sender_name]" id="sender_name" value="<?=isset($search['sender_name'])?$search['sender_name']:'';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info" onclick="clearSender('sender_name')">清除</button>
</span>
</div>
</div>
<script>
function clearSender(id)
{
$('#'+id).val('');
}
</script>
<div class="col-sm-3">
<div class="input-group">
<input class="form-control" type="text" placeholder="模糊检索接车人名字" name="search[receiver_name]" id="receiver_name" value="<?=isset($search['receiver_name'])?$search['receiver_name']:'';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info" onclick="clearReceiver('receiver_name')">清除</button>
</span>
</div>
</div>
<script>
function clearReceiver(id)
{
$('#'+id).val('');
}
</script>
</div>
<div class="form-group">
<div class="col-sm-3">
<select data-placeholder="选择起运省份..." class="form-control chosen-select" tabindex="2" name="search[start_province]">
<option value="">选择起运省份</option>
<?php foreach(Yii::$app->params['regionAreas'] as $key=>$val){?>
<option value="<?=$key?>" hassubinfo="true" <?=isset($search['start_province']) && $search['start_province']==$key ? 'selected':'';?>><?=$val?></option>
<?php }?>
</select>
</div>
<div class="col-sm-3">
<div class="input-group">
<input class="form-control" type="text" placeholder="检索起运城市名称" name="start_city" id="start_city" value="<?=isset($search['start_city'])?$search['start_city']:'';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info" onclick="clearInput(this)">清除</button>
</span>
</div>
</div>
<div class="col-sm-3">
<select data-placeholder="选择运达省份..." class="select-sm form-control chosen-select" tabindex="2" name="search[aim_province]">
<option value="">选择运达省份</option>
<?php foreach(Yii::$app->params['regionAreas'] as $key=>$val){?>
<option value="<?=$key?>" hassubinfo="true" <?=isset($search['aim_province']) && $search['aim_province']==$val ? 'selected':'';?>><?=$val?></option>
<?php }?>
</select>
</div>
<div class="col-sm-3">
<div class="input-group">
<input class="form-control" type="text" placeholder="检索目标运达城市名称" name="aim_city" id="aim_city" value="<?=isset($search['aim_city'])?$search['aim_city']:'';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info" onclick="clearInput(this)">清除</button>
</span>
</div>
</div>
</div>
<script>
function clearInput(obj)
{
$(obj).parent().prev().val('');
}
</script>
<div class="form-group">
<div class="col-sm-12">
<button type="submit" class="btn btn-sm btn-warning"> 搜索</button>
<a class="btn btn-info btn-sm" href="<?= Url::toRoute('order/new')?>">新增运单</a>
</div>
</div>
</form>
</div>
<!--分页-->
<div class="ibox-content" style="padding:0;text-align: center;">
<div class="f-r">
<?= LinkPager::widget([
'pagination'=>$pager,
'firstPageLabel' => '首页',
'nextPageLabel' => '下一页',
'prevPageLabel' => '上一页',
'lastPageLabel' => '末页',
]) ?>
</div>
</div>
<div class="ibox-title"><?= Html::encode($this->title) ?></div>
<div class="ibox-content">
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>序号</th>
<th>车辆</th>
<!-- <th>发车人</th>
<th>接车人</th> -->
<th>托运信息</th>
<th>网点员工</th>
<th>关联信息</th>
<th>状态</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<?php foreach($orders as $vo):?>
<tr>
<td><?=$vo['id']?></td>
<td>
<kbd>车牌</kbd> <?=isset($cars[$vo['car_id']]['num_p']) ? $cars[$vo['car_id']]['num_p']:''?><?=isset($cars[$vo['car_id']]['num_area']) ? $cars[$vo['car_id']]['num_area']:''?><?=isset($cars[$vo['car_id']]['num_left']) ? $cars[$vo['car_id']]['num_left']:''?><br>
<kbd>车架号</kbd><?=isset($cars[$vo['car_id']]['num_frame']) ? $cars[$vo['car_id']]['num_frame']:''?><br>
<kbd>品牌车型</kbd><?=isset($cars[$vo['car_id']]['title']) ? $cars[$vo['car_id']]['title']:''?>
</td>
<!-- <td>
【姓名】<?=isset($vo['sender_name']) ? $vo['sender_name']:''?><br>
【手机】<?=isset($vo['sender_mobiles']) ? $vo['sender_mobiles']:''?><br>
【身份证号】<?=isset($vo['sender_idcard']) ? $vo['sender_idcard']:''?><br>
</td>
<td>
【姓名】<?=isset($vo['receiver_name']) ? $vo['receiver_name']:''?><br>
【手机】<?=isset($vo['receiver_mobiles']) ? $vo['receiver_mobiles']:''?><br>
【身份证号】<?=isset($vo['receiver_idcard']) ? $vo['receiver_idcard']:''?><br>
</td> -->
<td>
【签约时间】<?=isset($vo['sign_date']) && $vo['sign_date']>0 ? date('Y-m-d',$vo['sign_date']) : '未记录'?><br>
【始发地】<?=isset(Yii::$app->params['regionAreas'][$vo['start_province']]) ? Yii::$app->params['regionAreas'][$vo['start_province']] : ''?> <?=isset($vo['start_city']) ? $vo['start_city'] : ''?><br>
【目的地】<?=isset(Yii::$app->params['regionAreas'][$vo['aim_province']]) ? Yii::$app->params['regionAreas'][$vo['aim_province']] : ''?> <?=isset($vo['aim_city']) ? $vo['aim_city'] : ''?><br>
</td>
<td>
【网点门店】<code><?=isset($stores[$vo['store_id']]['title'])?$stores[$vo['store_id']]['title']:'未设置'?></code><br>
【经办人】<code><?=isset($employees[$vo['employee_id']]['name'])?$employees[$vo['employee_id']]['name']:'未关联'?></code>
</td>
<td>
<!-- 【签约人】<?=isset($vo['signer']) ? $vo['signer'] : ''?> <br> -->
【保险】保价<code><?=isset($vo['car_value']) ? $vo['car_value'] : 0?></code><kbd>万元</kbd>; 保费<code><?=isset($vo['fee_insurance']) ? $vo['fee_insurance'] : 0?></code><kbd>元</kbd>; <br>
【费用】运费<code><?=isset($vo['fee_truck']) ? $vo['fee_truck'] : 0?></code><kbd>元</kbd>
总费用<code><?=isset($vo['fee_total']) ? $vo['fee_total'] : 0?></code><kbd>元</kbd> <br>
现付<code><?=isset($vo['pay_send']) ? $vo['pay_send'] : 0?></code><kbd>元</kbd>;到收<code><?=isset($vo['pay_receive']) ? $vo['pay_receive'] : 0?></code><kbd>元</kbd> <br>
</td>
<td>
<?php if($vo['status_code']<=0){?>
<label class="btn btn-default btn-xs"><?=$status[$vo['status_code']]?></label>
<?php }else{?>
<label class="btn btn-info btn-xs"><?=$status[$vo['status_code']]?></label>
<?php }?>
<?php if($vo['is_cwqr']==0){?>
<label class="btn btn-default btn-xs">待财务确认</label>
<?php }else{?>
<label class="btn btn-info btn-xs">财务已确认</label>
<?php }?>
</td>
<td>
<p>
<a class="btn btn-primary btn-xs" href="<?=Url::toRoute(['order/edit','id'=>$vo['id']])?>"><i class="fa fa-edit"></i>编辑</a>
<a title="点击将删除" href="<?=Url::toRoute(['order/delete','id'=>$vo['id']])?>" class="btn btn-xs btn-danger" mini="act"><i class="fa fa-trash bigger-120"></i>删除</a>
<a title="点击将取消这张订单" href="<?=Url::toRoute(['order/ajax','id'=>$vo['id'],'do'=>'cancel'])?>" class="btn btn-xs btn-warning" mini="ajax"><i class="fa fa-trash-o bigger-120"></i>取消</a>
</p>
<p>
<a class="btn btn-success btn-xs" href="<?=Url::toRoute(['order/caiwu','id'=>$vo['id']])?>" w="100%;" h="90%;" title="财务审核" mini="load">财务审核</a>
<a class="btn btn-info btn-xs" href="<?=Url::toRoute(['order/commission','id'=>$vo['id']])?>" w="50%;" h="80%;" title="佣金管理" mini="load">佣金管理</a>
<a class="btn btn-warning btn-xs" href="<?=Url::toRoute(['feeorder/index','oid'=>$vo['id']])?>" w="100%;" h="90%;" title="费用管理" mini="load">费用管理</a>
</p>
<p>
<a class="btn btn-primary btn-xs" href="<?=Url::toRoute(['order/edit','id'=>$vo['id'],'op'=>'print'])?>" w="90%;" h="90%;" title="打印订单" mini="load"><i class="fa fa-print"></i> 打印订单</a>
</p>
</td>
</tr>
<?php endforeach;?>
</tbody>
</table>
</div>
</div>
<!--分页-->
<div class="ibox-content" style="padding:0;text-align: center;">
<div class="f-r">
<?= LinkPager::widget([
'pagination'=>$pager,
'firstPageLabel' => '首页',
'nextPageLabel' => '下一页',
'prevPageLabel' => '上一页',
'lastPageLabel' => '末页',
]) ?>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
laydate.skin('molv');
$(document).ready(function() {
var config = {
".chosen-select": {},
".chosen-select-deselect": {
allow_single_deselect: !0
},
".chosen-select-no-single": {
disable_search_threshold: 10
},
".chosen-select-no-results": {
no_results_text: "Oops, nothing found!"
},
".chosen-select-width": {
width: "95%"
}
};
for (var selector in config) $(selector).chosen(config[selector]);
});
</script>
+144
View File
@@ -0,0 +1,144 @@
<?php
use yii\helpers\Html;
use yii\helpers\Url;
?>
<!--下拉选择、选项框-->
<?=Html::cssFile('@web/css/plugins/chosen/chosen.css')?>
<?=Html::jsFile('@web/js/plugins/chosen/chosen.jquery.js')?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>基础资料</h5>
<div class="ibox-tools">
<a class="collapse-link">
<i class="fa fa-chevron-up"></i>
</a>
<a class="close-link">
<i class="fa fa-times"></i>
</a>
</div>
</div>
<div class="ibox-content">
<div class="alert alert-info">
选择相应的订单并为之创建相应的验车相册
</div>
<form role="form" class="form-horizontal m-t" method="post" action="<?=Url::toRoute('albums/save')?>" >
<input type="hidden" name="_csrf-backend" value="<?=Yii::$app->getRequest()->getCsrfToken();?>" />
<input type="hidden" name="id" value="<?=isset($detail['id'])?$detail['id']:0;?>">
<div class="form-group draggable">
<label class="col-sm-1 control-label"> <span class="red">*</span> 托运车辆:</label>
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-info" href="<?=Url::toRoute(['car/select','callback'=>'car']);?>" w="80%;" h="90%;" title="选择车辆" mini="load">选择车辆</button>
</span>
<input type="text" class="form-control" name="car_title" id="car-title" value="<?=isset($detail['car_title'])?$detail['car_title']:'';?>" placeholder="点击选择需要托运的车辆(如无,可新创建)" autocomplete="off" href="<?=Url::toRoute(['car/select','callback'=>'car']);?>" w="80%;" h="90%;" title="选择车辆" mini="load">
<input type="hidden" class="form-control" name="car_id" id="car-id" value="<?=isset($detail['car_id'])?$detail['car_id']:0;?>">
</div>
</div>
<script>
function selectCar(title,car_id,numbers,carowner,callback)
{
/*车品牌+车型组成的车名;车ID;车牌或车架号;车主信息;回调标识*/
layer.closeAll();
layer.msg('已选择');
$('#'+callback+'-id').val(car_id);
$('#'+callback+'-title').val(title);
$('#'+callback+'-number').val(numbers);
$('#'+callback+'-owner').val(carowner);
}
</script>
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">车牌或车架号</button>
</span>
<input class="form-control" type="text" name="car_number" id="car-number" placeholder="自动关联;无须手动填写" autocomplete="off" disabled="true" value="<?=isset($detail['car_number'])?$detail['car_number']:'';?>">
</div>
</div>
<div class="col-sm-3">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">对应车主</button>
</span>
<input class="form-control" type="text" name="car_owner" id="car-owner" placeholder="自动关联;无须手动填写" autocomplete="off" disabled="true" value="<?=isset($detail['car_owner'])?$detail['car_owner']:'';?>">
</div>
</div>
</div>
<div class="form-group draggable">
<label class="col-sm-2 control-label"><span class="red">*</span>发车人手机号:</label>
<div class="col-sm-2">
<input class="form-control" type="text" name="phone1_1" placeholder="请输入客户的手机号" autocomplete="off" value="<?=isset($detail['phone1_1'])?$detail['phone1_1']:'';?>">
</div>
<label class="col-sm-2 control-label">发车人备用手机号:</label>
<div class="col-sm-2">
<input class="form-control" type="text" name="phone1_2" placeholder="请输入客户的手机号" autocomplete="off" value="<?=isset($detail['phone1_2'])?$detail['phone1_2']:'';?>">
</div>
</div>
<div class="form-group draggable">
<label class="col-sm-2 control-label">接车人手机号:</label>
<div class="col-sm-2">
<input class="form-control" type="text" name="phone2_1" placeholder="请输入客户的手机号" autocomplete="off" value="<?=isset($detail['phone2_1'])?$detail['phone2_1']:'';?>">
</div>
<label class="col-sm-2 control-label">接车人备用手机号:</label>
<div class="col-sm-2">
<input class="form-control" type="text" name="phone2_1" placeholder="请输入客户的手机号" autocomplete="off" value="<?=isset($detail['phone2_1'])?$detail['phone2_1']:'';?>">
</div>
</div>
<div class="form-group draggable">
<label class="col-sm-1 control-label">备注:</label>
<div class="col-sm-9">
<input class="form-control" type="text" name="remark" placeholder="" autocomplete="off" value="<?=isset($detail['remark'])?$detail['remark']:'';?>">
</div>
</div>
<div class="form-group draggable">
<label class="col-sm-1 control-label">是否显示:
</label>
<div class="col-sm-9">
<div class="radio radio-primary radio-inline">
<input type="radio" <?=(isset($detail['status_code'])&&$detail['status_code']==1)?'checked':'';?> value="1" id="status_code" name="status_code">
<label for="status_code">是</label>
</div>
<div class="radio radio-primary radio-inline">
<input type="radio" <?=((!isset($detail['status_code']))||isset($detail['status_code'])&&$detail['status_code']==0)?'checked':'';?> value="0" id="status_code" name="status_code">
<label for="status_code">否</label>
</div>
</div>
</div>
<div class="hr-line-dashed"></div>
<div class="form-group draggable">
<div class="col-sm-12 col-sm-offset-3">
<button class="btn btn-primary" type="submit">保存内容</button>
<button class="btn btn-white" type="submit">取消</button>
<a class="btn btn-info" href="<?=Url::toRoute('albums/list')?>">相册列表</a>
</div>
</div>
</form>
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
</div>
<style>
.chosen-container-single .chosen-single{
line-height:30px;
}
</style>
+38
View File
@@ -0,0 +1,38 @@
<?php
use yii\helpers\Html;
use yii\helpers\Url;
?>
<div class="wrapper wrapper-content">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>车辆资料</h5>
</div>
<div class="ibox-content">
<div class="row">
<div class="col-sm-12">
<table class="table">
<tbody>
<tr>
<td>车牌:</td>
<td>车架号</td>
<td>车主</td>
<td>品牌车型</td>
<td>车型名称</td>
<!-- <td>状态</td> -->
</tr>
<tr>
<td><?=$detail['num_p']?><?=$detail['num_area']?><?=$detail['num_left']?></td>
<td><?=$detail['num_frame']?></td>
<td><?=isset($detail['owner_title'])?$detail['owner_title']:'';?></td>
<td><?=isset($detail['series_title'])?$detail['series_title']:'';?></td>
<td><?=isset($detail['title'])?$detail['title']: ''?></td>
<!-- <td><?=$status[$detail['status_code']];?></td> -->
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
+120
View File
@@ -0,0 +1,120 @@
<?php
/**
* @Author: fm453
* @Date: 2018-11-23 12:17:02
* @Last Modified by: fm453
* @Last Modified time: 2020-12-13 09:29:31
* @Email: fm453@lukegzs.com
*/
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
use yii\helpers\Url;
use yii\widgets\LinkPager;
$this->title = '车辆列表';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-content">
<h1><?= Html::encode($this->title) ?></h1>
<div class="row">
<form action="<?=Url::current(['pid' => Yii::$app->session->get('pid')], false);?>" method="post">
<input type="hidden" name="_csrf-backend" value="<?= Yii::$app->getRequest()->getCsrfToken();?>" />
<div class="col-sm-3">
<a class="btn btn-info btn-sm" href="<?= Url::toRoute('car/new')?>">新增车辆</a>
</div>
<div class="col-sm-3 pull-right">
<div class="input-group">
<input class="input-sm form-control" type="text" placeholder="请输入车牌尾数或车架号" name="search[title]" value="<?=$search['title']?>">
<span class="input-group-btn">
<button type="submit" class="btn btn-sm btn-primary"> 搜索</button>
</span>
</div>
</div>
<div class="col-sm-3 pull-right">
<div class="input-group">
<input class="input-sm form-control" type="text" placeholder="点击按品牌筛选" name="search[brand]" id="brand-title" value="<?=$search['brand']?>" autocomplete="off" href="<?=Url::toRoute(['carbrand/select','callback'=>'brand']);?>" w="80%;" h="90%;" title="选择品牌车型" mini="load">
<span class="input-group-btn">
<button type="submit" class="btn btn-sm btn-primary"> 筛选</button>
</span>
</div>
<input type="hidden" name="search[brand_id]" id="brand-value" value="<?=$search['brand_id']?>" />
<script>
function selectCarBrand(title,id,callback)
{
layer.closeAll();
layer.msg('已选择');
$('#'+callback+'-value').val(id);
$('#'+callback+'-title').val(title);
}
</script>
</div>
</form>
</div>
<hr>
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>序号</th>
<th style="width:100px;">车主</th>
<th style="width:120px;">品牌车型</th>
<th style="width:120px;">车架号</th>
<th>车牌</th>
<th>状态</th>
<th style="width:150px;">操作</th>
</tr>
</thead>
<tbody>
<?php foreach($cars as $vo):?>
<tr>
<td><?=$vo['id']?></td>
<td>【<code><?=isset($users[$vo['mid']]['username'])?$users[$vo['mid']]['username']:'未设置'?></code>】</td>
<td><?=$vo['title']?><br><?=$vo['title2']?></td>
<td><?=$vo['num_frame']?></td>
<td><?=$vo['num_p'].$vo['num_area']?>・<?=$vo['num_left']?></td>
<td>
<?php if($vo['status_code']==1){?>
<label class="btn btn-info btn-xs"><?=isset($status[$vo['status_code']]) ? $status[$vo['status_code']] : '未知'?></label>
<?php }else{?>
<label class="btn btn-default btn-xs"><?=isset($status[$vo['status_code']]) ? $status[$vo['status_code']] : '未知'?></label>
<?php }?>
</td>
<td>
<a class="btn btn-primary btn-sm" href="<?=Url::toRoute(['car/ajax','id'=>$vo['id'],'do'=>'show'])?>" mini="ajax" data-toggle="tooltip" data-placement="top" data-title="设置该车辆为显示状态" trigger="hover|focus">显</a>
<a class="btn btn-default btn-sm" href="<?=Url::toRoute(['car/ajax','id'=>$vo['id'],'do'=>'hide'])?>" mini="ajax" data-toggle="tooltip" data-placement="top" data-title="设置该车辆为隐藏状态" trigger="hover|focus">隐</a>
<a title="点击将删除" href="<?=Url::toRoute(['car/delete','id'=>$vo['id']])?>" class="btn btn-danger btn-sm" mini="act" data-toggle="tooltip" data-placement="top" data-title="删除该车辆信息" trigger="hover|focus"><i class="fa fa-trash bigger-120"></i></a>
<a class="btn btn-primary btn-sm" href="<?=Url::toRoute(['car/edit','id'=>$vo['id']])?>" data-toggle="tooltip" data-placement="top" data-title="编辑该车辆信息" trigger="hover|focus"><i class="fa fa-edit bigger-120"></i></a>
<a class="btn btn-success btn-sm" href="<?=Url::toRoute(['car/copy','id'=>$vo['id']])?>" w="100%;" h="90%;" title="复制车辆信息" mini="load" data-toggle="tooltip" data-placement="top" data-title="复制车辆信息后新增" trigger="hover|focus"><i class="fa fa-copy bigger-120"></i></a>
</td>
</tr>
<?php endforeach;?>
</tbody>
</table>
<!--分页-->
<div class="f-r">
<?= LinkPager::widget([
'pagination'=>$pager,
'firstPageLabel' => '首页',
'nextPageLabel' => '下一页',
'prevPageLabel' => '上一页',
'lastPageLabel' => '末页',
]) ?>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
+140
View File
@@ -0,0 +1,140 @@
<?php
use yii\helpers\Html;
use yii\helpers\Url;
?>
<!--下拉选择、选项框-->
<?=Html::cssFile('@web/css/plugins/chosen/chosen.css')?>
<?=Html::jsFile('@web/js/plugins/chosen/chosen.jquery.js')?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>车辆资料</h5>
<div class="ibox-tools">
<a class="collapse-link">
<i class="fa fa-chevron-up"></i>
</a>
<a class="close-link">
<i class="fa fa-times"></i>
</a>
</div>
</div>
<div class="ibox-content">
<div class="alert alert-info">
此处录入公司客户车辆的基础资料
</div>
<form role="form" class="form-horizontal m-t" method="post" action="<?=Url::toRoute('car/save')?>" >
<input type="hidden" name="_csrf-backend" value="<?=Yii::$app->getRequest()->getCsrfToken();?>" />
<input type="hidden" name="id" value="<?=isset($detail['id'])?$detail['id']:0;?>">
<div class="form-group draggable">
<label class="col-sm-1 control-label">车牌:</label>
<div class="col-sm-9">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">省份标识</button>
</span>
<select data-placeholder="" class="form-control chosen-select" tabindex="3" name="num_p">
<option value=""></option>
<?php foreach(Yii::$app->params['carRegion'] as $key=>$val){?>
<option value="<?=$val?>" hassubinfo="true" <?=isset($detail['num_p']) && $detail['num_p']==$val ? 'selected':'';?>><?=$val?></option>
<?php }?>
</select>
<span class="input-group-btn">
<button type="button" class="btn btn-primary">区域代码</button>
</span>
<select data-placeholder="" class="form-control chosen-select" tabindex="4" name="num_area">
<option value=""></option>
<?php foreach(Yii::$app->params['letters'] as $val){?>
<option value="<?=$val?>" hassubinfo="true" <?=isset($detail['num_area']) && $detail['num_area']==$val ? 'selected':'';?>><?=$val?></option>
<?php }?>
</select>
<span class="input-group-btn">
<button type="button" class="btn btn-primary">尾号</button>
</span>
<input class="form-control" type="text" name="num_left" placeholder="车牌尾数" autocomplete="off" value="<?=isset($detail['num_left'])?$detail['num_left']: ''?>">
</div>
</div>
</div>
<div class="form-group draggable">
<label class="col-sm-1 control-label">车架号:</label>
<div class="col-sm-4">
<input class="form-control" type="text" name="num_frame" placeholder="车架号" autocomplete="off" value="<?=isset($detail['num_frame'])?$detail['num_frame']: ''?>">
</div>
<label class="col-sm-1 control-label">车主:</label>
<div class="col-sm-4">
<input type="text" class="form-control" name="owner_title" id="owner-title" value="<?=isset($detail['owner_title'])?$detail['owner_title']:'';?>" placeholder="点击选择关联车主" autocomplete="off" href="<?=Url::toRoute(['carowner/select','callback'=>'owner']);?>" w="80%;" h="90%;" title="选择关联车主" mini="load">
<input type="hidden" class="form-control" name="owner_id" id="owner-value" value="<?=isset($detail['owner_id'])?$detail['owner_id']:0;?>">
</div>
<script>
function selectCarOwner(title,id,callback)
{
layer.closeAll();
layer.msg('已选择');
$('#'+callback+'-value').val(id);
$('#'+callback+'-title').val(title);
}
</script>
</div>
<div class="form-group draggable">
<label class="col-sm-1 control-label">品牌车型:</label>
<div class="col-sm-4">
<input type="text" class="form-control" name="series_title" id="car-series-title" value="<?=isset($detail['brand_title'])?$detail['brand_title']:'';?><?=isset($detail['series_title'])?$detail['series_title']:'';?>" placeholder="点击选择品牌车型" autocomplete="off" href="<?=Url::toRoute(['carseries/select','callback'=>'car']);?>" w="80%;" h="90%;" title="选择品牌车型" mini="load">
<input type="hidden" class="form-control" name="series_id" id="car-series-value" value="<?=isset($detail['series_id'])?$detail['series_id']:0;?>">
<input type="hidden" class="form-control" name="brand_id" id="car-brand-value" value="<?=isset($detail['brand_id'])?$detail['brand_id']:0;?>">
</div>
<script>
function selectCarSeries(title,series_id,brand_id,callback)
{
layer.closeAll();
layer.msg('已选择');
$('#'+callback+'-series-value').val(series_id);
$('#'+callback+'-brand-value').val(brand_id);
$('#'+callback+'-series-title').val(title);
$('#series-title').val(title);
}
</script>
<label class="col-sm-1 control-label">车型名称:</label>
<div class="col-sm-4">
<input class="form-control" type="title" name="title" id="series-title" placeholder="直接输入对应的车型名称即可" autocomplete="off" value="<?=isset($detail['title'])?$detail['title']: ''?>">
</div>
</div>
<div class="form-group draggable">
<label class="col-sm-1 control-label">车辆状态:</label>
<div class="col-sm-9">
<?php foreach($status as $vo=>$ko):?>
<div class="radio radio-primary radio-inline">
<input type="radio" <?=((isset($detail['status_code'])&&$detail['status_code']==$vo)||(!isset($detail['status_code'])&&$vo==1))?'checked':'';?> value="<?=$vo?>" id="status_code" name="status_code">
<label for="status_code"><?=$ko?></label>
</div>
<?php endforeach;?>
</div>
</div>
<div class="hr-line-dashed"></div>
<div class="form-group draggable">
<div class="col-sm-12 col-sm-offset-3">
<button class="btn btn-primary" type="submit">保存内容</button>
<button class="btn btn-white" type="submit">取消</button>
<a class="btn btn-info" href="<?=Url::toRoute('list')?>">全部车辆</a>
</div>
</div>
</form>
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
</div>
+114
View File
@@ -0,0 +1,114 @@
<?php
/**
* @Author: fm453
* @Date: 2018-11-23 12:17:02
* @Last Modified by: fm453
* @Last Modified time: 2020-12-13 09:44:32
* @Email: fm453@lukegzs.com
*/
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
use yii\helpers\Url;
use yii\widgets\LinkPager;
$this->title = '车辆列表';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-content">
<h1><?= Html::encode($this->title) ?></h1>
<div class="row">
<form action="<?=Url::current(['pid' => Yii::$app->session->get('pid')], false);?>" method="post">
<input type="hidden" name="_csrf-backend" value="<?= Yii::$app->getRequest()->getCsrfToken();?>" />
<div class="col-sm-3">
<a class="btn btn-info btn-sm" href="<?= Url::toRoute('car/new')?>">新增车辆</a>
</div>
<div class="col-sm-3 pull-right">
<div class="input-group">
<input class="input-sm form-control" type="text" placeholder="请输入车牌尾数或车架号" name="search[title]" value="<?=$search['title']?>">
<span class="input-group-btn">
<button type="submit" class="btn btn-sm btn-primary"> 搜索</button>
</span>
</div>
</div>
<div class="col-sm-3 pull-right">
<div class="input-group">
<input class="input-sm form-control" type="text" placeholder="点击按品牌筛选" name="search[brand]" id="brand-title" value="<?=$search['brand']?>" autocomplete="off" href="<?=Url::toRoute(['carbrand/select','callback'=>'brand']);?>" w="80%;" h="90%;" title="选择品牌车型" mini="load">
<span class="input-group-btn">
<button type="submit" class="btn btn-sm btn-primary"> 筛选</button>
</span>
</div>
<input type="hidden" name="search[brand_id]" id="brand-value" value="<?=$search['brand_id']?>" />
<script>
function selectCarBrand(title,id,callback)
{
layer.closeAll();
layer.msg('已选择');
$('#'+callback+'-value').val(id);
$('#'+callback+'-title').val(title);
}
</script>
</div>
</form>
</div>
<hr>
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>序号</th>
<th>车主</th>
<th>品牌车型</th>
<th>车架号</th>
<th>车牌</th>
<th>状态</th>
<th><a class="btn btn-primary btn-xs" onclick="parent.selectCar('','','<?=$callback?>');">清除选择</a></th>
</tr>
</thead>
<tbody>
<?php foreach($cars as $vo):?>
<tr>
<td><?=$vo['id']?></td>
<td>【<code><?=isset($users[$vo['mid']]['username'])?$users[$vo['mid']]['username']:'未设置'?></code>】</td>
<td><?=$vo['title']?><br><?=$vo['title2']?></td>
<td><?=$vo['num_frame']?></td>
<td><?=$vo['num_p'].$vo['num_area']?>・<?=$vo['num_left']?></td>
<td>
<?php if($vo['status_code']==1){?>
<label class="btn btn-info btn-xs"><?=isset($status[$vo['status_code']]) ? $status[$vo['status_code']] : '未知'?></label>
<?php }else{?>
<label class="btn btn-default btn-xs"><?=isset($status[$vo['status_code']]) ? $status[$vo['status_code']] : '未知'?></label>
<?php }?>
</td>
<td>
<a class="btn btn-primary btn-xs" onclick="parent.selectCar('<?=$vo['title']?>','<?=$vo['id']?>','<?=$vo['numbers']?>','<?=isset($users[$vo['mid']]['username'])?$users[$vo['mid']]['username']:''?>','<?=$callback?>');">选择</a>
</td>
</tr>
<?php endforeach;?>
</tbody>
</table>
<!--分页-->
<div class="f-r">
<?= LinkPager::widget([
'pagination'=>$pager,
'firstPageLabel' => '首页',
'nextPageLabel' => '下一页',
'prevPageLabel' => '上一页',
'lastPageLabel' => '末页',
]) ?>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
+93
View File
@@ -0,0 +1,93 @@
<?php
/**
* @Author: fm453
* @Date: 2018-11-23 12:17:02
* @Last Modified by: fm453
* @Last Modified time: 2020-09-12 21:21:50
* @Email: fm453@lukegzs.com
*/
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
use yii\helpers\Url;
use yii\widgets\LinkPager;
$this->title = '轿车品牌列表';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-content">
<h1><?= Html::encode($this->title) ?></h1>
<div class="row">
<div class="col-sm-3">
<a class="btn btn-info btn-sm" href="<?= Url::toRoute('carbrand/new')?>">新增品牌</a>
</div>
<div class="col-sm-3 pull-right">
<form action="<?=Url::current(['pid' => Yii::$app->session->get('pid')], false);?>" method="post">
<input type="hidden" name="_csrf-backend" value="<?= Yii::$app->getRequest()->getCsrfToken();?>" />
<div class="input-group">
<input class="input-sm form-control" type="text" placeholder="请输入品牌名" name="title" value="<?=$search['title']?>">
<span class="input-group-btn">
<button type="submit" class="btn btn-sm btn-primary"> 搜索</button>
</span>
</div>
</form>
</div>
</div>
<hr>
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>序号</th>
<th>品牌</th>
<th>状态</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<?php foreach($brands as $vo):?>
<tr>
<td><?=$vo['id']?></td>
<td><?=$vo['title']?></td>
<td>
<?php if($vo['status_code']==1){?>
<label class="btn btn-info btn-xs"><?=isset($status[$vo['status_code']]) ? $status[$vo['status_code']] : '未知'?></label>
<?php }else{?>
<label class="btn btn-default btn-xs"><?=isset($status[$vo['status_code']]) ? $status[$vo['status_code']] : '未知'?></label>
<?php }?>
</td>
<td>
<p>
<a class="btn btn-primary btn-xs" href="<?=Url::toRoute(['carbrand/ajax','id'=>$vo['id'],'do'=>'show'])?>" mini="ajax">显示</a>
<a class="btn btn-default btn-xs" href="<?=Url::toRoute(['carbrand/ajax','id'=>$vo['id'],'do'=>'hide'])?>" mini="ajax">隐藏</a>
</p>
<a class="btn btn-primary btn-xs" href="<?=Url::toRoute(['carbrand/edit','id'=>$vo['id']])?>"><i class="fa fa-edit"></i>编辑</a>
<a title="点击将删除" href="<?=Url::toRoute(['carbrand/delete','id'=>$vo['id']])?>" class="btn btn-xs btn-danger" mini="act"><i class="fa fa-trash bigger-120"></i>删除</a>
</td>
</tr>
<?php endforeach;?>
</tbody>
</table>
<!--分页-->
<div class="f-r">
<?= LinkPager::widget([
'pagination'=>$pager,
'firstPageLabel' => '首页',
'nextPageLabel' => '下一页',
'prevPageLabel' => '上一页',
'lastPageLabel' => '末页',
]) ?>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
+64
View File
@@ -0,0 +1,64 @@
<?php
use yii\helpers\Html;
use yii\helpers\Url;
?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>品牌信息</h5>
<div class="ibox-tools">
<a class="collapse-link">
<i class="fa fa-chevron-up"></i>
</a>
<a class="close-link">
<i class="fa fa-times"></i>
</a>
</div>
</div>
<div class="ibox-content">
<div class="alert alert-info">
此处录入轿车品牌的信息
</div>
<form role="form" class="form-horizontal m-t" method="post" action="<?=Url::toRoute('carbrand/save')?>" >
<input type="hidden" name="_csrf-backend" value="<?=Yii::$app->getRequest()->getCsrfToken();?>" />
<input type="hidden" name="id" value="<?=isset($detail['id'])?$detail['id']:0;?>">
<div class="form-group draggable">
<label class="col-sm-1 control-label">品牌:</label>
<div class="col-sm-9">
<input class="form-control" type="title" name="title" placeholder="品牌名称" autocomplete="off" value="<?=isset($detail['title'])?$detail['title']: ''?>">
</div>
</div>
<div class="form-group draggable">
<label class="col-sm-1 control-label">状态:</label>
<div class="col-sm-9">
<?php foreach($status as $vo=>$ko):?>
<div class="radio radio-primary radio-inline">
<input type="radio" <?=((isset($detail['status_code'])&&$detail['status_code']==$vo)||(!isset($detail['status_code'])&&$vo==1))?'checked':'';?> value="<?=$vo?>" id="status_code" name="status_code">
<label for="status_code"><?=$ko?></label>
</div>
<?php endforeach;?>
</div>
</div>
<div class="hr-line-dashed"></div>
<div class="form-group draggable">
<div class="col-sm-12 col-sm-offset-3">
<button class="btn btn-primary" type="submit">保存内容</button>
<button class="btn btn-white" type="submit">取消</button>
<a class="btn btn-info" href="<?=Url::toRoute('list')?>">全部品牌</a>
</div>
</div>
</form>
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
</div>
+88
View File
@@ -0,0 +1,88 @@
<?php
/**
* @Author: fm453
* @Date: 2018-11-23 12:17:02
* @Last Modified by: fm453
* @Last Modified time: 2020-09-12 19:24:27
* @Email: fm453@lukegzs.com
*/
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
use yii\helpers\Url;
use yii\widgets\LinkPager;
$this->title = '轿车品牌列表';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-content">
<h1><?= Html::encode($this->title) ?></h1>
<div class="row">
<div class="col-sm-3">
<a class="btn btn-info btn-sm" href="<?= Url::toRoute('carbrand/new')?>">新增品牌</a>
</div>
<div class="col-sm-3 pull-right">
<form action="<?=Url::current(['pid' => Yii::$app->session->get('pid')], false);?>" method="post">
<input type="hidden" name="_csrf-backend" value="<?= Yii::$app->getRequest()->getCsrfToken();?>" />
<div class="input-group">
<input class="input-sm form-control" type="text" placeholder="请输入品牌名" name="title" value="<?=$search['title']?>">
<span class="input-group-btn">
<button type="submit" class="btn btn-sm btn-primary"> 搜索</button>
</span>
</div>
</form>
</div>
</div>
<hr>
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>序号</th>
<th>品牌</th>
<th>状态</th>
<th><a class="btn btn-primary btn-xs" onclick="parent.selectCarBrand('','','<?=$callback?>');">清除选择</a></th>
</tr>
</thead>
<tbody>
<?php foreach($brands as $vo):?>
<tr>
<td><?=$vo['id']?></td>
<td><?=$vo['title']?></td>
<td>
<?php if($vo['status_code']==1){?>
<label class="btn btn-info btn-xs"><?=isset($status[$vo['status_code']]) ? $status[$vo['status_code']] : '未知'?></label>
<?php }else{?>
<label class="btn btn-default btn-xs"><?=isset($status[$vo['status_code']]) ? $status[$vo['status_code']] : '未知'?></label>
<?php }?>
</td>
<td>
<a class="btn btn-primary btn-xs" onclick="parent.selectCarBrand('<?=$vo['title']?>','<?=$vo['id']?>','<?=$callback?>');">选择</a>
</td>
</tr>
<?php endforeach;?>
</tbody>
</table>
<!--分页-->
<div class="f-r">
<?= LinkPager::widget([
'pagination'=>$pager,
'firstPageLabel' => '首页',
'nextPageLabel' => '下一页',
'prevPageLabel' => '上一页',
'lastPageLabel' => '末页',
]) ?>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
+60
View File
@@ -0,0 +1,60 @@
<?php
use yii\helpers\Html;
use yii\helpers\Url;
?>
<div class="wrapper wrapper-content animated fadeInRight">
<div class="row">
<div class="col-sm-4"></div>
<div class="col-sm-4">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5 style="margin-right:10px;"><kbd>昵称</kbd><?=isset($detail['nickname'])?$detail['nickname']:'';?> </h5>
<h5 style="margin-right:10px;"><kbd>称谓</kbd><?=isset($detail['title'])?$detail['title']:'';?> </h5>
</div>
<div>
<div class="no-padding border-left-right" style="text-align:center;">
<img alt="image" class="img-responsive" src="<?=isset($detail['thumb'])? Url::base(true)."/../../upload".$detail['thumb']:Yii::getAlias("@web").'/img/nopic.jpg';?>" style="display:inline;border-radius:15px;width:180px;">
</div>
<div class="ibox-content profile-content">
<h4>姓名:<strong><?=isset($detail['realname'])?$detail['realname']:'';?></strong></h4>
<h4>手机号:<strong><?=isset($detail['mobile'])?$detail['mobile']:'';?></strong></h4>
<div class="row m-t-lg">
<div class="col-sm-12">
<h5>
<div class="radio radio-primary radio-inline">
<input name="sex" id="sex" value="2" type="radio" <?php if(isset($detail['gender']) && $detail['gender']==2){echo 'checked';}else{echo '';}?> >
<label> <i></i> 女</label>
</div>
<div class="radio radio-primary radio-inline">
<input name="sex" id="sex" value="1" type="radio" <?php if(isset($detail['gender']) && $detail['gender']==1){echo 'checked';}else{echo '';}?> >
<label> <i></i> 男</label>
</div>
<div class="radio radio-primary radio-inline">
<input name="sex" id="sex" value="0" type="radio" <?php if(isset($detail['gender']) && $detail['gender']==0){echo 'checked';}else{echo '';}?> >
<label> <i></i> 保密</label>
</div>
</h5>
</div>
</div>
<div class="row m-t-lg">
<div class="col-sm-4">
<h5><span class="bar">生日:</span>
<strong><?=isset($detail['birthday'])?date('m-d',$detail['birthday']):'';?></strong> </h5>
</div>
<div class="col-sm-4">
<h5><span class="bar">积分:</span>
<strong><?=isset($detail['integral'])?$detail['integral']:0;?></strong> </h5>
</div>
<div class="col-sm-4">
<h5><span class="bar">余额:</span>
<strong><?=isset($detail['money'])?$detail['money']/100:0;?></strong> 元</h5>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-sm-4"></div>
</div>
</div>
+115
View File
@@ -0,0 +1,115 @@
<?php
/**
* @Author: fm453
* @Date: 2018-11-23 12:17:02
* @Last Modified by: fm453
* @Last Modified time: 2020-09-12 21:20:22
* @Email: fm453@lukegzs.com
*/
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
use yii\helpers\Url;
use yii\widgets\LinkPager;
$this->title = '车主列表';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-content">
<h1><?= Html::encode($this->title) ?></h1>
<div class="row">
<div class="col-sm-3">
<a class="btn btn-info btn-sm" href="<?= Url::toRoute('carowner/new')?>">新增车主</a>
</div>
<div class="col-sm-3 pull-right">
<form action="<?=Url::current(['pid' => Yii::$app->session->get('pid')], false);?>" method="post">
<input type="hidden" name="_csrf-backend" value="<?= Yii::$app->getRequest()->getCsrfToken();?>" />
<div class="input-group">
<input class="input-sm form-control" type="text" placeholder="请输入车主姓名" name="title" value="<?=$search['title']?>">
<span class="input-group-btn">
<button type="submit" class="btn btn-sm btn-primary"> 搜索</button>
</span>
</div>
</form>
</div>
</div>
<hr>
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>序号</th>
<th>网点门店及业务员</th>
<th>姓名</th>
<th>联系方式</th>
<th>备忘</th>
<th>状态</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<?php foreach($owners as $vo):?>
<tr>
<td><?=$vo['id']?></td>
<td>
【网点】<code><?=isset($stores[$vo['store_id']]['title'])?$stores[$vo['store_id']]['title']:'未设置'?></code><br>
【业务员】<?=isset($employees[$vo['employee_id']]['name'])?$employees[$vo['employee_id']]['name']:'未关联'?>
</td>
<td>
<kbd>姓名</kbd><?=isset($exts[$vo['mid']]) ? (isset($exts[$vo['mid']]['realname']) ? $exts[$vo['mid']]['realname'] : '') : ''?><code>【<?=$gender[$vo['gender']]?>】</code><br>
<kbd>昵称</kbd><?=isset($exts[$vo['mid']])?(isset($exts[$vo['mid']]['nickname'])?$exts[$vo['mid']]['nickname']:''):''?><br>
<kbd>称谓</kbd><?=isset($exts[$vo['mid']])?(isset($exts[$vo['mid']]['title'])?$exts[$vo['mid']]['title']:''):''?>
</td>
<td>
【手机】<?=isset($users[$vo['mid']]['mobile'])?$users[$vo['mid']]['mobile']:''?><br>
【常在省份】<?=isset($vo['province']) ? (isset(Yii::$app->params['regionAreas'][$vo['province']])?Yii::$app->params['regionAreas'][$vo['province']]:'') : ''?>
</td>
<td>
【上次发车时间】<?=isset($vo['last_send']) && $vo['last_send']>0 ? date('Y-m-d',$vo['last_send']) : '未记录'?><br>
【上次联系时间】<?=isset($vo['last_contact']) && $vo['last_contact']>0 ? date('Y-m-d',$vo['last_contact']) : '未记录'?><br>
【评分|星级】<?=isset($vo['score']) ? $vo['score'].'分': ''?><?=isset($vo['level']) ? $vo['level'].'级': ''?><br>
</td>
<td>
<?php if($vo['status_code']==1){?>
<a class="btn btn-info btn-xs" href="<?=Url::toRoute(['carowner/ajax','id'=>$vo['id'],'do'=>'hide'])?>" mini="ajax"><?=isset($status[$vo['status_code']]) ? $status[$vo['status_code']] : '未知'?></a>
<?php }else{?>
<a class="btn btn-default btn-xs" href="<?=Url::toRoute(['carowner/ajax','id'=>$vo['id'],'do'=>'show'])?>" mini="ajax"><?=isset($status[$vo['status_code']]) ? $status[$vo['status_code']] : '未知'?></a>
<?php }?>
</td>
<td>
<p>
<a class="btn btn-primary btn-xs" href="<?=Url::toRoute(['carowner/edit','id'=>$vo['id']])?>"><i class="fa fa-edit"></i>编辑</a>
<a title="点击将删除" href="<?=Url::toRoute(['carowner/delete','id'=>$vo['id']])?>" class="btn btn-xs btn-danger" mini="act"><i class="fa fa-trash bigger-120"></i>删除</a>
</p>
<p>
<a class="btn btn-primary btn-xs" href="<?=Url::toRoute(['carowner/info','id'=>$vo['id']])?>" w="30%;" h="90%;" title="用户信息摘要" mini="load"><i class="fa fa-child"></i> 信息摘要</a>
<a class="btn btn-primary btn-xs" href="<?=Url::toRoute(['carowner/msg','id'=>$vo['id']])?>" w="80%;" h="90%;" title="短信营销" mini="load"><i class="fa fa-commenting-o"></i> 短信营销</a>
</p>
</td>
</tr>
<?php endforeach;?>
</tbody>
</table>
<!--分页-->
<div class="f-r">
<?= LinkPager::widget([
'pagination'=>$pager,
'firstPageLabel' => '首页',
'nextPageLabel' => '下一页',
'prevPageLabel' => '上一页',
'lastPageLabel' => '末页',
]) ?>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
+389
View File
@@ -0,0 +1,389 @@
<?php
use yii\helpers\Html;
use yii\helpers\Url;
?>
<!--百度编辑器-->
<?=Html::jsFile('@web/plugins/ueditor/ueditor.config.js')?>
<!--建议手动加在语言,避免在ie下有时因为加载语言失败导致编辑器加载失败-->
<!--这里加载的语言文件会覆盖你在配置项目里添加的语言类型,比如你在配置项目里配置的是英文,这里加载的中文,那最后就是中文-->
<?=Html::jsFile('@web/plugins/ueditor/ueditor.all.min.js')?>
<?=Html::jsFile('@web/plugins/ueditor/lang/zh-cn/zh-cn.js')?>
<!--日期时间选择器-->
<?=Html::jsFile('@web/js/plugins/layer/laydate/laydate.js')?>
<?=Html::cssFile('@web/js/plugins/layer/laydate/need/laydate.css')?>
<?=Html::cssFile('@web/js/plugins/layer/laydate/skins/molv/laydate.css')?>
<!--滑块选择器-->
<?=Html::cssFile('@web/css/plugins/ionRangeSlider/ion.rangeSlider.css')?>
<?=Html::cssFile('@web/css/plugins/ionRangeSlider/ion.rangeSlider.skinFlat.css')?>
<?=Html::jsFile('@web/js/plugins/ionRangeSlider/ion.rangeSlider.min.js')?>
<!--旋扭输入-->
<?=Html::jsFile('@web/js/plugins/jsKnob/jquery.knob.js')?>
<!--下拉选择、选项框-->
<?=Html::cssFile('@web/css/plugins/chosen/chosen.css')?>
<?=Html::jsFile('@web/js/plugins/chosen/chosen.jquery.js')?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>基础资料</h5>
<div class="ibox-tools">
<a class="collapse-link">
<i class="fa fa-chevron-up"></i>
</a>
<a class="close-link">
<i class="fa fa-times"></i>
</a>
</div>
</div>
<div class="ibox-content">
<div class="alert alert-info">
在此处录入车主客户的基础资料,如果是新客户,系统将自动为其新建一份档案;
</div>
<form role="form" class="form-horizontal m-t" method="post" action="<?=Url::toRoute('carowner/save')?>" >
<input type="hidden" name="_csrf-backend" value="<?=Yii::$app->getRequest()->getCsrfToken();?>" />
<input type="hidden" name="id" value="<?=isset($detail['id'])?$detail['id']:0;?>">
<div class="form-group draggable">
<label class="col-sm-1 control-label">姓名:</label>
<div class="col-sm-2">
<input class="form-control" type="text" name="realname" placeholder="请输入客户的姓名" autocomplete="off" value="<?=isset($detail['realname'])?$detail['realname']:'';?>">
<span class="help-block m-b-none">这里输入车主的真实姓名,如果没有则不填</span>
</div>
<label class="col-sm-1 control-label">昵称:</label>
<div class="col-sm-2">
<input class="form-control" type="text" name="nickname" placeholder="请输入客户的昵称" autocomplete="off" value="<?=isset($detail['nickname'])?$detail['nickname']:'';?>">
<span class="help-block m-b-none">这里输入车主的昵称,如<code>板爷</code>、<code>方少</code></span>
</div>
<label class="col-sm-1 control-label">称谓:</label>
<div class="col-sm-3">
<input class="form-control" type="text" name="title" placeholder="请输入客户的称谓" autocomplete="off" value="<?=isset($detail['title'])?$detail['title']:'';?>">
<span class="help-block m-b-none">这里输入车主的称谓,如“马老师”、“李叔”、“王教授”</span>
</div>
</div>
<div class="form-group draggable">
<label class="col-sm-1 control-label"><span class="red">*</span>主手机号:</label>
<div class="col-sm-2">
<input class="form-control" type="text" name="mobile" placeholder="请输入客户的手机号" autocomplete="off" value="<?=isset($detail['mobile'])?$detail['mobile']:'';?>">
<span class="help-block m-b-none">如<code>18608981880</code></span>
</div>
<label class="col-sm-1 control-label">密码框:</label>
<div class="col-sm-2">
<input class="form-control" type="password" name="password" placeholder="请输入密码,可用于平台后期开放的用户端登陆" autocomplete="off" value="<?=isset($detail['password'])?$detail['password']: Yii::$app->params['defaultUserPassword']?>">
<span class="help-block m-b-none">预留功能,如不填写,将默认使用初始密码<code><?=Yii::$app->params['defaultUserPassword']?></code></span>
</div>
<label class="col-sm-1 control-label">性别:</label>
<div class="col-sm-3">
<select class="form-control" name="gender">
<option value="0" <?php if(isset($detail['gender']) && $detail['gender']==0){echo 'selected';}else{echo '';}?>>未知</option>
<option value="1" <?php if(isset($detail['gender']) && $detail['gender']==1){echo 'selected';}else{echo '';}?>>男</option>
<option value="2" <?php if(isset($detail['gender']) && $detail['gender']==2){echo 'selected';}else{echo '';}?>>女</option>
</select>
</div>
</div>
<div class="form-group draggable">
<label class="col-sm-1 control-label">总消费额:</label>
<div class="col-sm-2">
<div class="input-group">
<input type="text" class="form-control" name="total_fee" id="total_fee-value" placeholder="该客户的总消费金额" autocomplete="off" value="<?=isset($detail['total_fee'])?$detail['total_fee']:0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">元</button>
</span>
</div>
</div>
<label class="col-sm-1 control-label">常在省份:</label>
<div class="col-sm-2">
<select data-placeholder="选择省份..." class="form-control chosen-select" tabindex="2" name="province">
<option value="">请选择省份</option>
<?php foreach(Yii::$app->params['regionAreas'] as $key=>$val){?>
<option value="<?=$key?>" hassubinfo="true" <?=isset($detail['province']) && $detail['province']==$key ? 'selected':'';?>><?=$val?></option>
<?php }?>
</select>
</div>
<label class="col-sm-1 control-label">身份证号:</label>
<div class="col-sm-3">
<input type="text" class="form-control" name="idcard" id="idcard-value" placeholder="请输入车主身份证号" autocomplete="off" value="<?=isset($detail['idcard'])?$detail['idcard']:'';?>">
</div>
</div>
<div class="form-group draggable">
<label class="col-sm-1 control-label">评分:</label>
<div class="col-sm-9">
<input id="score" name="score" type="number" value="<?=isset($detail['score'])?($detail['score']>=100?100:$detail['score']):60?>">
</div>
<script>
var score = <?=isset($detail['score'])?($detail['score']>=100?100:$detail['score']):60?>;
score = score < 0 ? 0 : score;
$("#score").ionRangeSlider({
min: 0,
max: 100,
postfix: " 分",
from: score
});
</script>
</div>
<div class="form-group draggable">
<label class="col-sm-1 control-label">星级</label>
<div class="col-sm-9">
<div class="m-r-md inline">
<input type="text" name="level" id="level" value="<?=isset($detail['level'])?$detail['level']:0?>" class="dial m-r-sm" data-fgColor="#ED5565" data-width="85" data-height="85" data-cursor=true data-thickness=.3/>
</div>
<script>
$("#level").knob({
'min':0,
'max':5
});
</script>
<span class="help-block m-b-none">星级范围为0~5,默认为0</span>
</div>
</div>
<div class="form-group draggable">
<label class="col-sm-1 control-label">更多手机号:</label>
<div class="col-sm-9">
<input class="form-control" type="text" name="mobiles" placeholder="请输入其他手机号" autocomplete="off" value="<?=isset($detail['mobiles'])?$detail['mobiles']:'';?>">
<span class="help-block m-b-none">多个手机号时,号码间用逗号(<kbd>,</kbd> )隔开;如<code>18608981880</code><kbd>,</kbd><code>13812345678</code>。</span>
</div>
</div>
<div class="form-group draggable">
<label class="col-sm-1 control-label">车主照片:</label>
<div class="col-sm-9">
<div class="input-group">
<input type="text" class="form-control" name="thumb" id="thumb-value" placeholder="如有车主照片,可上传一张" autocomplete="off" value="<?=isset($detail['thumb'])?$detail['thumb']:'';?>"> <span class="input-group-btn"> <button type="button" class="btn btn-primary" data-id="thumb-value" href="<?= Url::toRoute(['upload/image','multi'=>false,'callback'=>'thumb']);?>" w="80%;" h="90%;" title="选择或上传图片" mini="load">选择图片
</button> </span>
</div>
<!-- <div class="input-group">
<input type="text" class="form-control" name="thumb" id="thumb-value" placeholder="如有车主照片,可上传一张" autocomplete="off"> <span class="input-group-btn"> <button type="button" class="btn btn-primary" onclick="showImageFrame(this);" data-id="thumb-value" data-src="<?= Url::toRoute(['upload/image','multi'=>false]);?>" data-width="80%;" data-height="90%;" data-title="选择或上传图片">选择图片
</button> </span>
</div> -->
<div class="input-group " style="margin-top:.5em;">
<img id="thumb-preview" src="<?=isset($detail['thumb'])? Url::base(true)."/../../upload".$detail['thumb']:Yii::getAlias("@web").'/img/nopic.jpg';?>" onerror="this.src='../img/nopic.jpg'; this.title='图片未找到.'" class="img-responsive img-thumbnail" width="150">
<em class="close" style="position:absolute; top: 0px; right: -14px;" title="删除这张图片" onclick="deleteImage(this)">×</em>
</div>
</div>
</div>
<div class="form-group draggable">
<label class="col-sm-1 control-label"><span class="red">*</span> 归属网点:</label>
<div class="col-sm-4">
<input type="text" class="form-control" name="store_title" id="store-title" value="<?=isset($detail['store_title'])?$detail['store_title']:'';?>" placeholder="点击选择所在网点" autocomplete="off" href="<?=Url::toRoute(['store/select','callback'=>'store']);?>" w="80%;" h="90%;" title="选择所在网点" mini="load">
<input type="hidden" class="form-control" name="store" id="store-value" value="<?=isset($detail['store_id'])?$detail['store_id']:0;?>">
</div>
<script>
function selectStore(title,id,callback)
{
layer.closeAll();
layer.msg('已选择');
$('#'+callback+'-value').val(id);
$('#'+callback+'-title').val(title);
}
</script>
<label class="col-sm-1 control-label">关联员工:</label>
<div class="col-sm-4">
<input type="text" class="form-control" name="employee_title" id="employee-title" value="<?=isset($detail['employee_title'])?$detail['employee_title']:'';?>" placeholder="点击选择该车主的介绍人" autocomplete="off" href="<?=Url::toRoute(['employee/select','callback'=>'employee']);?>" w="80%;" h="90%;" title="选择该车主的介绍人" mini="load">
<input type="hidden" class="form-control" name="employee" id="employee-value" value="<?=isset($detail['employee_id'])?$detail['employee_id']:0;?>">
</div>
<script>
function selectEmployee(title,id,callback)
{
layer.closeAll();
layer.msg('已选择');
$('#'+callback+'-value').val(id);
$('#'+callback+'-title').val(title);
}
</script>
</div>
<div class="form-group draggable">
<label class="col-sm-1 control-label">上次发车时间:</label>
<div class="col-sm-4">
<input class="form-control layer-date" type="text" name="last_send" placeholder="请选择时间" autocomplete="off" onclick="laydate({istime: true, format: 'YYYY-MM-DD'})" value="<?=isset($detail['last_send'])?$detail['last_send']:''?>">
</div>
<label class="col-sm-1 control-label">上次业务联系时间:</label>
<div class="col-sm-4">
<input class="form-control layer-date" type="text" name="last_contact" placeholder="请选择时间" autocomplete="off" onclick="laydate({istime: true, format: 'YYYY-MM-DD'})" value="<?=isset($detail['last_contact'])?$detail['last_contact']:''?>">
</div>
</div>
<div class="form-group draggable">
<label class="col-sm-1 control-label">是否显示:
</label>
<div class="col-sm-9">
<div class="radio radio-primary radio-inline">
<input type="radio" <?=(isset($detail['status_code'])&&$detail['status_code']==1)?'checked':'';?> value="1" id="status_code" name="status_code">
<label for="status_code">是</label>
</div>
<div class="radio radio-primary radio-inline">
<input type="radio" <?=((!isset($detail['status_code']))||isset($detail['status_code'])&&$detail['status_code']==0)?'checked':'';?> value="0" id="status_code" name="status_code">
<label for="status_code">否</label>
</div>
</div>
</div>
<div class="form-group draggable">
<label class="col-sm-1 control-label">备注:</label>
<div class="col-sm-9">
<textarea id="editor" name="editor" style="min-height:300px;"><?=isset($detail['remark'])?$detail['remark']:''?></textarea>
</div>
</div>
<div class="hr-line-dashed"></div>
<div class="form-group draggable">
<div class="col-sm-12 col-sm-offset-3">
<button class="btn btn-primary" type="submit">保存内容</button>
<button class="btn btn-white" type="submit">取消</button>
<a class="btn btn-info" href="<?=Url::toRoute('carowner/list')?>">车主列表</a>
</div>
</div>
</form>
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
function showImageFrame(obj){
//取预设参数
var id,title,width,height,url;
id = $(obj).attr('data-id');
title = $(obj).attr('data-title');
width = $(obj).attr('data-width');
height = $(obj).attr('data-height');
url = $(obj).attr('data-src');
//iframe层
parent.layer.open({
type: 2,
title: title,
shadeClose: true,
shade: 0.8,
area: [width, height],
content: url //iframe的url
});
}
function deleteImage(elm){
$(elm).prev().attr("src", "../img/nopic.jpg");
$(elm).parent().prev().find("input").val("");
parent.layer.msg('图片已删除;您可重新上传');
}
function selectImage(title,path,src,callback)
{
layer.closeAll();
layer.msg('图片已选择');
$('#'+callback+'-value').val(path);
$('#'+callback+'-preview').attr('src',src);
}
</script>
<script type="text/javascript">
//实例化编辑器
//建议使用工厂方法getEditor创建和引用编辑器实例,如果在某个闭包下引用该编辑器,直接调用UE.getEditor('editor')就能拿到相关的实例
var ue = UE.getEditor('editor');
/* 传入参数表,添加到已有参数表里 */
ue.ready(function() {
ue.execCommand('serverparam', {
'siteId': "<?=Yii::$app->params['siteId']?>",
'pid': "<?=Yii::$app->session->get('pid')?>"
});
});
</script>
<script>
laydate.skin('molv');
$(document).ready(function() {
var config = {
".chosen-select": {},
".chosen-select-deselect": {
allow_single_deselect: !0
},
".chosen-select-no-single": {
disable_search_threshold: 10
},
".chosen-select-no-results": {
no_results_text: "Oops, nothing found!"
},
".chosen-select-width": {
width: "95%"
}
};
for (var selector in config) $(selector).chosen(config[selector]);
});
</script>
<style>
.laydate_body .laydate_top{
padding:0;
}
.laydate_body .laydate_ym{
/*margin:0;
padding:5px;*/
}
.laydate_body .laydate_table{
border:0;
border-bottom: 1px solid rgb(204, 204, 204);
}
.laydate_body .laydate_bottom {
border: 0;
margin-bottom: 10px;
}
</style>
<style>
.chosen-container-single .chosen-single{
line-height:30px;
}
</style>
<!-- <script>
laydate(
{elem:"#hello",event:"focus"}
);
var start={
elem:"#start",
format:"YYYY/MM/DD hh:mm:ss",
min:laydate.now(),
max:"2099-06-16 23:59:59",
istime:true,
istoday:false,
choose:function(datas){
end.min=datas;
end.start=datas
}
};
var end={
elem:"#end",
format:"YYYY/MM/DD hh:mm:ss",
min:laydate.now(),
max:"2099-06-16 23:59:59",
istime:true,
istoday:false,
choose:function(datas){
start.max=datas
}
};
laydate(start);
laydate(end);
</script> -->
+67
View File
@@ -0,0 +1,67 @@
<?php
use yii\helpers\Html;
use yii\helpers\Url;
?>
<div class="wrapper wrapper-content animated fadeInRight">
<div class="row">
<div class="col-sm-12"></div>
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5 style="margin-right:10px;"><kbd>昵称</kbd><?=isset($detail['nickname'])?$detail['nickname']:'';?> </h5>
<h5 style="margin-right:10px;"><kbd>称谓</kbd><?=isset($detail['title'])?$detail['title']:'';?> </h5>
</div>
<div>
<div class="no-padding border-left-right" style="text-align:center;">
<img alt="image" class="img-responsive" src="<?=isset($detail['thumb'])? Url::base(true)."/../../upload".$detail['thumb']:Yii::getAlias("@web").'/img/nopic.jpg';?>" style="display:inline;border-radius:15px;width:180px;">
</div>
<div class="ibox-content profile-content">
<h4>姓名:<strong><?=isset($detail['realname'])?$detail['realname']:'';?></strong></h4>
<h4>手机号:<strong><?=isset($detail['mobile'])?$detail['mobile']:'';?></strong></h4>
<div class="row m-t-lg">
<div class="col-sm-12">
<h5>
<div class="radio radio-primary radio-inline">
<input name="sex" id="sex" value="2" type="radio" <?php if(isset($detail['gender']) && $detail['gender']==2){echo 'checked';}else{echo '';}?> >
<label> <i></i> 女</label>
</div>
<div class="radio radio-primary radio-inline">
<input name="sex" id="sex" value="1" type="radio" <?php if(isset($detail['gender']) && $detail['gender']==1){echo 'checked';}else{echo '';}?> >
<label> <i></i> 男</label>
</div>
<div class="radio radio-primary radio-inline">
<input name="sex" id="sex" value="0" type="radio" <?php if(isset($detail['gender']) && $detail['gender']==0){echo 'checked';}else{echo '';}?> >
<label> <i></i> 保密</label>
</div>
</h5>
</div>
</div>
<div class="row m-t-lg">
<div class="col-sm-4">
<h5><span class="bar">生日:</span>
<strong><?=isset($detail['birthday'])?date('m-d',$detail['birthday']):'';?></strong> </h5>
</div>
<div class="col-sm-4">
<h5><span class="bar">积分:</span>
<strong><?=isset($detail['integral'])?$detail['integral']:0;?></strong> </h5>
</div>
<div class="col-sm-4">
<h5><span class="bar">余额:</span>
<strong><?=isset($detail['money'])?$detail['money']/100:0;?></strong> 元</h5>
</div>
</div>
<div class="hr-line-dashed"></div>
<div class="row m-t-lg">
<div class="col-sm-12">
<a title="发送验证码" href="<?=Url::toRoute(['carowner/msg','op'=>'send','opp'=>'vcode','id'=>$id])?>" class="btn btn-xs btn-danger" mini="act"><i class="fa fa-commenting-o bigger-120"></i>发送验证码</a>
<a title="生日祝福" href="<?=Url::toRoute(['carowner/msg','op'=>'send','opp'=>'birthday','id'=>$id])?>" class="btn btn-xs btn-success" mini="act"><i class="fa fa-commenting-o bigger-120"></i>生日祝福</a>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-sm-4"></div>
</div>
</div>
+108
View File
@@ -0,0 +1,108 @@
<?php
/**
* @Author: fm453
* @Date: 2018-11-23 12:17:02
* @Last Modified by: fm453
* @Last Modified time: 2020-09-12 21:22:14
* @Email: fm453@lukegzs.com
*/
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
use yii\helpers\Url;
use yii\widgets\LinkPager;
$this->title = '车主列表';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-content">
<h1><?= Html::encode($this->title) ?></h1>
<div class="row">
<div class="col-sm-3">
<a class="btn btn-info btn-sm" href="<?= Url::toRoute('carowner/new')?>">新增车主</a>
</div>
<div class="col-sm-3 pull-right">
<form action="<?=Url::current(['pid' => Yii::$app->session->get('pid')], false);?>" method="post">
<input type="hidden" name="_csrf-backend" value="<?= Yii::$app->getRequest()->getCsrfToken();?>" />
<div class="input-group">
<input class="input-sm form-control" type="text" placeholder="请输入车主姓名" name="title" value="<?=$search['title']?>">
<span class="input-group-btn">
<button type="submit" class="btn btn-sm btn-primary"> 搜索</button>
</span>
</div>
</form>
</div>
</div>
<hr>
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>序号</th>
<th>网点门店及业务员</th>
<th>姓名</th>
<th>联系方式</th>
<th>备忘</th>
<th>状态</th>
<th><a class="btn btn-primary btn-xs" onclick="parent.selectCarOwner('','','<?=$callback?>');">清除选择</a></th>
</tr>
</thead>
<tbody>
<?php foreach($owners as $vo):?>
<tr>
<td><?=$vo['id']?></td>
<td>
【网点】<code><?=isset($stores[$vo['store_id']]['title'])?$stores[$vo['store_id']]['title']:'未设置'?></code><br>
【业务员】<?=isset($employees[$vo['employee_id']]['name'])?$employees[$vo['employee_id']]['name']:'未关联'?>
</td>
<td>
<kbd>姓名</kbd><?=isset($exts[$vo['mid']]) ? (isset($exts[$vo['mid']]['realname']) ? $exts[$vo['mid']]['realname'] : '') : ''?><code>【<?=$gender[$vo['gender']]?>】</code><br>
<kbd>昵称</kbd><?=isset($exts[$vo['mid']])?(isset($exts[$vo['mid']]['nickname'])?$exts[$vo['mid']]['nickname']:''):''?><br>
<kbd>称谓</kbd><?=isset($exts[$vo['mid']])?(isset($exts[$vo['mid']]['title'])?$exts[$vo['mid']]['title']:''):''?>
</td>
<td>
【手机】<?=$users[$vo['mid']]['mobile']?><br>
【常在省份】<?=isset($vo['province']) ? (isset(Yii::$app->params['regionAreas'][$vo['province']])?Yii::$app->params['regionAreas'][$vo['province']]:'') : ''?>
</td>
<td>
【上次发车时间】<?=isset($vo['last_send']) && $vo['last_send']>0 ? date('Y-m-d',$vo['last_send']) : '未记录'?><br>
【上次联系时间】<?=isset($vo['last_contact']) && $vo['last_contact']>0 ? date('Y-m-d',$vo['last_contact']) : '未记录'?><br>
【评分|星级】<?=isset($vo['score']) ? $vo['score'].'分': ''?><?=isset($vo['level']) ? $vo['level'].'级': ''?><br>
</td>
<td>
<?php if($vo['status_code']==1){?>
<label class="btn btn-info btn-xs"><?=$status[$vo['status_code']]?></label>
<?php }else{?>
<label class="btn btn-default btn-xs"><?=$status[$vo['status_code']]?></label>
<?php }?>
</td>
<td>
<a class="btn btn-primary btn-xs" onclick="parent.selectCarOwner('<?=isset($exts[$vo['mid']]) ? (isset($exts[$vo['mid']]['realname']) ? $exts[$vo['mid']]['realname'] : '') : ''?>','<?=$vo['id']?>','<?=$callback?>');">选择</a>
</td>
</tr>
<?php endforeach;?>
</tbody>
</table>
<!--分页-->
<div class="f-r">
<?= LinkPager::widget([
'pagination'=>$pager,
'firstPageLabel' => '首页',
'nextPageLabel' => '下一页',
'prevPageLabel' => '上一页',
'lastPageLabel' => '末页',
]) ?>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
+114
View File
@@ -0,0 +1,114 @@
<?php
/**
* @Author: fm453
* @Date: 2018-11-23 12:17:02
* @Last Modified by: fm453
* @Last Modified time: 2020-12-13 09:47:52
* @Email: fm453@lukegzs.com
*/
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
use yii\helpers\Url;
use yii\widgets\LinkPager;
$this->title = '车型列表';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-content">
<h1><?= Html::encode($this->title) ?></h1>
<div class="row">
<div class="col-sm-3">
<a class="btn btn-info btn-sm" href="<?= Url::toRoute('carseries/new')?>">新增车型</a>
</div>
<form action="<?=Url::current(['pid' => Yii::$app->session->get('pid')], false);?>" method="post">
<input type="hidden" name="_csrf-backend" value="<?= Yii::$app->getRequest()->getCsrfToken();?>" />
<div class="col-sm-3 pull-right">
<div class="input-group">
<input class="input-sm form-control" type="text" placeholder="请输入车型名称" name="search[title]" value="<?=$search['title']?>">
<span class="input-group-btn">
<button type="submit" class="btn btn-sm btn-primary"> 搜索</button>
</span>
</div>
</div>
<div class="col-sm-3 pull-right">
<div class="input-group">
<input class="input-sm form-control" type="text" placeholder="点击按品牌筛选" name="search[brand]" id="brand-title" value="<?=$search['brand']?>" autocomplete="off" href="<?=Url::toRoute(['carbrand/select','callback'=>'brand']);?>" w="80%;" h="90%;" title="选择品牌车型" mini="load">
<span class="input-group-btn">
<button type="submit" class="btn btn-sm btn-primary"> 筛选</button>
</span>
</div>
<input type="hidden" name="search[brand_id]" id="brand-value" value="<?=$search['brand_id']?>" />
<script>
function selectCarBrand(title,id,callback)
{
layer.closeAll();
layer.msg('已选择');
$('#'+callback+'-value').val(id);
$('#'+callback+'-title').val(title);
}
</script>
</div>
</form>
</div>
<hr>
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>序号</th>
<th>车品牌</th>
<th>型号</th>
<th>状态</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<?php foreach($series as $vo):?>
<tr>
<td><?=$vo['id']?></td>
<td>【<code><?=isset($brands[$vo['brand_id']]['title'])?$brands[$vo['brand_id']]['title']:'未设置'?></code>】</td>
<td><?=$vo['title']?></td>
<td>
<?php if($vo['status_code']==1){?>
<label class="btn btn-info btn-xs"><?=isset($status[$vo['status_code']]) ? $status[$vo['status_code']] : '未知'?></label>
<?php }else{?>
<label class="btn btn-default btn-xs"><?=isset($status[$vo['status_code']]) ? $status[$vo['status_code']] : '未知'?></label>
<?php }?>
</td>
<td>
<p>
<a class="btn btn-primary btn-xs" href="<?=Url::toRoute(['carseries/ajax','id'=>$vo['id'],'do'=>'show'])?>" mini="ajax">显示</a>
<a class="btn btn-default btn-xs" href="<?=Url::toRoute(['carseries/ajax','id'=>$vo['id'],'do'=>'hide'])?>" mini="ajax">隐藏</a>
</p>
<a class="btn btn-primary btn-xs" href="<?=Url::toRoute(['carseries/edit','id'=>$vo['id']])?>"><i class="fa fa-edit"></i>编辑</a>
<a title="点击将删除" href="<?=Url::toRoute(['carseries/delete','id'=>$vo['id']])?>" class="btn btn-xs btn-danger" mini="act"><i class="fa fa-trash bigger-120"></i>删除</a>
</td>
</tr>
<?php endforeach;?>
</tbody>
</table>
<!--分页-->
<div class="f-r">
<?= LinkPager::widget([
'pagination'=>$pager,
'firstPageLabel' => '首页',
'nextPageLabel' => '下一页',
'prevPageLabel' => '上一页',
'lastPageLabel' => '末页',
]) ?>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
+127
View File
@@ -0,0 +1,127 @@
<?php
use yii\helpers\Html;
use yii\helpers\Url;
?>
<!--下拉选择、选项框-->
<?=Html::cssFile('@web/css/plugins/chosen/chosen.css')?>
<?=Html::jsFile('@web/js/plugins/chosen/chosen.jquery.js')?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>车型资料</h5>
<div class="ibox-tools">
<a class="collapse-link">
<i class="fa fa-chevron-up"></i>
</a>
<a class="close-link">
<i class="fa fa-times"></i>
</a>
</div>
</div>
<div class="ibox-content">
<div class="alert alert-info">
此处录入车辆车型的参数资料
</div>
<form role="form" class="form-horizontal m-t" method="post" action="<?=Url::toRoute('carseries/save')?>" >
<input type="hidden" name="_csrf-backend" value="<?=Yii::$app->getRequest()->getCsrfToken();?>" />
<input type="hidden" name="id" value="<?=isset($detail['id'])?$detail['id']:0;?>">
<div class="form-group draggable">
<label class="col-sm-1 control-label">选择品牌:</label>
<div class="col-sm-4">
<input type="text" class="form-control" name="brand_title" id="brand-title" value="<?=isset($detail['brand_title'])?$detail['brand_title']:'';?>" placeholder="点击选择品牌" autocomplete="off" href="<?=Url::toRoute(['carbrand/select','callback'=>'brand']);?>" w="80%;" h="90%;" title="选择品牌车型" mini="load">
<input type="hidden" class="form-control" name="brand_id" id="brand-value" value="<?=isset($detail['brand_id'])?$detail['brand_id']:0;?>">
</div>
<script>
function selectCarBrand(title,id,callback)
{
layer.closeAll();
layer.msg('已选择');
$('#'+callback+'-value').val(id);
$('#'+callback+'-title').val(title);
}
</script>
<label class="col-sm-1 control-label">车型名称:</label>
<div class="col-sm-4">
<input class="form-control" type="title" name="title" placeholder="车型名称" autocomplete="off" value="<?=isset($detail['title'])?$detail['title']: ''?>">
</div>
</div>
<div class="form-group draggable">
<label class="col-sm-1 control-label">车型参数:</label>
<div class="col-sm-10">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">长</button>
</span>
<input class="form-control" type="text" name="p[length]" placeholder="输入数字" autocomplete="off" value="<?=isset($params['length'])?$params['length']: 0?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info">厘米</button>
</span>
<span class="input-group-btn">
<button type="button" class="btn btn-primary">宽</button>
</span>
<input class="form-control" type="text" name="p[width]" placeholder="输入数字" autocomplete="off" value="<?=isset($params['width'])?$params['width']: 0?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info">厘米</button>
</span>
<span class="input-group-btn">
<button type="button" class="btn btn-primary">高</button>
</span>
<input class="form-control" type="text" name="p[height]" placeholder="输入数字" autocomplete="off" value="<?=isset($params['height'])?$params['height']: 0?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info">厘米</button>
</span>
<span class="input-group-btn">
<button type="button" class="btn btn-primary">净重</button>
</span>
<input class="form-control" type="text" name="p[kg]" placeholder="输入数字" autocomplete="off" value="<?=isset($params['kg'])?$params['kg']: 0?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info">Kg</button>
</span>
<span class="input-group-btn">
<button type="button" class="btn btn-primary">厢型</button>
</span>
<input class="form-control" type="text" name="p[seat]" placeholder="输入数字" autocomplete="off" value="<?=isset($params['seat'])?$params['seat']: 0?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info">座</button>
</span>
</div>
</div>
</div>
<div class="form-group draggable">
<label class="col-sm-1 control-label">车型状态:</label>
<div class="col-sm-9">
<?php foreach($status as $vo=>$ko):?>
<div class="radio radio-primary radio-inline">
<input type="radio" <?=((isset($detail['status_code'])&&$detail['status_code']==$vo)||(!isset($detail['status_code'])&&$vo==1))?'checked':'';?> value="<?=$vo?>" id="status_code" name="status_code">
<label for="status_code"><?=$ko?></label>
</div>
<?php endforeach;?>
</div>
</div>
<div class="hr-line-dashed"></div>
<div class="form-group draggable">
<div class="col-sm-12 col-sm-offset-3">
<button class="btn btn-primary" type="submit">保存内容</button>
<button class="btn btn-white" type="submit">取消</button>
<a class="btn btn-info" href="<?=Url::toRoute('list')?>">全部车型</a>
</div>
</div>
</form>
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
</div>
+109
View File
@@ -0,0 +1,109 @@
<?php
/**
* @Author: fm453
* @Date: 2018-11-23 12:17:02
* @Last Modified by: fm453
* @Last Modified time: 2020-12-13 10:49:31
* @Email: fm453@lukegzs.com
*/
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
use yii\helpers\Url;
use yii\widgets\LinkPager;
$this->title = '品牌车型列表';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-content">
<h1><?= Html::encode($this->title) ?></h1>
<div class="row">
<div class="col-sm-3">
<a class="btn btn-info btn-sm" href="<?= Url::toRoute('carseries/new')?>">新增车型</a>
</div>
<form action="<?=Url::current(['pid' => Yii::$app->session->get('pid')], false);?>" method="post">
<input type="hidden" name="_csrf-backend" value="<?= Yii::$app->getRequest()->getCsrfToken();?>" />
<div class="col-sm-3 pull-right">
<div class="input-group">
<input class="input-sm form-control" type="text" placeholder="请输入车型名称" name="search[title]" value="<?=$search['title']?>">
<span class="input-group-btn">
<button type="submit" class="btn btn-sm btn-primary"> 搜索</button>
</span>
</div>
</div>
<div class="col-sm-3 pull-right">
<div class="input-group">
<input class="input-sm form-control" type="text" placeholder="点击按品牌筛选" name="search[brand]" id="brand-title" value="<?=$search['brand']?>" autocomplete="off" href="<?=Url::toRoute(['carbrand/select','callback'=>'brand']);?>" w="80%;" h="90%;" title="选择品牌车型" mini="load">
<span class="input-group-btn">
<button type="submit" class="btn btn-sm btn-primary"> 筛选</button>
</span>
</div>
<input type="hidden" name="search[brand_id]" id="brand-value" value="<?=$search['brand_id']?>" />
<script>
function selectCarBrand(title,id,callback)
{
layer.closeAll();
layer.msg('已选择');
$('#'+callback+'-value').val(id);
$('#'+callback+'-title').val(title);
}
</script>
</div>
</form>
</div>
<hr>
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>序号</th>
<th>车品牌</th>
<th>型号</th>
<th>状态</th>
<th><a class="btn btn-primary btn-xs" onclick="parent.selectCarSeries('','','','<?=$callback?>');">清除选择</a></th>
</tr>
</thead>
<tbody>
<?php foreach($series as $vo):?>
<tr>
<td><?=$vo['id']?></td>
<td>【<code><?=isset($brands[$vo['brand_id']]['title'])?$brands[$vo['brand_id']]['title']:'未设置'?></code>】</td>
<td><?=$vo['title']?></td>
<td>
<?php if($vo['status_code']==1){?>
<label class="btn btn-info btn-xs"><?=isset($status[$vo['status_code']]) ? $status[$vo['status_code']] : '未知'?></label>
<?php }else{?>
<label class="btn btn-default btn-xs"><?=isset($status[$vo['status_code']]) ? $status[$vo['status_code']] : '未知'?></label>
<?php }?>
</td>
<td>
<a class="btn btn-primary btn-xs" onclick="parent.selectCarSeries('<?=isset($brands[$vo['brand_id']]['title'])?$brands[$vo['brand_id']]['title']:''?><?=$vo['title']?>','<?=$vo['id']?>','<?=$vo['brand_id']?>','<?=$callback?>');">选择</a>
</td>
</tr>
<?php endforeach;?>
</tbody>
</table>
<!--分页-->
<div class="f-r">
<?= LinkPager::widget([
'pagination'=>$pager,
'firstPageLabel' => '首页',
'nextPageLabel' => '下一页',
'prevPageLabel' => '上一页',
'lastPageLabel' => '末页',
]) ?>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
+82
View File
@@ -0,0 +1,82 @@
<?php
use yii\helpers\Html;
use yii\helpers\Url;
use yii\bootstrap\ActiveForm;
use yii\widgets\LinkPager;
$this->title = '城市列表';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-xs-12">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>搜索</h5>
</div>
<div class="ibox-content">
<div class="row">
<div class="table-responsive">
<form class="form-search" method="get" action="<?=Url::current(['pid' => Yii::$app->session->get('pid')], false);?>" role="form">
<input type="hidden" name="_csrf-backend" value="<?= Yii::$app->getRequest()->getCsrfToken();?>" />
<div class="form-group draggable">
<div class="col-sm-5">
<div class="input-group">
<input type="text" class="form-control" name="title" value="<?=isset($search['title']) ? $search['title']:''?>" placeholder="输入城市名称;支持模糊检索" autocomplete="off">
<span class="input-group-btn"> <button type="button" class="btn btn-primary">搜索
</button> </span>
<span class="hidden input-group-btn"> <a class="btn btn-info" href="<?=Url::toRoute('city/new')?>" target="_blank">去新增一个
</a> </span>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h1><?= Html::encode($this->title) ?></h1>
</div>
<div class="ibox-content">
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>ID</th>
<th>城市</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<?php foreach($citys as $vo):?>
<tr>
<td><?=$vo['id']?></td>
<td><?=$vo['name']?></td>
<td>
<a onclick="parent.selectCity('<?=$vo['name']?>','<?=$vo['id']?>','<?=$callback?>');" href="javascript:void(0);" class="btn btn-xs btn-info">选择</a>
</td>
</tr>
<?php endforeach;?>
</tbody>
</table>
<!--分页-->
<div class="f-r">
<?= LinkPager::widget([
'pagination'=>$pager,
'firstPageLabel' => '首页',
'nextPageLabel' => '下一页',
'prevPageLabel' => '上一页',
'lastPageLabel' => '末页',
]) ?>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
+95
View File
@@ -0,0 +1,95 @@
<?php
/**
* @Author: fm453
* @Date: 2018-11-23 12:17:02
* @Last Modified by: fm453
* @Last Modified time: 2020-12-13 10:23:44
* @Email: fm453@lukegzs.com
*/
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
use yii\helpers\Url;
use yii\widgets\LinkPager;
$this->title = '通讯簿';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-content">
<h1><?= Html::encode($this->title) ?></h1>
<div class="row">
<div class="col-sm-3">
<a class="btn btn-info btn-sm" href="<?= Url::toRoute('contact/new')?>">新增通讯名单</a>
</div>
<div class="col-sm-5 pull-right">
<form action="<?=Url::current(['pid' => Yii::$app->session->get('pid')], false);?>" method="post">
<input type="hidden" name="_csrf-backend" value="<?= Yii::$app->getRequest()->getCsrfToken();?>" />
<div class="input-group">
<input class="input-sm form-control" type="text" placeholder="姓名或手机号" name="search[title]" value="<?=$search['title']?>">
<span class="input-group-btn">
<button type="submit" class="btn btn-sm btn-primary"> 搜索</button>
</span>
</div>
</form>
</div>
</div>
<hr>
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>序号</th>
<th>单位</th>
<th>姓名</th>
<th>手机</th>
<th>状态</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<?php foreach($contactors as $vo):?>
<tr>
<td><?=$vo['id']?></td>
<td><?=$vo['company']?></td>
<td><?=$vo['name']?></td>
<td><?=$vo['mobile']?></td>
<td>
<?php if($vo['status_code']==1){?>
<a class="btn btn-info btn-xs" href="<?=Url::toRoute(['contact/ajax','id'=>$vo['id'],'do'=>'out'])?>" mini="ajax"><?=$status[$vo['status_code']]?></a>
<?php }elseif($vo['status_code']==0){?>
<a class="btn btn-default btn-xs" href="<?=Url::toRoute(['contact/ajax','id'=>$vo['id'],'do'=>'in'])?>" mini="ajax"><?=$status[$vo['status_code']]?></a>
<?php }else{?>
<button class="btn btn-success btn-xs"><?=$status[$vo['status_code']]?></button>
<?php }?>
</td>
<td>
<a class="btn btn-primary btn-xs" href="<?=Url::toRoute(['contact/edit','id'=>$vo['id']])?>"><i class="fa fa-edit"></i>编辑</a>
<a title="点击将删除" href="<?=Url::toRoute(['contact/delete','id'=>$vo['id']])?>" class="btn btn-xs btn-danger" mini="act"><i class="fa fa-trash bigger-120"></i>删除</a>
</td>
</tr>
<?php endforeach;?>
</tbody>
</table>
<!--分页-->
<div class="f-r">
<?= LinkPager::widget([
'pagination'=>$pager,
'firstPageLabel' => '首页',
'nextPageLabel' => '下一页',
'prevPageLabel' => '上一页',
'lastPageLabel' => '末页',
]) ?>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
+92
View File
@@ -0,0 +1,92 @@
<?php
use yii\helpers\Html;
use yii\helpers\Url;
?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>通讯录管理</h5>
<div class="ibox-tools">
<a class="collapse-link">
<i class="fa fa-chevron-up"></i>
</a>
<a class="close-link">
<i class="fa fa-times"></i>
</a>
</div>
</div>
<div class="ibox-content">
<div class="alert alert-info">
此处录入通讯信息
</div>
<form class="form-horizontal m-t" method="post" action="<?=Url::toRoute('contact/save')?>" role="form">
<input type="hidden" name="_csrf-backend" value="<?=Yii::$app->getRequest()->getCsrfToken();?>" />
<input type="hidden" name="id" value="<?=isset($detail['id'])?$detail['id']:0;?>">
<div class="form-group draggable">
<label class="col-sm-1 control-label"><span class="red">*</span> 姓名:</label>
<div class="col-sm-2">
<input class="form-control" type="text" name="name" value="<?=isset($detail['name'])?$detail['name']:'';?>" placeholder="请输入姓名" autocomplete="off">
</div>
<label class="col-sm-1 control-label"><span class="red">*</span> 手机号:</label>
<div class="col-sm-2">
<input class="form-control" type="text" name="mobile" value="<?=isset($detail['mobile'])?$detail['mobile']:'';?>" placeholder="请输入手机号码" autocomplete="off">
</div>
<label class="col-sm-1 control-label"> 身份证号:</label>
<div class="col-sm-3">
<input class="form-control" type="text" name="idcard" value="<?=isset($detail['idcard'])?$detail['idcard']:'';?>" placeholder="请输入身份证号码" autocomplete="off">
</div>
</div>
<div class="form-group draggable">
<label class="col-sm-1 control-label"> 所在单位:</label>
<div class="col-sm-3">
<input class="form-control" type="text" name="company" value="<?=isset($detail['company'])?$detail['company']:'';?>" placeholder="请输入单位名称" autocomplete="off">
</div>
</div>
<div class="form-group draggable">
<label class="col-sm-1 control-label">是否显示:
</label>
<div class="col-sm-9">
<label class="radio-inline">
<input type="radio" <?=(isset($detail['status_code'])&&$detail['status_code']==1)?'checked':'';?> value="1" id="status_code1" name="status_code">是</label>
<label class="radio-inline">
<input type="radio" <?=((!isset($detail['status_code']))||isset($detail['status_code'])&&$detail['status_code']==0)?'checked':'';?> value="0" id="status_code2" name="status_code">否</label>
</div>
</div>
<div class="form-group draggable">
<label class="col-sm-1 control-label">是否删除:
</label>
<div class="col-sm-9">
<label class="radio-inline">
<input type="radio" <?=(isset($detail['deleted'])&&$detail['deleted']==1)?'checked':'';?> value="1" id="deleted1" name="deleted">是</label>
<label class="radio-inline">
<input type="radio" <?=((!isset($detail['deleted']))||isset($detail['deleted'])&&$detail['deleted']==0)?'checked':'';?> value="0" id="deleted2" name="deleted">否</label>
</div>
</div>
<div class="hr-line-dashed"></div>
<div class="form-group draggable">
<div class="col-sm-12 col-sm-offset-3">
<button class="btn btn-primary" type="submit">保存</button>
<button class="btn btn-white" type="reset">清空</button>
<a class="btn btn-white" href="<?=Yii::$app->request->referrer?>">取消并返回</a>
<a class="btn btn-info" href="<?=Url::toRoute('contact/list')?>">全部名单</a>
</div>
</div>
</form>
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
</div>
+84
View File
@@ -0,0 +1,84 @@
<?php
/**
* @Author: fm453
* @Date: 2018-11-23 12:17:02
* @Last Modified by: fm453
* @Last Modified time: 2020-12-13 10:24:49
* @Email: fm453@lukegzs.com
*/
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
use yii\helpers\Url;
use yii\widgets\LinkPager;
$this->title = '通讯簿';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-content">
<h1><?= Html::encode($this->title) ?></h1>
<div class="row">
<div class="col-sm-3">
<a class="btn btn-info btn-sm" href="<?= Url::toRoute('contact/new')?>">新增通讯名单</a>
</div>
<div class="col-sm-5 pull-right">
<form action="<?=Url::current(['pid' => Yii::$app->session->get('pid')], false);?>" method="post">
<input type="hidden" name="_csrf-backend" value="<?= Yii::$app->getRequest()->getCsrfToken();?>" />
<div class="input-group">
<input class="input-sm form-control" type="text" placeholder="姓名或手机号" name="search[title]" value="<?=$search['title']?>">
<span class="input-group-btn">
<button type="submit" class="btn btn-sm btn-primary"> 搜索</button>
</span>
</div>
</form>
</div>
</div>
<hr>
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>序号</th>
<th>单位</th>
<th>姓名</th>
<th>手机</th>
<th><a class="btn btn-primary btn-xs" onclick="parent.selectContactor('','','','','<?=$callback?>');">全选</a></th>
</tr>
</thead>
<tbody>
<?php foreach($contactors as $vo):?>
<tr>
<td><?=$vo['id']?></td>
<td><?=$vo['company']?></td>
<td><?=$vo['name']?></td>
<td><?=$vo['mobile']?></td>
<td>
<a class="btn btn-primary btn-xs" onclick="parent.selectContactor('<?=$vo['company']?>','<?=$vo['name']?>','<?=$vo['mobile']?>','<?=$vo['idcard']?>','<?=$vo['id']?>','<?=$callback?>');">选择</a>
</td>
</tr>
<?php endforeach;?>
</tbody>
</table>
<!--分页-->
<div class="f-r">
<?= LinkPager::widget([
'pagination'=>$pager,
'firstPageLabel' => '首页',
'nextPageLabel' => '下一页',
'prevPageLabel' => '上一页',
'lastPageLabel' => '末页',
]) ?>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
+93
View File
@@ -0,0 +1,93 @@
<?php
/**
* @Author: fm453
* @Date: 2018-11-23 12:17:02
* @Last Modified by: fm453
* @Last Modified time: 2021-07-23 23:59:37
* @Email: fm453@lukegzs.com
*/
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
use yii\helpers\Url;
use yii\widgets\LinkPager;
$this->title = '司机列表';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-content">
<h1><?= Html::encode($this->title) ?></h1>
<div class="row">
<div class="col-sm-3">
<a class="btn btn-info btn-sm" href="<?= Url::toRoute('driver/new')?>">新增司机</a>
</div>
<div class="col-sm-3 pull-right">
<form action="<?=Url::current(['pid' => Yii::$app->session->get('pid')], false);?>" method="post">
<input type="hidden" name="_csrf-backend" value="<?= Yii::$app->getRequest()->getCsrfToken();?>" />
<div class="input-group">
<input class="input-sm form-control" type="text" placeholder="请输入司机姓名" name="title" value="<?=$search['title']?>">
<span class="input-group-btn">
<button type="submit" class="btn btn-sm btn-primary"> 搜索</button>
</span>
</div>
</form>
</div>
</div>
<hr>
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>序号</th>
<th>姓名</th>
<th>手机</th>
<th>状态</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<?php foreach($drivers as $vo):?>
<tr>
<td><?=$vo['id']?></td>
<td><?=$vo['name']?></td>
<td><?=$vo['mobile']?></td>
<td>
<?php if($vo['status_code']==1){?>
<a class="btn btn-info btn-xs" href="<?=Url::toRoute(['driver/ajax','id'=>$vo['id'],'do'=>'out'])?>" mini="ajax"><?=$status[$vo['status_code']]?></a>
<?php }elseif($vo['status_code']==0){?>
<a class="btn btn-default btn-xs" href="<?=Url::toRoute(['driver/ajax','id'=>$vo['id'],'do'=>'in'])?>" mini="ajax"><?=$status[$vo['status_code']]?></a>
<?php }else{?>
<button class="btn btn-success btn-xs"><?=$status[$vo['status_code']]?></button>
<?php }?>
</td>
<td>
<a class="btn btn-primary btn-xs" href="<?=Url::toRoute(['driver/edit','id'=>$vo['id']])?>"><i class="fa fa-edit"></i>编辑</a>
<a title="点击将删除" href="<?=Url::toRoute(['driver/delete','id'=>$vo['id']])?>" class="btn btn-xs btn-danger" mini="act"><i class="fa fa-trash bigger-120"></i>删除</a>
</td>
</tr>
<?php endforeach;?>
</tbody>
</table>
<!--分页-->
<div class="f-r">
<?= LinkPager::widget([
'pagination'=>$pager,
'firstPageLabel' => '首页',
'nextPageLabel' => '下一页',
'prevPageLabel' => '上一页',
'lastPageLabel' => '末页',
]) ?>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
+91
View File
@@ -0,0 +1,91 @@
<?php
use yii\helpers\Html;
use yii\helpers\Url;
?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>司机管理</h5>
<div class="ibox-tools">
<a class="collapse-link">
<i class="fa fa-chevron-up"></i>
</a>
<a class="close-link">
<i class="fa fa-times"></i>
</a>
</div>
</div>
<div class="ibox-content">
<div class="alert alert-info">
此处录入板车司机资料
</div>
<form class="form-horizontal m-t" method="post" action="<?=Url::toRoute('driver/save')?>" role="form">
<input type="hidden" name="_csrf-backend" value="<?=Yii::$app->getRequest()->getCsrfToken();?>" />
<input type="hidden" name="id" value="<?=isset($detail['id'])?$detail['id']:0;?>">
<div class="form-group draggable">
<label class="col-sm-1 control-label"><span class="red">*</span> 姓名:</label>
<div class="col-sm-2">
<input class="form-control" type="text" name="name" value="<?=isset($detail['name'])?$detail['name']:'';?>" placeholder="请输入司机姓名" autocomplete="off">
</div>
<label class="col-sm-1 control-label"><span class="red">*</span> 手机号:</label>
<div class="col-sm-2">
<input class="form-control" type="text" name="mobile" value="<?=isset($detail['mobile'])?$detail['mobile']:'';?>" placeholder="请输入手机号码" autocomplete="off">
</div>
<label class="col-sm-1 control-label"> 身份证号:</label>
<div class="col-sm-3">
<input class="form-control" type="text" name="idcard" value="<?=isset($detail['idcard'])?$detail['idcard']:'';?>" placeholder="请输入身份证号码" autocomplete="off">
</div>
</div>
<div class="form-group draggable">
<label class="col-sm-1 control-label">在职状态:
</label>
<div class="col-sm-5">
<label class="radio-inline">
<input type="radio" <?=(isset($detail['status_code'])&&$detail['status_code']==1)?'checked':'';?> value="1" id="status_code1" name="status_code">是</label>
<label class="radio-inline">
<input type="radio" <?=((!isset($detail['status_code']))||isset($detail['status_code'])&&$detail['status_code']==0)?'checked':'';?> value="0" id="status_code2" name="status_code">否</label>
<label class="radio-inline">
<input type="radio" <?=(isset($detail['status_code'])&&$detail['status_code']==2)?'checked':'';?> value="2" id="status_code2" name="status_code">外援</label>
</div>
<label class="col-sm-1 control-label">排序:</label>
<div class="col-sm-2">
<input class="form-control" type="text" name="order_by" placeholder="" autocomplete="off" value="<?=isset($detail['order_by'])?$detail['order_by']: ''?>">
</div>
</div>
<div class="form-group draggable">
<label class="col-sm-1 control-label">是否删除:
</label>
<div class="col-sm-9">
<label class="radio-inline">
<input type="radio" <?=(isset($detail['deleted'])&&$detail['deleted']==1)?'checked':'';?> value="1" id="deleted1" name="deleted">是</label>
<label class="radio-inline">
<input type="radio" <?=((!isset($detail['deleted']))||isset($detail['deleted'])&&$detail['deleted']==0)?'checked':'';?> value="0" id="deleted2" name="deleted">否</label>
</div>
</div>
<div class="hr-line-dashed"></div>
<div class="form-group draggable">
<div class="col-sm-12 col-sm-offset-3">
<button class="btn btn-primary" type="submit">保存</button>
<button class="btn btn-white" type="reset">清空</button>
<a class="btn btn-white" href="<?=Yii::$app->request->referrer?>">取消并返回</a>
<a class="btn btn-info" href="<?=Url::toRoute('driver/list')?>">全部司机</a>
</div>
</div>
</form>
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
</div>
+92
View File
@@ -0,0 +1,92 @@
<?php
/**
* @Author: fm453
* @Date: 2018-11-23 12:17:02
* @Last Modified by: fm453
* @Last Modified time: 2020-09-12 22:36:33
* @Email: fm453@lukegzs.com
*/
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
use yii\helpers\Url;
use yii\widgets\LinkPager;
$this->title = '司机列表';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-content">
<h1><?= Html::encode($this->title) ?></h1>
<div class="row">
<div class="col-sm-3">
<a class="btn btn-info btn-sm" href="<?= Url::toRoute('driver/new')?>">新增司机</a>
</div>
<div class="col-sm-3 pull-right">
<form action="<?=Url::current(['pid' => Yii::$app->session->get('pid')], false);?>" method="post">
<input type="hidden" name="_csrf-backend" value="<?= Yii::$app->getRequest()->getCsrfToken();?>" />
<div class="input-group">
<input class="input-sm form-control" type="text" placeholder="请输入司机姓名" name="title" value="<?=$search['title']?>">
<span class="input-group-btn">
<button type="submit" class="btn btn-sm btn-primary"> 搜索</button>
</span>
</div>
</form>
</div>
</div>
<hr>
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>序号</th>
<th>姓名</th>
<th>手机</th>
<th>状态</th>
<th><a class="btn btn-primary btn-xs" onclick="parent.selectDriver('已清空','','<?=$callback?>');">全选</a></th>
</tr>
</thead>
<tbody>
<?php foreach($drivers as $vo):?>
<tr>
<td><?=$vo['id']?></td>
<td><?=$vo['name']?></td>
<td><?=$vo['mobile']?></td>
<td>
<?php if($vo['status_code']==1){?>
<label class="btn btn-info btn-xs"><?=$status[$vo['status_code']]?></label>
<?php }elseif($vo['status_code']==0){?>
<a class="btn btn-default btn-xs" href="<?=Url::toRoute(['driver/ajax','id'=>$vo['id'],'do'=>'in'])?>" mini="ajax"><?=$status[$vo['status_code']]?></a>
<?php }else{?>
<button class="btn btn-success btn-xs"><?=$status[$vo['status_code']]?></button>
<?php }?>
</td>
<td>
<a class="btn btn-primary btn-xs" onclick="parent.selectDriver('<?=$vo['name']?>','<?=$vo['id']?>','<?=$callback?>');">选择</a>
</td>
</tr>
<?php endforeach;?>
</tbody>
</table>
<!--分页-->
<div class="f-r">
<?= LinkPager::widget([
'pagination'=>$pager,
'firstPageLabel' => '首页',
'nextPageLabel' => '下一页',
'prevPageLabel' => '上一页',
'lastPageLabel' => '末页',
]) ?>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
+96
View File
@@ -0,0 +1,96 @@
<?php
/**
* @Author: fm453
* @Date: 2018-11-23 12:17:02
* @Last Modified by: fm453
* @Last Modified time: 2020-09-12 22:36:43
* @Email: fm453@lukegzs.com
*/
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
use yii\helpers\Url;
use yii\widgets\LinkPager;
$this->title = '员工列表';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-content">
<h1><?= Html::encode($this->title) ?></h1>
<div class="row">
<div class="col-sm-3">
<a class="btn btn-info btn-sm" href="<?= Url::toRoute('employee/new')?>">新增员工</a>
</div>
<div class="col-sm-3 pull-right">
<form action="<?=Url::current(['pid' => Yii::$app->session->get('pid')], false);?>" method="post">
<input type="hidden" name="_csrf-backend" value="<?= Yii::$app->getRequest()->getCsrfToken();?>" />
<div class="input-group">
<input class="input-sm form-control" type="text" placeholder="请输入员工姓名" name="title" value="<?=$search['title']?>">
<span class="input-group-btn">
<button type="submit" class="btn btn-sm btn-primary"> 搜索</button>
</span>
</div>
</form>
</div>
</div>
<hr>
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>序号</th>
<th>网点门店</th>
<th>姓名</th>
<th>手机</th>
<th>性别</th>
<th>状态</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<?php foreach($employees as $vo):?>
<tr>
<td><?=$vo['id']?></td>
<td>【<code><?=isset($stores[$vo['store_id']]['title'])?$stores[$vo['store_id']]['title']:'未设置'?></code>】</td>
<td><?=$vo['name']?></td>
<td><?=$vo['mobile']?></td>
<td><?=$gender[$vo['gender']]?></td>
<td>
<?php if($vo['status']==1){?>
<a class="btn btn-info btn-xs" href="<?=Url::toRoute(['employee/ajax','id'=>$vo['id'],'do'=>'out'])?>" mini="ajax"><?=$status[$vo['status']]?></a>
<?php }else{?>
<a class="btn btn-default btn-xs" href="<?=Url::toRoute(['employee/ajax','id'=>$vo['id'],'do'=>'in'])?>" mini="ajax"><?=$status[$vo['status']]?></a>
<?php }?>
</td>
<td>
<a class="btn btn-primary btn-xs" href="<?=Url::toRoute(['employee/edit','id'=>$vo['id']])?>"><i class="fa fa-edit"></i>编辑</a>
<a class="btn btn-info btn-xs" href="<?=Url::toRoute(['order/list','employee_id'=>$vo['id']])?>"> 经手运单</a>
<a title="点击将删除" href="<?=Url::toRoute(['employee/delete','id'=>$vo['id']])?>" class="btn btn-xs btn-danger" mini="act"><i class="fa fa-trash bigger-120"></i>删除</a>
</td>
</tr>
<?php endforeach;?>
</tbody>
</table>
<!--分页-->
<div class="f-r">
<?= LinkPager::widget([
'pagination'=>$pager,
'firstPageLabel' => '首页',
'nextPageLabel' => '下一页',
'prevPageLabel' => '上一页',
'lastPageLabel' => '末页',
]) ?>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
+176
View File
@@ -0,0 +1,176 @@
<?php
use yii\helpers\Html;
use yii\helpers\Url;
?>
<!--百度编辑器-->
<?=Html::jsFile('@web/plugins/ueditor/ueditor.config.js')?>
<!--建议手动加在语言,避免在ie下有时因为加载语言失败导致编辑器加载失败-->
<!--这里加载的语言文件会覆盖你在配置项目里添加的语言类型,比如你在配置项目里配置的是英文,这里加载的中文,那最后就是中文-->
<?=Html::jsFile('@web/plugins/ueditor/ueditor.all.min.js')?>
<?=Html::jsFile('@web/plugins/ueditor/lang/zh-cn/zh-cn.js')?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>员工管理</h5>
<div class="ibox-tools">
<a class="collapse-link">
<i class="fa fa-chevron-up"></i>
</a>
<a class="close-link">
<i class="fa fa-times"></i>
</a>
</div>
</div>
<div class="ibox-content">
<div class="alert alert-info">
此处录入各网点/门店/办事处/分公司的员工资料
</div>
<form class="form-horizontal m-t" method="post" action="<?=Url::toRoute('employee/save')?>" role="form">
<input type="hidden" name="_csrf-backend" value="<?=Yii::$app->getRequest()->getCsrfToken();?>" />
<input type="hidden" name="id" value="<?=isset($detail['id'])?$detail['id']:0;?>">
<div class="form-group draggable">
<label class="col-sm-1 control-label"><span class="red">*</span> 姓名:</label>
<div class="col-sm-2">
<input class="form-control" type="text" name="name" value="<?=isset($detail['name'])?$detail['name']:'';?>" placeholder="请输入员工姓名" autocomplete="off">
</div>
<label class="col-sm-1 control-label"><span class="red">*</span> 手机号:</label>
<div class="col-sm-2">
<input class="form-control" type="text" name="mobile" value="<?=isset($detail['mobile'])?$detail['mobile']:'';?>" placeholder="请输入手机号码" autocomplete="off">
</div>
<label class="col-sm-1 control-label"><span class="red">*</span> 性别:</label>
<div class="col-sm-2">
<select class="form-control" name="gender">
<option value="0" <?php if(isset($detail['gender']) && $detail['gender']==0){echo 'selected';}else{echo '';}?>>未知</option>
<option value="1" <?php if(isset($detail['gender']) && $detail['gender']==1){echo 'selected';}else{echo '';}?>>男</option>
<option value="2" <?php if(isset($detail['gender']) && $detail['gender']==2){echo 'selected';}else{echo '';}?>>女</option>
</select>
</div>
</div>
<div class="form-group draggable">
<label class="col-sm-1 control-label"><span class="red">*</span> 对应网点:</label>
<div class="col-sm-9">
<input type="text" class="form-control" name="store_title" id="store-title" value="<?=isset($detail['store_title'])?$detail['store_title']:'';?>" placeholder="点击选择所在网点" autocomplete="off" href="<?=Url::toRoute(['store/select','callback'=>'store']);?>" w="80%;" h="90%;" title="选择所在网点" mini="load">
<input type="hidden" class="form-control" name="store" id="store-value" value="<?=isset($detail['store_id'])?$detail['store_id']:0;?>">
</div>
<script>
function selectStore(title,id,callback)
{
layer.closeAll();
layer.msg('已选择');
$('#'+callback+'-value').val(id);
$('#'+callback+'-title').val(title);
}
</script>
</div>
<div class="form-group draggable">
<label class="col-sm-1 control-label">备注:</label>
<div class="col-sm-9">
<textarea id="editor" name="editor" style="min-height:300px;"><?=isset($detail['remark'])?$detail['remark']:''?></textarea>
<script type="text/javascript">
//实例化编辑器
//建议使用工厂方法getEditor创建和引用编辑器实例,如果在某个闭包下引用该编辑器,直接调用UE.getEditor('editor')就能拿到相关的实例
var ue = UE.getEditor('editor');
/* 传入参数表,添加到已有参数表里 */
ue.ready(function() {
ue.execCommand('serverparam', {
'siteId': "<?=Yii::$app->params['siteId']?>",
'pid': "<?=Yii::$app->session->get('pid')?>",
'attachSrc': "<?=Yii::$app->params['attachSrc']?>",
'attachDir': "<?=Yii::$app->params['attachDir']?>"
});
});
</script>
</div>
</div>
<div class="form-group draggable">
<label class="col-sm-1 control-label">排序:</label>
<div class="col-sm-2">
<input class="form-control" type="text" name="order_by" placeholder="" autocomplete="off" value="<?=isset($detail['order_by'])?$detail['order_by']: ''?>">
</div>
</div>
<div class="form-group draggable">
<label class="col-sm-1 control-label">是否在职:
</label>
<div class="col-sm-9">
<label class="radio-inline">
<input type="radio" <?=(isset($detail['status'])&&$detail['status']==1)?'checked':'';?> value="1" id="status1" name="status">是</label>
<label class="radio-inline">
<input type="radio" <?=((!isset($detail['status']))||isset($detail['status'])&&$detail['status']==0)?'checked':'';?> value="0" id="status2" name="status">否</label>
</div>
</div>
<div class="form-group draggable">
<label class="col-sm-1 control-label">是否删除:
</label>
<div class="col-sm-9">
<label class="radio-inline">
<input type="radio" <?=(isset($detail['deleted'])&&$detail['deleted']==1)?'checked':'';?> value="1" id="deleted1" name="deleted">是</label>
<label class="radio-inline">
<input type="radio" <?=((!isset($detail['deleted']))||isset($detail['deleted'])&&$detail['deleted']==0)?'checked':'';?> value="0" id="deleted2" name="deleted">否</label>
</div>
</div>
<div class="hr-line-dashed"></div>
<div class="form-group draggable">
<div class="col-sm-12 col-sm-offset-3">
<button class="btn btn-primary" type="submit">保存</button>
<button class="btn btn-white" type="reset">清空</button>
<a class="btn btn-white" href="<?=Yii::$app->request->referrer?>">取消并返回</a>
<a class="btn btn-info" href="<?=Url::toRoute('employee/list')?>">全部员工</a>
</div>
</div>
</form>
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
function showImageFrame(obj){
//取预设参数
var id,title,width,height,url;
id = $(obj).attr('data-id');
title = $(obj).attr('data-title');
width = $(obj).attr('data-width');
height = $(obj).attr('data-height');
url = $(obj).attr('data-src');
//iframe层
parent.layer.open({
type: 2,
title: title,
shadeClose: true,
shade: 0.8,
area: [width, height],
content: url //iframe的url
});
}
function deleteImage(elm){
$(elm).prev().attr("src", "../img/nopic.jpg");
$(elm).parent().prev().find("input").val("");
parent.layer.msg('图片已删除;您可重新上传');
}
function selectImage(title,path,src,callback)
{
layer.closeAll();
layer.msg('图片已选择');
$('#'+callback+'-value').val(path);
$('#'+callback+'-preview').attr('src',src);
}
</script>
+94
View File
@@ -0,0 +1,94 @@
<?php
/**
* @Author: fm453
* @Date: 2018-11-23 12:17:02
* @Last Modified by: fm453
* @Last Modified time: 2020-09-12 22:36:48
* @Email: fm453@lukegzs.com
*/
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
use yii\helpers\Url;
use yii\widgets\LinkPager;
$this->title = '员工列表';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-content">
<h1><?= Html::encode($this->title) ?></h1>
<div class="row">
<div class="col-sm-3">
<a class="btn btn-info btn-sm" href="<?= Url::toRoute('employee/new')?>">新增员工</a>
</div>
<div class="col-sm-3 pull-right">
<form action="<?=Url::current(['pid' => Yii::$app->session->get('pid')], false);?>" method="post">
<input type="hidden" name="_csrf-backend" value="<?= Yii::$app->getRequest()->getCsrfToken();?>" />
<div class="input-group">
<input class="input-sm form-control" type="text" placeholder="请输入员工姓名" name="title" value="<?=$search['title']?>">
<span class="input-group-btn">
<button type="submit" class="btn btn-sm btn-primary"> 搜索</button>
</span>
</div>
</form>
</div>
</div>
<hr>
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>序号</th>
<th>网点门店</th>
<th>姓名</th>
<th>手机</th>
<th>性别</th>
<th>状态</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<?php foreach($employees as $vo):?>
<tr>
<td><?=$vo['id']?></td>
<td>【<code><?=isset($stores[$vo['store_id']]['title'])?$stores[$vo['store_id']]['title']:'未设置'?></code>】</td>
<td><?=$vo['name']?></td>
<td><?=$vo['mobile']?></td>
<td><?=$gender[$vo['gender']]?></td>
<td>
<?php if($vo['status']==1){?>
<label class="btn btn-info btn-xs"><?=$status[$vo['status']]?></label>
<?php }else{?>
<label class="btn btn-default btn-xs"><?=$status[$vo['status']]?></label>
<?php }?>
</td>
<td>
<a class="btn btn-primary btn-xs" onclick="parent.selectEmployee('<?=$vo['name']?>','<?=$vo['id']?>','<?=$callback?>');">选择</a>
</td>
</tr>
<?php endforeach;?>
</tbody>
</table>
<!--分页-->
<div class="f-r">
<?= LinkPager::widget([
'pagination'=>$pager,
'firstPageLabel' => '首页',
'nextPageLabel' => '下一页',
'prevPageLabel' => '上一页',
'lastPageLabel' => '末页',
]) ?>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
+90
View File
@@ -0,0 +1,90 @@
<?php
# @Author: 嗨噜客科技(www.hiluker.cn) <fm453>
# @Date: 1970-01-01T08:00:00+08:00
# @Email: fm453@hiluker.com
# @Last modified by: fm453
# @Last modified time: 2021-09-15T17:48:03+08:00
use yii\helpers\Html;
use yii\helpers\Url;
$this->title = isset($title) ? $title : '提示';
?>
<div class="site-error">
<div style="text-align: center;">
<h1>温馨提示</h1><br>
</div>
<h4 style="margin: 10px auto;text-align: center;background-color: #1ab394; color: #ffffff;width: 90%;line-height: 50px;border-radius: 5px;"><i class="fa fa-spinner fa-spin"></i> 系统已记录您的操作请求,敬请稍候。为了便于工程师进行检查,烦请您对您发现的情况尽可能准确地说明告知,感谢您的反馈……</h4>
<form role="form" class="form-horizontal m-t" action="" method="post">
<input name="_csrf" type="hidden" id="_csrf" value="<?= Yii::$app->request->csrfToken ?>">
<input name="code" type="hidden" id="code" value="<?= isset($code) ? $code : 0 ?>">
<div class="form-group draggable">
<label class="col-sm-2 control-label"><i class="fa fa-spin" style="color:#f00;">*</i>出错页面:</label>
<div class="col-sm-9">
<input class="form-control" type="text" name="url" placeholder="当前报错页面的网址" autocomplete="off" value="<?= Html::encode($url) ?>">
<span class="help-block m-b-none">页面网址由系统自动获取,您也可以直接填入修改</span>
</div>
</div>
<div class="form-group draggable">
<label class="col-sm-2 control-label">错误描述:</label>
<div class="col-sm-9">
<textarea class="form-control" type="text" name="desc" placeholder="请描述一下您遇到的问题,比如在什么情况下出现的,出错时您正在操作页面的什么东西,等" autocomplete="off"><?php if(isset($data['desc'])){?><?= Html::encode($data['desc']) ?><?php }?></textarea>
<span class="help-block m-b-none">您描述的越详细、清楚,越有利于工程师排查问题</span>
</div>
</div>
<div class="form-group draggable">
<label class="col-sm-2 control-label">您的称谓:</label>
<div class="col-sm-9">
<input class="form-control" type="text" name="name" placeholder="怎么称呼您呢?" value="<?php if(isset($data['name'])){?><?= Html::encode($data['name']) ?><?php }?>">
</div>
</div>
<div class="form-group draggable">
<label class="col-sm-2 control-label">联系方式:</label>
<div class="col-sm-9">
<input class="form-control" type="text" name="mobile" placeholder="请输入您的手机号,以便工程师与您联系咨询" value="<?php if(isset($data['mobile'])){?><?= Html::encode($data['mobile']) ?><?php }?>">
</div>
</div>
<div class="form-group draggable">
<label class="col-sm-2 control-label">QQ:</label>
<div class="col-sm-9">
<input class="form-control" type="text" name="QQ" placeholder="请输入您的QQ号,以便工程师与您联系咨询" value="<?php if(isset($data['QQ'])){?><?= Html::encode($data['QQ']) ?><?php }?>">
</div>
</div>
<div class="form-group draggable">
<label class="col-sm-2 control-label">微信:</label>
<div class="col-sm-9">
<input class="form-control" type="text" name="wechat" placeholder="请输入您的微信号,以便工程师与您联系咨询" value="<?php if(isset($data['wechat'])){?><?= Html::encode($data['wechat']) ?><?php }?>">
</div>
</div>
<div class="form-group draggable">
<label class="col-sm-2 control-label">反馈时间:</label>
<div class="col-sm-9">
<p class="form-control-static"><?php if(isset($data['time'])){?><?= Html::encode($data['time']) ?><?php }else{echo date('Y-m-d h:i');}?></p>
</div>
</div>
<div class="form-group draggable">
<label class="col-sm-2 control-label">接收通知:</label>
<div class="col-sm-9">
<label class="radio-inline">
<input type="radio" value="1" <?php if(isset($data['is_notice']) && $data['is_notice']==1){?> checked="true" <?php }?> id="optionsRadios1" name="is_notice">问题解决后,请联系我</label>
<label class="radio-inline">
<input type="radio" <?php if(isset($data['is_notice']) && $data['is_notice']==0){?> checked="true" <?php }?> value="0" id="optionsRadios2" name="is_notice">我不需要接收该报错的解决结果通知</label>
</div>
</div>
<div class="hr-line-dashed"></div>
<div class="form-group draggable">
<div class="col-sm-12 col-sm-offset-3">
<button class="btn btn-primary" type="submit">反馈</button>
<button class="btn btn-white" type="button">取消</button>
</div>
</div>
</form>
<div class="alert alert-info alert-dismissible fade in" role="alert">
<button type="button" class="close" data-dismiss="alert">×</button>
<h4>您还可以扫描工程师客服微信直接反馈(遇忙时,工程师可能无法快速响应,请耐心等待);申请添加好友时请备注“运车系统反馈”
</h4>
<div style="text-align: center;"><img class="img-round" src="<?=Yii::getAlias('@web')?>/img/fm-qrcode.jpg" width="230px" height="230px"></div>
</div>
</div>
</div>
+179
View File
@@ -0,0 +1,179 @@
<?php
use yii\helpers\Html;
use yii\helpers\Url;
?>
<!--下拉选择、选项框-->
<?=Html::cssFile('@web/css/plugins/chosen/chosen.css')?>
<?=Html::jsFile('@web/js/plugins/chosen/chosen.jquery.js')?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>单据审核<code> 请财务人员务必仔细核实、正确操作 </code></h5>
</div>
<div class="ibox-content">
<form role="form" class="form-horizontal m-t" method="post" action="<?=Url::toRoute('feeorder/caiwusave')?>" >
<input type="hidden" name="_csrf-backend" value="<?=Yii::$app->getRequest()->getCsrfToken();?>" />
<input type="hidden" name="id" value="<?=isset($detail['id'])?$detail['id']:0;?>">
<?php if(isset($detail['is_chonghong']) && $detail['is_chonghong'] == 1){ ?>
<div class="form-group">
<label class="col-sm-1 control-label"></label>
<div class="col-sm-7">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary"><span class="red">*</span> ¥冲红金额</button>
</span>
<input class="form-control" type="number" name="money1" id="money1" autocomplete="off" value="<?=isset($detail['money1'])?$detail['money1']:0;?>" style="text-align: right;">
<span class="input-group-btn">
<button type="button" class="btn btn-default">元</button>
</span>
<input class="form-control" type="number" name="money2" id="money2" autocomplete="off" value="<?=isset($detail['money2'])?$detail['money2']:0;?>" style="text-align: right;">
<span class="input-group-btn">
<button type="button" class="btn btn-default">角</button>
</span>
<input class="form-control" type="number" name="money3" id="money3" autocomplete="off" value="<?=isset($detail['money3'])?$detail['money3']:0;?>" style="text-align: right;">
<span class="input-group-btn">
<button type="button" class="btn btn-default">分</button>
</span>
</div>
<span class="help-block m-b-none">此处填写的是冲红时会抵消的金额;</span>
</div>
</div>
<?php }?>
<div class="form-group">
<label class="col-sm-2 control-label"><span class="red"> * </span>支付发生地:
</label>
<div class="col-sm-9">
<div class="radio radio-primary radio-inline">
<input type="radio" <?=(isset($detail['is_pay_receive'])&&$detail['is_pay_receive']==1)?'checked':'';?> value="1" id="is_pay_receive1" name="is_pay_receive">
<label for="is_pay_receive">在目的地</label>
</div>
<div class="radio radio-primary radio-inline">
<input type="radio" <?=((!isset($detail['is_pay_receive']))||isset($detail['is_pay_receive'])&&$detail['is_pay_receive']==0)?'checked':'';?> value="0" id="is_pay_receive0" name="is_pay_receive">
<label for="is_pay_receive">不在目的地</label>
</div>
<div class="radio radio-primary radio-inline">
<input type="radio" <?=(isset($detail['is_pay_send'])&&$detail['is_pay_send']==1)?'checked':'';?> value="1" id="is_pay_send1" name="is_pay_send">
<label for="is_pay_send">在起运地</label>
</div>
<div class="radio radio-primary radio-inline">
<input type="radio" <?=((!isset($detail['is_pay_send']))||isset($detail['is_pay_send'])&&$detail['is_pay_send']==0)?'checked':'';?> value="0" id="is_pay_send0" name="is_pay_send">
<label for="is_pay_send">不在起运地</label>
</div>
<span class="help-block"><code>支付发生地</code>指该笔支付是由起运地还是目的地发起,或者该笔收入是由起运地还是目的地业务人员经办;<b>不可同时选中“<kbd>在目的地</kbd>”及"<kbd>在起运地</kbd>"</b></span>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">批复备注:</label>
<div class="col-sm-9">
<textarea class="form-control" col="3" length="1000" name="logs" id="logs"></textarea>
<span class="help-block m-b-none red">有必要的情况下,可在此对该笔费用做审核批复;</span>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">操作历史:</label>
<div class="col-sm-9">
<span class="help-block"><?=isset($detail['logs'])?$detail['logs']:''?></span>
</div>
</div>
<div class="alert alert-success">
财务操作验证码(每个验证码的有效期为120分钟,有效期内可无限使用;过期后需要重新获取),必须填写
</div>
<div class="form-group">
<label class="col-sm-1 control-label"><span class="red">*</span> 验证码:</label>
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-danger" title="获取验证码" onclick="getVcode(this)">获取</button>
</span>
<input class="form-control" type="text" autocomplete="off" value="" name="vcode" id="vcode" required="required" placeholder="请输入财务验证码">
</div>
</div>
</div>
<script type="text/javascript" charset="utf-8">
var vt;
function vcodeTime(o,t){
if(t>0){
t -= 1;
$(o).html(t+'s');
vt = setTimeout(function(){
vcodeTime(o,t);
},1000);
}else{
clearTimeout(vt);
$(o).html('再次获取');
}
}
function getVcode(obj){
vcodeTime(obj,30); //如果发送失败,30秒后可重新获取
var url = "<?= Url::toRoute(['sms/vcode','multi'=>false,'op'=>'caiwu']);?>";
var postdata = {};
$.post(url, postdata, function (res) {
if(res.errorcode>0){
layer.msg(res.msg);
}else{
layer.msg(res.msg);
}
}, 'json');
}
</script>
<div class="hr-line-dashed"></div>
<div class="form-group">
<div class="col-sm-12 col-sm-offset-3">
<?php if(isset($detail['create_by']) && $detail['create_by'] != Yii::$app->user->identity->id){ ?>
<button class="btn btn-white" mini="submit" type="button">该运单不是您创建的</button>
<?php }?>
<?php if(isset($detail['is_chonghong']) && $detail['is_chonghong'] == 1){ ?>
<input class="btn btn-danger" mini="submit2" type="submit" value="确认冲红" name="agree-2" data-toggle="tooltip" data-placement="top" title="冲红后相应的票据财务项目会被还原">
<?php }else{ ?>
<input class="btn btn-primary" mini="submit2" type="submit" value="确认入账" name="agree1" data-toggle="tooltip" data-placement="top" title="确认入账后,相应的财务数据(如运单收入、成本支出等)会被修改到对应的项目">
<input class="btn btn-info" mini="submit2" type="submit" value="仅确认但不入账" name="agree99" data-toggle="tooltip" data-placement="top" title="确认但不入账,适用于做收支备忘但不需要修改运单账目的情况下">
<?php if(isset($detail['status_code']) && $detail['status_code'] == 2){ ?>
<a class="btn btn-danger" href="<?=Url::toRoute(['feeorder/finishch','id'=>$detail['id']])?>" data-toggle="tooltip" data-placement="top" title="结束冲红后,该费用单据即行确认冲红结束,不可再被冲红" mini="act">结束冲红</a>
<?php }?>
<?php }?>
<input class="btn btn-warning" mini="submit" type="button" value="驳回" name="disagree">
</div>
</div>
</form>
<div class="hr-line-dashed"></div>
<div class="alert alert-warning">
所有费用明细单一经财务确认(不管是否入账),均不能再被修改;如果确有填单错误的,请新建相应冲红费用单
</div>
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
</div>
<script>
$(document).ready(function() {
var config = {
".chosen-select": {},
".chosen-select-deselect": {
allow_single_deselect: !0
},
".chosen-select-no-single": {
disable_search_threshold: 10
},
".chosen-select-no-results": {
no_results_text: "Oops, nothing found!"
},
".chosen-select-width": {
width: "95%"
}
};
for (var selector in config) $(selector).chosen(config[selector]);
});
</script>
+314
View File
@@ -0,0 +1,314 @@
<?php
use yii\helpers\Html;
use yii\helpers\Url;
use yii\widgets\LinkPager;
?>
<!--下拉选择、选项框-->
<?=Html::cssFile('@web/css/plugins/chosen/chosen.css')?>
<?=Html::jsFile('@web/js/plugins/chosen/chosen.jquery.js')?>
<style>
.table-border > td{
border:1px #bbb solid;
}
.table-border{
border:1px solid #ddd;
}
</style>
<!--日期时间选择器-->
<?=Html::jsFile('@web/js/plugins/layer/laydate/laydate.js')?>
<?=Html::cssFile('@web/js/plugins/layer/laydate/need/laydate.css')?>
<?=Html::cssFile('@web/js/plugins/layer/laydate/skins/molv/laydate.css')?>
<style>
.laydate_body .laydate_top{
padding:0;
}
.laydate_body .laydate_ym{
/*margin:0;
padding:5px;*/
}
.laydate_body .laydate_table{
border:0;
border-bottom: 1px solid rgb(204, 204, 204);
}
.laydate_body .laydate_bottom {
border: 0;
margin-bottom: 10px;
}
</style>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-title"><h5>原单据的关联冲红申请</h5> <span class="pull-right">费用单当前金额为: <code><?=isset($detail['money1'])?$detail['money1']:0;?></code><kbd>元</kbd> <code><?=isset($detail['money2'])?$detail['money2']:0;?></code><kbd>角</kbd> <code><?=isset($detail['money3'])?$detail['money3']:0;?></code><kbd>分</kbd></span></div>
<div class="ibox-content">
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>序号</th>
<th>冲红金额</th>
<th>备注</th>
<th>状态</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<?php foreach($list as $vo):?>
<tr>
<td><?=$vo['id']?></td>
<td>
<?php if(isset($vo['fee']) && $vo['fee']<0){ ?>
<label class="label label-danger"><stron><large><?=isset($vo['fee']) ? round($vo['fee']/100,2):0?></large></stron></label> 元<br>
<?php }else{?>
<label class="label label-success"><stron><large><?=isset($vo['fee']) ? round($vo['fee']/100,2):0?></large></stron></label> 元<br>
<?php }?>
</td>
<td>
<?=$vo['logs']?>
</td>
<td>
<?php if($vo['status_code']<=0){?>
<label class="btn btn-default btn-xs"><?=$status[$vo['status_code']]?></label>
<?php }else{?>
<label class="btn btn-info btn-xs"><?=$status[$vo['status_code']]?></label>
<?php }?>
</td>
<td>
<p>
<a class="btn btn-danger btn-xs" href="<?=Url::toRoute(['feeorder/delete','id'=>$vo['id']])?>" mini="act"><i class="fa fa-trash"></i> 删除</a>
<a class="btn btn-success btn-xs" href="<?=Url::toRoute(['feeorder/caiwu','id'=>$vo['id']])?>" w="70%;" h="80%;" title="财务审核" mini="load">财务审核</a>
</p>
</td>
</tr>
<?php endforeach;?>
<tr>
<td>
原单据总被冲红金额为:<code><?=isset($detail['totalCh'])?round($detail['totalCh']/100,2):0;?></code><kbd>元</kbd>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="ibox-title">
<h5>新增费用单冲红<code>请仔细核对填写内容,避免出错!</code></h5>
<div class="ibox-tools">
<a class="collapse-link">
<i class="fa fa-chevron-up"></i>
</a>
<a class="close-link">
<i class="fa fa-times"></i>
</a>
</div>
</div>
<div class="ibox-content">
<form role="form" class="form-horizontal m-t" method="post" action="<?=Url::toRoute('feeorder/chonghongsave')?>" >
<input type="hidden" name="_csrf-backend" value="<?=Yii::$app->getRequest()->getCsrfToken();?>" />
<input type="hidden" name="chonghong_id" value="<?=isset($detail['chonghong_id'])?$detail['chonghong_id']:0;?>">
<div class="alert alert-warning">
所有费用明细单一经财务确认(不管是否入账),均不能再被修改;请认真检查后再提交
</div>
<div class="form-group">
<label class="col-sm-1 control-label"><span class="red">*</span> 支付人:</label>
<div class="col-sm-3">
<input class="form-control" type="text" name="pay_from" placeholder="请输入支付方的名称" autocomplete="off" value="<?=isset($detail['pay_from'])?$detail['pay_from']:'';?>" readonly disabled="disabled">
<span class="help-block m-b-none">(限10个汉字以内)</span>
</div>
<label class="col-sm-1 control-label"><span class="red">*</span> 收款人:</label>
<div class="col-sm-3">
<input class="form-control" type="text" name="pay_to" placeholder="请输入收款人的姓名" autocomplete="off" value="<?=isset($detail['pay_to'])?$detail['pay_to']:'';?>" readonly disabled="disabled">
<span class="help-block m-b-none">(限10个汉字以内)</span>
</div>
<label class="col-sm-1 control-label"><span class="red">*</span> 付款日期:</label>
<div class="col-sm-3">
<input class="form-control layer-date" type="text" name="pay_at" placeholder="请选择日期" autocomplete="off" onclick="laydate({istime: false, format: 'YYYY-MM-DD'})" value="<?=isset($detail['pay_at'])?date('Y-m-d',$detail['pay_at']):''?>" readonly disabled="disabled">
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">支付信息:</label>
<div class="col-sm-5">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">付款方式</button>
</span>
<select data-placeholder="选择..." class="form-control chosen-select" name="paytype" readonly disabled="disabled">
<option value="">请选择</option>
<?php foreach($paytypes as $key=>$val){?>
<option value="<?=$key?>" hassubinfo="true" <?=isset($detail['paytype']) && $detail['paytype']==$key ? 'selected':'';?>><?=$val?></option>
<?php }?>
</select>
</div>
</div>
<div class="col-sm-6">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">流水号</button>
</span>
<input class="form-control" type="text" name="sn" placeholder="如有,请填写,便于财务核实" autocomplete="off" value="<?=isset($detail['sn'])?$detail['sn']:'';?>" readonly disabled="disabled">
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label"></label>
<div class="col-sm-7">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary"><span class="red">*</span> ¥冲红金额</button>
</span>
<?php if(isset($detail['fee'])){?>
<?php if($detail['fee']<0){?>
<span class="input-group-btn">
<button type="button" class="btn btn-danger">支出</button>
</span>
<?php }elseif($detail['fee']>0){?>
<span class="input-group-btn">
<button type="button" class="btn btn-success">收入</button>
</span>
<?php }}?>
<input class="form-control" type="number" name="money1" id="money1" autocomplete="off" value="<?=isset($detail['money1'])?$detail['money1']:0;?>" style="text-align: right;">
<span class="input-group-btn">
<button type="button" class="btn btn-default">元</button>
</span>
<input class="form-control" type="number" name="money2" id="money2" autocomplete="off" value="<?=isset($detail['money2'])?$detail['money2']:0;?>" style="text-align: right;">
<span class="input-group-btn">
<button type="button" class="btn btn-default">角</button>
</span>
<input class="form-control" type="number" name="money3" id="money3" autocomplete="off" value="<?=isset($detail['money3'])?$detail['money3']:0;?>" style="text-align: right;">
<span class="input-group-btn">
<button type="button" class="btn btn-default">分</button>
</span>
</div>
<span class="help-block m-b-none">此处填写的是冲红的金额,如原费用为100元,实际上只用了90元,那么冲红金额为10元;原费用单金额为 <code><?=isset($detail['money1'])?$detail['money1']:0;?></code><kbd>元</kbd> <code><?=isset($detail['money2'])?$detail['money2']:0;?></code><kbd>角</kbd> <code><?=isset($detail['money3'])?$detail['money3']:0;?></code><kbd>分</kbd></span>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label"> 关联凭证截图:</label>
<div class="col-sm-11">
<div class="input-group">
<input type="text" class="form-control" value="" readonly="true" id="thumbs" data-length="<?=isset($detail['thumbs'])? count($detail['thumbs']) : 0?>">
<span class="input-group-btn"> <button type="button" class="btn btn-primary" data-id="thumbs-value" href="<?= Url::toRoute(['upload/images','multi'=>true,'callback'=>'thumbs']);?>" w="80%;" h="90%;" title="选择或上传图片" mini="load">选择图片</button> </span>
</div>
<section id="thumbs-PREVIEWER" style="display: inline-flex;overflow-x: scroll;">
</section>
</div>
</div>
<script type="text/javascript" >
//响应多图点选事件
function selectImages(imgs,targId){
layer.closeAll();
layer.msg('操作成功!');
targId = !targId ? 'thumbs' : targId;
var html = '',_html = '',x;
for(x in imgs){
_html = '<div onclick="deleteImg(this);" style="width:150px;max-height:200px;margin-right:30px;">'+
'<div class="input-group " style="margin-top:.5em;">'+
'<img class="imagePreview '+ targId +'-PREVIEWER" src="<?=Yii::$app->params['attachSrc'].Yii::$app->params['attachDir']?>'+imgs[x]+'" width="150" height="auto" onerror="javascript:this.src=\'<?=Yii::getAlias("@web")?>/img/nopic.jpg\';" style="margin-right:10px;">'+
'<em class="close" style="position:absolute; top: 0px; right: -14px;" title="删除这张图片" onclick="deleteImage(this)">×</em>'+
'<input type="hidden" name="'+targId+'[]" value="'+imgs[x]+'">'+
'</div></div>';
html += _html;
}
$('#'+targId+'-PREVIEWER').prepend(html);
$('#'+targId).val('一共新选择了'+imgs.length+'张图片');
var l = $('#'+targId).attr('data-length');
$('#'+targId).attr('data-length',l+imgs.length);
}
//针对多图选择的 图片层删除函数
function deleteImg(obj){
$(obj).remove();
}
</script>
<div class="form-group">
<label class="col-sm-1 control-label">原单凭证:</label>
<div class="col-sm-11">
<section id="thumbs-PREVIEWER" style="display: inline-flex;overflow-x: scroll;">
<?php if(isset($detail['thumbs'])):?>
<?php foreach($detail['thumbs'] as $val):?>
<div onclick="deleteImg(this);" style="width:150px;max-height:200px;margin-right:30px;">
<div class="input-group " style="margin-top:.5em;">
<img id="thumbs-preview" src="<?=isset($detail['thumbs'])? Yii::$app->params['attachSrc'].Yii::$app->params['attachDir'].$val: Url::to('@web/img/nopic.jpg');?>" onerror="this.src='<?=Yii::getAlias("@web")?>/img/nopic.jpg'; this.title='图片未找到.'" class="img-responsive img-thumbsnail imgs-PREVIEWER" width="150" height="auto">
<em class="close" style="position:absolute; top: 0px; right: -14px;" title="删除这张图片" onclick="deleteImage(this)">×</em>
<input type="hidden" name="thumbs[]" value="<?=$val?>">
</div>
</div>
<?php endforeach;?>
<?php endif;?>
</section>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">补充说明:</label>
<div class="col-sm-11">
<textarea class="form-control" col="3" length="1000" name="logs" id="logs"></textarea>
<span class="help-block m-b-none red">有必要的情况下,可在此对该笔费用进行补充说明;</span>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">原单历史备注:</label>
<div class="col-sm-11">
<span class="help-block"><?=isset($detail['logs'])?$detail['logs']:''?></span>
</div>
</div>
<div class="hr-line-dashed"></div>
<div class="form-group">
<div class="col-sm-11 col-sm-offset-1">
<span class="help-block m-b-none">原费用单创建于:<?=isset($detail['create_at'])?date('Y-m-d H:i:s',$detail['create_at']):'';?>;最近更新时间:<?=isset($detail['update_at'])?date('Y-m-d H:i:s',$detail['update_at']):'';?>; </span>
</div>
</div>
<div class="hr-line-dashed"></div>
<div class="form-group">
<div class="col-sm-12 col-sm-offset-3">
<?php if(isset($detail['create_by']) && $detail['create_by'] != Yii::$app->user->identity->id){ ?>
<button class="btn btn-white" mini="submit" type="button">该运单不是您创建的</button>
<?php }else{ ?>
<button class="btn btn-primary" mini="submit" type="button">新增冲红</button>
<?php }?>
<a class="btn btn-white" href="<?=Yii::$app->request->referrer?>">取消并返回</a>
</div>
</div>
</form>
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
</div>
<script>
laydate.skin('molv');
$(document).ready(function() {
var config = {
".chosen-select": {},
".chosen-select-deselect": {
allow_single_deselect: !0
},
".chosen-select-no-single": {
disable_search_threshold: 10
},
".chosen-select-no-results": {
no_results_text: "Oops, nothing found!"
},
".chosen-select-width": {
width: "95%"
}
};
for (var selector in config) $(selector).chosen(config[selector]);
});
</script>
+56
View File
@@ -0,0 +1,56 @@
<?php
use yii\helpers\Html;
use yii\helpers\Url;
use yii\widgets\LinkPager;
?>
<style>
.table-border > td{
border:1px #bbb solid;
}
.table-border{
border:1px solid #ddd;
}
#_HiQuickMenu{
display:none;
}
</style>
<div class="wrapper wrapper-content" contenteditable="true" id="forprint">
<div class="ibox-title" style="text-align: center;">
<h5 style="float:none;">出车单概况 <code>【承运板车:<?=isset($truckol['truck_num'])?$truckol['truck_num']:'';?>】</code>
<a class="btn btn-primary radius refresh" href="javascript:location.replace(location.href);" title="刷新"><span class="fa fa-refresh"></span> </a>
</h5>
</div>
<div class="ibox-content">
<div class="row">
<div class="col-sm-2">
<address>
<strong>始发日期:</strong><?=isset($truckol['from_date'])?date('Y-m-d',$truckol['from_date']):''?></span>
</address>
</div>
<div class="col-sm-5">
<address>
<strong>板&nbsp;&nbsp;&nbsp;&nbsp;车:</strong><?=isset($truckol['truck_num'])?$truckol['truck_num']:'';?>
&nbsp;&nbsp;&nbsp;&nbsp;
<abbr><?=isset($truckol['driver_name'])?$truckol['driver_name']:'';?></abbr>:<?=isset($truckol['driver_mobiles'])?$truckol['driver_mobiles']:'';?>
</address>
</div>
<div class="col-sm-5">
<address>
<strong>行&nbsp;&nbsp;&nbsp;&nbsp;程:</strong><?=isset($truckol['fromstore_title'])?$truckol['fromstore_title']:'';?>[<?=isset($truckol['from_city'])?$truckol['from_city']:'';?>]
&nbsp;&nbsp; <kbd><i class="fa fa-arrow-right"></i></kbd> &nbsp;&nbsp;
<?=isset($truckol['endstore_title'])?$truckol['endstore_title']:'';?>[<?=isset($truckol['end_city'])?$truckol['end_city']:'';?>]
</address>
</div>
</div>
<table class="table table-border table-striped">
<tbody>
<tr>
<td colspan="1">备注</td>
<td colspan="11"><?=isset($truckol['remark'])?$truckol['remark']:'';?></td>
</tr>
</tbody>
</table>
</div>
</div>
+227
View File
@@ -0,0 +1,227 @@
<?php
use yii\helpers\Html;
use yii\helpers\Url;
use yii\widgets\LinkPager;
$this->title = '出车单费用列表';
$this->params['breadcrumbs'][] = $this->title;
?>
<!--下拉选择、选项框-->
<?=Html::cssFile('@web/css/plugins/chosen/chosen.css')?>
<?=Html::jsFile('@web/js/plugins/chosen/chosen.jquery.js')?>
<!--日期时间选择器-->
<?=Html::jsFile('@web/js/plugins/layer/laydate/laydate.js')?>
<?=Html::cssFile('@web/js/plugins/layer/laydate/need/laydate.css')?>
<?=Html::cssFile('@web/js/plugins/layer/laydate/skins/molv/laydate.css')?>
<style>
.laydate_body .laydate_top{
padding:0;
}
.laydate_body .laydate_ym{
/*margin:0;
padding:5px;*/
}
.laydate_body .laydate_table{
border:0;
border-bottom: 1px solid rgb(204, 204, 204);
}
.laydate_body .laydate_bottom {
border: 0;
margin-bottom: 10px;
}
</style>
<?php
if($oid){
include('detail.php');
}?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-content" style="text-align: center;">
<h1>搜索与筛选</h1>
<form role="form" class="form-horizontal m-t" action="<?=Url::current(['pid' => Yii::$app->session->get('pid')], false);?>" method="post">
<input type="hidden" name="_csrf-backend" value="<?= Yii::$app->getRequest()->getCsrfToken();?>" />
<div class="form-group">
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-sm btn-primary">支付月份</button>
</span>
<input class="input-sm form-control layer-date" type="text" name="search[pay_m]" placeholder="请选择月份" autocomplete="off" onclick="laydate({istime: false, format: 'YYYY-MM'})" value="<?=isset($search['pay_m'])?$search['pay_m']:''?>">
</div>
</div>
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-sm btn-primary">支付时间不早于</button>
</span>
<input class="input-sm form-control layer-date" type="text" name="search[pay_after]" placeholder="请选择日期" autocomplete="off" onclick="laydate({istime: false, format: 'YYYY-MM-DD'})" value="<?=isset($search['pay_after'])?$search['pay_after']:''?>">
</div>
</div>
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-sm btn-primary">支付时间不晚于</button>
</span>
<input class="input-sm form-control layer-date" type="text" name="search[pay_before]" placeholder="请选择日期" autocomplete="off" onclick="laydate({istime: false, format: 'YYYY-MM-DD'})" value="<?=isset($search['pay_before'])?$search['pay_before']:''?>">
</div>
</div>
</div>
<div class="form-group">
<div class="col-sm-2">
<select data-placeholder="选择支付状态..." class="select-sm form-control chosen-select" name="search[status_code]">
<option value="all">选择支付状态</option>
<?php foreach($status as $key=>$val){?>
<option value="<?=$key?>" hassubinfo="true" <?=isset($search['status_code']) && $search['status_code']==$key ? 'selected':'';?>><?=$val?></option>
<?php }?>
</select>
</div>
<div class="col-sm-2">
<select data-placeholder="选择支付方式..." class="form-control chosen-select" name="search[paytype]">
<option value="">选择支付方式</option>
<?php foreach($paytypes as $key=>$val){?>
<option value="<?=$key?>" hassubinfo="true" <?=isset($search['paytype']) && $search['paytype']==$key ? 'selected':'';?>><?=$val?></option>
<?php }?>
</select>
</div>
<div class="col-sm-2">
<div class="input-group">
<input class="form-control" type="text" placeholder="支付人名字" name="search[pay_from]" id="pay_from" value="<?=isset($search['pay_from'])?$search['pay_from']:'';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info" onclick="clearInput('pay_from')">清除</button>
</span>
</div>
</div>
<div class="col-sm-2">
<div class="input-group">
<input class="form-control" type="text" placeholder="收款人名字" name="search[pay_to]" id="pay_to" value="<?=isset($search['pay_to'])?$search['pay_to']:'';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info" onclick="clearInput('pay_to')">清除</button>
</span>
</div>
</div>
<div class="col-sm-4">
<div class="input-group">
<input class="form-control" type="text" placeholder="支付流水号" name="search[sn]" id="sn" value="<?=isset($search['sn'])?$search['sn']:'';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info" onclick="clearInput('sn')">清除</button>
</span>
</div>
</div>
</div>
<script>
function clearInput(id)
{
$('#'+id).val('');
}
</script>
<div class="form-group">
<div class="col-sm-12">
<button type="submit" class="btn btn-sm btn-warning"> 搜索</button>
<?php if($oid){?>
<a class="btn btn-info btn-sm" href="<?= Url::toRoute(['feedriver/new','online_id'=>$oid])?>">新增费用明细单</a>
<?php }?>
</div>
</div>
</form>
</div>
<div class="ibox-title"><?= Html::encode($this->title) ?></div>
<div class="ibox-content">
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>序号</th>
<th>支付方式</th>
<th>支付金额</th>
<th>支付流水号</th>
<th>支付人</th>
<th>收款人</th>
<th>状态</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<?php foreach($fees as $vo):?>
<tr>
<td><?=$vo['id']?></td>
<td>
<?=isset($paytypes[$vo['paytype']]) ? $paytypes[$vo['paytype']]:''?>
</td>
<td>
<?php if(isset($vo['fee']) && $vo['fee']<0){ ?>
<label class="label label-danger"><stron><large><?=isset($vo['fee']) ? round($vo['fee']/100,2):0?></large></stron></label> 元<br>
<?php }else{?>
<label class="label label-success"><stron><large><?=isset($vo['fee']) ? round($vo['fee']/100,2):0?></large></stron></label> 元<br>
<?php }?>
</td>
<td>
<?=isset($vo['sn']) ? $vo['sn']:''?>
</td>
<td>
<?=isset($vo['pay_from']) ? $vo['pay_from']:''?>
</td>
<td>
<?=isset($vo['pay_to']) ? $vo['pay_to']:''?>
</td>
<td>
<?php if($vo['status_code']<=0){?>
<label class="btn btn-default btn-xs"><?=$status[$vo['status_code']]?></label>
<?php }else{?>
<label class="btn btn-info btn-xs"><?=$status[$vo['status_code']]?></label>
<?php }?>
</td>
<td>
<p>
<a class="btn btn-primary btn-xs" href="<?=Url::toRoute(['feedriver/edit','id'=>$vo['id']])?>"><i class="fa fa-edit"></i>详情</a>
<?php if($vo['status_code']==2){?>
<a class="btn btn-warning btn-xs" href="<?=Url::toRoute(['feedriver/chonghong','cid'=>$vo['id']])?>" w="90%;" h="90%;" title="管理冲红单" mini="load">管理冲红单</a>
<a class="btn btn-danger btn-xs" href="<?=Url::toRoute(['feedriver/finishch','id'=>$vo['id']])?>" data-toggle="tooltip" data-placement="top" title="结束冲红后,该费用单据即行确认冲红结束,不可再被冲红" mini="act">结束冲红</a>
<?php }else{?>
<a class="btn btn-danger btn-xs" href="<?=Url::toRoute(['feedriver/cancel','id'=>$vo['id']])?>" mini="act">申请冲红</a>
<?php }?>
<a class="btn btn-success btn-xs" href="<?=Url::toRoute(['feedriver/caiwu','id'=>$vo['id']])?>" w="50%;" h="80%;" title="财务审核" mini="load">财务审核</a>
</p>
</td>
</tr>
<?php endforeach;?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
laydate.skin('molv');
$(document).ready(function() {
var config = {
".chosen-select": {},
".chosen-select-deselect": {
allow_single_deselect: !0
},
".chosen-select-no-single": {
disable_search_threshold: 10
},
".chosen-select-no-results": {
no_results_text: "Oops, nothing found!"
},
".chosen-select-width": {
width: "95%"
}
};
for (var selector in config) $(selector).chosen(config[selector]);
});
</script>
+261
View File
@@ -0,0 +1,261 @@
<?php
use yii\helpers\Html;
use yii\helpers\Url;
use yii\widgets\LinkPager;
?>
<?php include('detail.php');?>
<!--下拉选择、选项框-->
<?=Html::cssFile('@web/css/plugins/chosen/chosen.css')?>
<?=Html::jsFile('@web/js/plugins/chosen/chosen.jquery.js')?>
<style>
.table-border > td{
border:1px #bbb solid;
}
.table-border{
border:1px solid #ddd;
}
</style>
<!--日期时间选择器-->
<?=Html::jsFile('@web/js/plugins/layer/laydate/laydate.js')?>
<?=Html::cssFile('@web/js/plugins/layer/laydate/need/laydate.css')?>
<?=Html::cssFile('@web/js/plugins/layer/laydate/skins/molv/laydate.css')?>
<style>
.laydate_body .laydate_top{
padding:0;
}
.laydate_body .laydate_ym{
/*margin:0;
padding:5px;*/
}
.laydate_body .laydate_table{
border:0;
border-bottom: 1px solid rgb(204, 204, 204);
}
.laydate_body .laydate_bottom {
border: 0;
margin-bottom: 10px;
}
</style>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>费用明细单信息<code>所有项如果留空则不更新</code></h5>
<div class="ibox-tools">
<a class="collapse-link">
<i class="fa fa-chevron-up"></i>
</a>
<a class="close-link">
<i class="fa fa-times"></i>
</a>
</div>
</div>
<div class="ibox-content">
<form role="form" class="form-horizontal m-t" method="post" action="<?=Url::toRoute(['feedriver/save','oid'=>$oid])?>" >
<input type="hidden" name="_csrf-backend" value="<?=Yii::$app->getRequest()->getCsrfToken();?>" />
<input type="hidden" name="pid" value="<?=Yii::$app->session->get('pid');?>">
<input type="hidden" name="id" value="<?=isset($detail['id'])?$detail['id']:0;?>">
<div class="alert alert-warning">
所有费用明细单一经财务确认(不管是否入账),均不能再被修改;如果确有填单错误的,请新建相应冲红费用单
</div>
<div class="form-group">
<label class="col-sm-1 control-label"><span class="red">*</span> 支付人:</label>
<div class="col-sm-3">
<input class="form-control" type="text" name="pay_from" placeholder="请输入支付方的名称" autocomplete="off" value="<?=isset($detail['pay_from'])?$detail['pay_from']:'';?>">
<span class="help-block m-b-none">(限10个汉字以内)</span>
</div>
<label class="col-sm-1 control-label"><span class="red">*</span> 收款人:</label>
<div class="col-sm-3">
<input class="form-control" type="text" name="pay_to" placeholder="请输入收款人的姓名" autocomplete="off" value="<?=isset($detail['pay_to'])?$detail['pay_to']:'';?>">
<span class="help-block m-b-none">(限10个汉字以内)</span>
</div>
<label class="col-sm-1 control-label"><span class="red">*</span> 付款日期:</label>
<div class="col-sm-3">
<input class="form-control layer-date" type="text" name="pay_at" placeholder="请选择日期" autocomplete="off" onclick="laydate({istime: false, format: 'YYYY-MM-DD'})" value="<?=isset($detail['pay_at'])?date('Y-m-d',$detail['pay_at']):''?>">
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">支付信息:</label>
<div class="col-sm-5">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary"><span class="red">*</span> 付款方式</button>
</span>
<select data-placeholder="选择..." class="form-control chosen-select" name="paytype">
<option value="">请选择</option>
<?php foreach($paytypes as $key=>$val){?>
<option value="<?=$key?>" hassubinfo="true" <?=isset($detail['paytype']) && $detail['paytype']==$key ? 'selected':'';?>><?=$val?></option>
<?php }?>
</select>
</div>
</div>
<div class="col-sm-6">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">流水号</button>
</span>
<input class="form-control" type="text" name="sn" placeholder="如有,请填写,便于财务核实" autocomplete="off" value="<?=isset($detail['sn'])?$detail['sn']:'';?>">
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label"></label>
<div class="col-sm-7">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary"><span class="red">*</span> ¥金额</button>
</span>
<?php if(isset($detail['fee'])){?>
<?php if($detail['fee']<0){?>
<span class="input-group-btn">
<button type="button" class="btn btn-danger">支出</button>
</span>
<?php }elseif($detail['fee']>0){?>
<span class="input-group-btn">
<button type="button" class="btn btn-success">收入</button>
</span>
<?php }}?>
<input class="form-control" type="number" name="money1" id="money1" autocomplete="off" value="<?=isset($detail['money1'])?$detail['money1']:0;?>" style="text-align: right;">
<span class="input-group-btn">
<button type="button" class="btn btn-default">元</button>
</span>
<input class="form-control" type="number" name="money2" id="money2" autocomplete="off" value="<?=isset($detail['money2'])?$detail['money2']:0;?>" style="text-align: right;">
<span class="input-group-btn">
<button type="button" class="btn btn-default">角</button>
</span>
<input class="form-control" type="number" name="money3" id="money3" autocomplete="off" value="<?=isset($detail['money3'])?$detail['money3']:0;?>" style="text-align: right;">
<span class="input-group-btn">
<button type="button" class="btn btn-default">分</button>
</span>
</div>
<span class="help-block m-b-none">如果是支出费用,请填写负数;如 支出了100元买保险,则单位“元”前填写 <code>-100</code></span>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label"><span class="red">*</span> 关联凭证截图:</label>
<div class="col-sm-11">
<div class="input-group">
<input type="text" class="form-control" value="一共选择了<?=isset($detail['thumbs'])? count($detail['thumbs']) : 0?>张图片" readonly="true" id="thumbs" data-length="<?=isset($detail['thumbs'])? count($detail['thumbs']) : 0?>">
<span class="input-group-btn"> <button type="button" class="btn btn-primary" data-id="thumbs-value" href="<?= Url::toRoute(['upload/images','multi'=>true,'callback'=>'thumbs']);?>" w="80%;" h="90%;" title="选择或上传图片" mini="load">选择图片</button> </span>
</div>
<section id="thumbs-PREVIEWER" style="display: inline-flex;overflow-x: scroll;">
<?php if(isset($detail['thumbs'])):?>
<?php foreach($detail['thumbs'] as $val):?>
<div onclick="deleteImg(this);" style="width:150px;max-height:200px;margin-right:30px;">
<div class="input-group " style="margin-top:.5em;">
<img id="thumbs-preview" src="<?=isset($detail['thumbs'])? Yii::$app->params['attachSrc'].Yii::$app->params['attachDir'].$val: Url::to('@web/img/nopic.jpg');?>" onerror="this.src='<?=Yii::getAlias("@web")?>/img/nopic.jpg'; this.title='图片未找到.'" class="img-responsive img-thumbsnail imgs-PREVIEWER" width="150" height="auto">
<em class="close" style="position:absolute; top: 0px; right: -14px;" title="删除这张图片" onclick="deleteImage(this)">×</em>
<input type="hidden" name="thumbs[]" value="<?=$val?>">
</div>
</div>
<?php endforeach;?>
<?php endif;?>
</section>
</div>
</div>
<script type="text/javascript" >
//响应多图点选事件
function selectImages(imgs,targId){
layer.closeAll();
layer.msg('操作成功!');
targId = !targId ? 'thumbs' : targId;
var html = '',_html = '',x;
for(x in imgs){
_html = '<div onclick="deleteImg(this);" style="width:150px;max-height:200px;margin-right:30px;">'+
'<div class="input-group " style="margin-top:.5em;">'+
'<img class="imagePreview '+ targId +'-PREVIEWER" src="<?=Yii::$app->params['attachSrc'].Yii::$app->params['attachDir']?>'+imgs[x]+'" width="150" height="auto" onerror="javascript:this.src=\'<?=Yii::getAlias("@web")?>/img/nopic.jpg\';" style="margin-right:10px;">'+
'<em class="close" style="position:absolute; top: 0px; right: -14px;" title="删除这张图片" onclick="deleteImage(this)">×</em>'+
'<input type="hidden" name="'+targId+'[]" value="'+imgs[x]+'">'+
'</div></div>';
html += _html;
}
$('#'+targId+'-PREVIEWER').prepend(html);
$('#'+targId).val('一共新选择了'+imgs.length+'张图片');
var l = $('#'+targId).attr('data-length');
$('#'+targId).attr('data-length',l+imgs.length);
}
//针对多图选择的 图片层删除函数
function deleteImg(obj){
$(obj).remove();
}
</script>
<div class="form-group">
<label class="col-sm-1 control-label">补充说明:</label>
<div class="col-sm-11">
<textarea class="form-control" col="3" length="1000" name="logs" id="logs"><?=isset($detail['remark'])?$detail['remark']:''?></textarea>
<span class="help-block m-b-none red">有必要的情况下,可在此对该笔费用进行补充说明;</span>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">历史备注:</label>
<div class="col-sm-11">
<span class="help-block"><?=isset($detail['logs'])?$detail['logs']:''?></span>
</div>
</div>
<div class="hr-line-dashed"></div>
<div class="form-group">
<div class="col-sm-11 col-sm-offset-1">
<span class="help-block m-b-none">本费用单创建于:<?=isset($detail['create_at'])?date('Y-m-d H:i:s',$detail['create_at']):'';?>;最近更新时间:<?=isset($detail['update_at'])?date('Y-m-d H:i:s',$detail['update_at']):'';?>; </span>
</div>
</div>
<div class="hr-line-dashed"></div>
<div class="form-group">
<div class="col-sm-12 col-sm-offset-3">
<?php if(isset($detail['create_by']) && $detail['create_by'] != Yii::$app->user->identity->id){ ?>
<button class="btn btn-white" mini="submit" type="button">该运单不是您创建的</button>
<?php }else{ ?>
<button class="btn btn-primary" mini="submit" type="button">保存内容</button>
<?php if(isset($detail['is_chonghong']) && $detail['is_chonghong'] ==1){ ?>
<a class="btn btn-warning" href="<?=Url::toRoute(['feedriver/chonghong','id'=>(isset($detail['id'])?$detail['id']:0)])?>" w="90%;" h="90%;" title="填写冲红单" mini="load">填写冲红单</a>
<?php }else{?>
<a class="btn btn-danger" href="<?=Url::toRoute(['feedriver/cancel','id'=>(isset($detail['id'])?$detail['id']:0)])?>" mini="act">申请冲红</a>
<?php }?>
<?php }?>
<a class="btn btn-white" href="<?=Yii::$app->request->referrer?>">取消并返回</a>
<a class="btn btn-info" href="<?=Url::toRoute('feedriver/index')?>">费用单列表</a>
<a class="btn btn-success" href="<?=Url::toRoute(['feedriver/index','online_id'=>$oid])?>">关联费用单</a>
</div>
</div>
</form>
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
</div>
<script>
laydate.skin('molv');
$(document).ready(function() {
var config = {
".chosen-select": {},
".chosen-select-deselect": {
allow_single_deselect: !0
},
".chosen-select-no-single": {
disable_search_threshold: 10
},
".chosen-select-no-results": {
no_results_text: "Oops, nothing found!"
},
".chosen-select-width": {
width: "95%"
}
};
for (var selector in config) $(selector).chosen(config[selector]);
});
</script>
+193
View File
@@ -0,0 +1,193 @@
<?php
use yii\helpers\Html;
use yii\helpers\Url;
?>
<!--下拉选择、选项框-->
<?=Html::cssFile('@web/css/plugins/chosen/chosen.css')?>
<?=Html::jsFile('@web/js/plugins/chosen/chosen.jquery.js')?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>单据审核<code> 请财务人员务必仔细核实、正确操作 </code></h5>
</div>
<div class="ibox-content">
<form role="form" class="form-horizontal m-t" method="post" action="<?=Url::toRoute('feeorder/caiwusave')?>" >
<input type="hidden" name="_csrf-backend" value="<?=Yii::$app->getRequest()->getCsrfToken();?>" />
<input type="hidden" name="id" value="<?=isset($detail['id'])?$detail['id']:0;?>">
<?php if(isset($detail['is_chonghong']) && $detail['is_chonghong'] == 1){ ?>
<div class="form-group">
<label class="col-sm-1 control-label"></label>
<div class="col-sm-7">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary"><span class="red">*</span> ¥冲红金额</button>
</span>
<input class="form-control" type="number" name="money1" id="money1" autocomplete="off" value="<?=isset($detail['money1'])?$detail['money1']:0;?>" style="text-align: right;">
<span class="input-group-btn">
<button type="button" class="btn btn-default">元</button>
</span>
<input class="form-control" type="number" name="money2" id="money2" autocomplete="off" value="<?=isset($detail['money2'])?$detail['money2']:0;?>" style="text-align: right;">
<span class="input-group-btn">
<button type="button" class="btn btn-default">角</button>
</span>
<input class="form-control" type="number" name="money3" id="money3" autocomplete="off" value="<?=isset($detail['money3'])?$detail['money3']:0;?>" style="text-align: right;">
<span class="input-group-btn">
<button type="button" class="btn btn-default">分</button>
</span>
</div>
<span class="help-block m-b-none">此处填写的是冲红时会抵消的金额;</span>
</div>
</div>
<?php }?>
<div class="form-group">
<label class="col-sm-2 control-label"><span class="red"> * </span>是否为佣金票据:
</label>
<div class="col-sm-2">
<div class="radio radio-primary radio-inline">
<input type="radio" <?=(isset($detail['is_commission'])&&$detail['is_commission']==1)?'checked':'';?> value="1" id="is_commission1" name="is_commission">
<label for="is_commission">是</label>
</div>
<div class="radio radio-primary radio-inline">
<input type="radio" <?=((!isset($detail['is_commission']))||isset($detail['is_commission'])&&$detail['is_commission']==0)?'checked':'';?> value="0" id="is_commission0" name="is_commission">
<label for="is_commission">否</label>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label"><span class="red"> * </span>支付发生地:
</label>
<div class="col-sm-9">
<div class="radio radio-primary radio-inline">
<input type="radio" <?=(isset($detail['is_pay_receive'])&&$detail['is_pay_receive']==1)?'checked':'';?> value="1" id="is_pay_receive1" name="is_pay_receive">
<label for="is_pay_receive">在目的地</label>
</div>
<div class="radio radio-primary radio-inline">
<input type="radio" <?=((!isset($detail['is_pay_receive']))||isset($detail['is_pay_receive'])&&$detail['is_pay_receive']==0)?'checked':'';?> value="0" id="is_pay_receive0" name="is_pay_receive">
<label for="is_pay_receive">不在目的地</label>
</div>
<div class="radio radio-primary radio-inline">
<input type="radio" <?=(isset($detail['is_pay_send'])&&$detail['is_pay_send']==1)?'checked':'';?> value="1" id="is_pay_send1" name="is_pay_send">
<label for="is_pay_send">在起运地</label>
</div>
<div class="radio radio-primary radio-inline">
<input type="radio" <?=((!isset($detail['is_pay_send']))||isset($detail['is_pay_send'])&&$detail['is_pay_send']==0)?'checked':'';?> value="0" id="is_pay_send0" name="is_pay_send">
<label for="is_pay_send">不在起运地</label>
</div>
<span class="help-block"><code>支付发生地</code>指该笔支付是由起运地还是目的地发起,或者该笔收入是由起运地还是目的地业务人员经办;<b>不可同时选中“<kbd>在目的地</kbd>”及"<kbd>在起运地</kbd>"</b></span>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">批复备注:</label>
<div class="col-sm-9">
<textarea class="form-control" col="3" length="1000" name="logs" id="logs"></textarea>
<span class="help-block m-b-none red">有必要的情况下,可在此对该笔费用做审核批复;</span>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">操作历史:</label>
<div class="col-sm-9">
<span class="help-block"><?=isset($detail['logs'])?$detail['logs']:''?></span>
</div>
</div>
<div class="alert alert-success">
财务操作验证码(每个验证码的有效期为120分钟,有效期内可无限使用;过期后需要重新获取),必须填写
</div>
<div class="form-group">
<label class="col-sm-1 control-label"><span class="red">*</span> 验证码:</label>
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-danger" title="获取验证码" onclick="getVcode(this)">获取</button>
</span>
<input class="form-control" type="text" autocomplete="off" value="" name="vcode" id="vcode" required="required" placeholder="请输入财务验证码">
</div>
</div>
</div>
<script type="text/javascript" charset="utf-8">
var vt;
function vcodeTime(o,t){
if(t>0){
t -= 1;
$(o).html(t+'s');
vt = setTimeout(function(){
vcodeTime(o,t);
},1000);
}else{
clearTimeout(vt);
$(o).html('再次获取');
}
}
function getVcode(obj){
vcodeTime(obj,30); //如果发送失败,30秒后可重新获取
var url = "<?= Url::toRoute(['sms/vcode','multi'=>false,'op'=>'caiwu']);?>";
var postdata = {};
$.post(url, postdata, function (res) {
if(res.errorcode>0){
layer.msg(res.msg);
}else{
layer.msg(res.msg);
}
}, 'json');
}
</script>
<div class="hr-line-dashed"></div>
<div class="form-group">
<div class="col-sm-12 col-sm-offset-3">
<?php if(isset($detail['create_by']) && $detail['create_by'] != Yii::$app->user->identity->id){ ?>
<button class="btn btn-white" mini="submit" type="button">该运单不是您创建的</button>
<?php }?>
<?php if(isset($detail['is_chonghong']) && $detail['is_chonghong'] == 1){ ?>
<input class="btn btn-danger" mini="submit2" type="submit" value="确认冲红" name="agree-2" data-toggle="tooltip" data-placement="top" title="冲红后相应的票据财务项目会被还原">
<?php }else{ ?>
<input class="btn btn-primary" mini="submit2" type="submit" value="确认入账" name="agree1" data-toggle="tooltip" data-placement="top" title="确认入账后,相应的财务数据(如运单收入、成本支出等)会被修改到对应的项目">
<input class="btn btn-info" mini="submit2" type="submit" value="仅确认但不入账" name="agree99" data-toggle="tooltip" data-placement="top" title="确认但不入账,适用于做收支备忘但不需要修改运单账目的情况下">
<?php if(isset($detail['status_code']) && $detail['status_code'] == 2){ ?>
<a class="btn btn-danger" href="<?=Url::toRoute(['feeorder/finishch','id'=>$detail['id']])?>" data-toggle="tooltip" data-placement="top" title="结束冲红后,该费用单据即行确认冲红结束,不可再被冲红" mini="act">结束冲红</a>
<?php }?>
<?php }?>
<input class="btn btn-warning" mini="submit" type="button" value="驳回" name="disagree">
</div>
</div>
</form>
<div class="hr-line-dashed"></div>
<div class="alert alert-warning">
所有费用明细单一经财务确认(不管是否入账),均不能再被修改;如果确有填单错误的,请新建相应冲红费用单
</div>
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
</div>
<script>
$(document).ready(function() {
var config = {
".chosen-select": {},
".chosen-select-deselect": {
allow_single_deselect: !0
},
".chosen-select-no-single": {
disable_search_threshold: 10
},
".chosen-select-no-results": {
no_results_text: "Oops, nothing found!"
},
".chosen-select-width": {
width: "95%"
}
};
for (var selector in config) $(selector).chosen(config[selector]);
});
</script>
+314
View File
@@ -0,0 +1,314 @@
<?php
use yii\helpers\Html;
use yii\helpers\Url;
use yii\widgets\LinkPager;
?>
<!--下拉选择、选项框-->
<?=Html::cssFile('@web/css/plugins/chosen/chosen.css')?>
<?=Html::jsFile('@web/js/plugins/chosen/chosen.jquery.js')?>
<style>
.table-border > td{
border:1px #bbb solid;
}
.table-border{
border:1px solid #ddd;
}
</style>
<!--日期时间选择器-->
<?=Html::jsFile('@web/js/plugins/layer/laydate/laydate.js')?>
<?=Html::cssFile('@web/js/plugins/layer/laydate/need/laydate.css')?>
<?=Html::cssFile('@web/js/plugins/layer/laydate/skins/molv/laydate.css')?>
<style>
.laydate_body .laydate_top{
padding:0;
}
.laydate_body .laydate_ym{
/*margin:0;
padding:5px;*/
}
.laydate_body .laydate_table{
border:0;
border-bottom: 1px solid rgb(204, 204, 204);
}
.laydate_body .laydate_bottom {
border: 0;
margin-bottom: 10px;
}
</style>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-title"><h5>原单据的关联冲红申请</h5> <span class="pull-right">费用单当前金额为: <code><?=isset($detail['money1'])?$detail['money1']:0;?></code><kbd>元</kbd> <code><?=isset($detail['money2'])?$detail['money2']:0;?></code><kbd>角</kbd> <code><?=isset($detail['money3'])?$detail['money3']:0;?></code><kbd>分</kbd></span></div>
<div class="ibox-content">
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>序号</th>
<th>冲红金额</th>
<th>备注</th>
<th>状态</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<?php foreach($list as $vo):?>
<tr>
<td><?=$vo['id']?></td>
<td>
<?php if(isset($vo['fee']) && $vo['fee']<0){ ?>
<label class="label label-danger"><stron><large><?=isset($vo['fee']) ? round($vo['fee']/100,2):0?></large></stron></label> 元<br>
<?php }else{?>
<label class="label label-success"><stron><large><?=isset($vo['fee']) ? round($vo['fee']/100,2):0?></large></stron></label> 元<br>
<?php }?>
</td>
<td>
<?=$vo['logs']?>
</td>
<td>
<?php if($vo['status_code']<=0){?>
<label class="btn btn-default btn-xs"><?=$status[$vo['status_code']]?></label>
<?php }else{?>
<label class="btn btn-info btn-xs"><?=$status[$vo['status_code']]?></label>
<?php }?>
</td>
<td>
<p>
<a class="btn btn-danger btn-xs" href="<?=Url::toRoute(['feeorder/delete','id'=>$vo['id']])?>" mini="act"><i class="fa fa-trash"></i> 删除</a>
<a class="btn btn-success btn-xs" href="<?=Url::toRoute(['feeorder/caiwu','id'=>$vo['id']])?>" w="70%;" h="80%;" title="财务审核" mini="load">财务审核</a>
</p>
</td>
</tr>
<?php endforeach;?>
<tr>
<td>
原单据总被冲红金额为:<code><?=isset($detail['totalCh'])?round($detail['totalCh']/100,2):0;?></code><kbd>元</kbd>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="ibox-title">
<h5>新增费用单冲红<code>请仔细核对填写内容,避免出错!</code></h5>
<div class="ibox-tools">
<a class="collapse-link">
<i class="fa fa-chevron-up"></i>
</a>
<a class="close-link">
<i class="fa fa-times"></i>
</a>
</div>
</div>
<div class="ibox-content">
<form role="form" class="form-horizontal m-t" method="post" action="<?=Url::toRoute('feeorder/chonghongsave')?>" >
<input type="hidden" name="_csrf-backend" value="<?=Yii::$app->getRequest()->getCsrfToken();?>" />
<input type="hidden" name="chonghong_id" value="<?=isset($detail['chonghong_id'])?$detail['chonghong_id']:0;?>">
<div class="alert alert-warning">
所有费用明细单一经财务确认(不管是否入账),均不能再被修改;请认真检查后再提交
</div>
<div class="form-group">
<label class="col-sm-1 control-label"><span class="red">*</span> 支付人:</label>
<div class="col-sm-3">
<input class="form-control" type="text" name="pay_from" placeholder="请输入支付方的名称" autocomplete="off" value="<?=isset($detail['pay_from'])?$detail['pay_from']:'';?>" readonly disabled="disabled">
<span class="help-block m-b-none">(限10个汉字以内)</span>
</div>
<label class="col-sm-1 control-label"><span class="red">*</span> 收款人:</label>
<div class="col-sm-3">
<input class="form-control" type="text" name="pay_to" placeholder="请输入收款人的姓名" autocomplete="off" value="<?=isset($detail['pay_to'])?$detail['pay_to']:'';?>" readonly disabled="disabled">
<span class="help-block m-b-none">(限10个汉字以内)</span>
</div>
<label class="col-sm-1 control-label"><span class="red">*</span> 付款日期:</label>
<div class="col-sm-3">
<input class="form-control layer-date" type="text" name="pay_at" placeholder="请选择日期" autocomplete="off" onclick="laydate({istime: false, format: 'YYYY-MM-DD'})" value="<?=isset($detail['pay_at'])?date('Y-m-d',$detail['pay_at']):''?>" readonly disabled="disabled">
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">支付信息:</label>
<div class="col-sm-5">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">付款方式</button>
</span>
<select data-placeholder="选择..." class="form-control chosen-select" name="paytype" readonly disabled="disabled">
<option value="">请选择</option>
<?php foreach($paytypes as $key=>$val){?>
<option value="<?=$key?>" hassubinfo="true" <?=isset($detail['paytype']) && $detail['paytype']==$key ? 'selected':'';?>><?=$val?></option>
<?php }?>
</select>
</div>
</div>
<div class="col-sm-6">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">流水号</button>
</span>
<input class="form-control" type="text" name="sn" placeholder="如有,请填写,便于财务核实" autocomplete="off" value="<?=isset($detail['sn'])?$detail['sn']:'';?>" readonly disabled="disabled">
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label"></label>
<div class="col-sm-7">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary"><span class="red">*</span> ¥冲红金额</button>
</span>
<?php if(isset($detail['fee'])){?>
<?php if($detail['fee']<0){?>
<span class="input-group-btn">
<button type="button" class="btn btn-danger">支出</button>
</span>
<?php }elseif($detail['fee']>0){?>
<span class="input-group-btn">
<button type="button" class="btn btn-success">收入</button>
</span>
<?php }}?>
<input class="form-control" type="number" name="money1" id="money1" autocomplete="off" value="<?=isset($detail['money1'])?$detail['money1']:0;?>" style="text-align: right;">
<span class="input-group-btn">
<button type="button" class="btn btn-default">元</button>
</span>
<input class="form-control" type="number" name="money2" id="money2" autocomplete="off" value="<?=isset($detail['money2'])?$detail['money2']:0;?>" style="text-align: right;">
<span class="input-group-btn">
<button type="button" class="btn btn-default">角</button>
</span>
<input class="form-control" type="number" name="money3" id="money3" autocomplete="off" value="<?=isset($detail['money3'])?$detail['money3']:0;?>" style="text-align: right;">
<span class="input-group-btn">
<button type="button" class="btn btn-default">分</button>
</span>
</div>
<span class="help-block m-b-none">此处填写的是冲红的金额,如原费用为100元,实际上只用了90元,那么冲红金额为10元;原费用单金额为 <code><?=isset($detail['money1'])?$detail['money1']:0;?></code><kbd>元</kbd> <code><?=isset($detail['money2'])?$detail['money2']:0;?></code><kbd>角</kbd> <code><?=isset($detail['money3'])?$detail['money3']:0;?></code><kbd>分</kbd></span>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label"> 关联凭证截图:</label>
<div class="col-sm-11">
<div class="input-group">
<input type="text" class="form-control" value="" readonly="true" id="thumbs" data-length="<?=isset($detail['thumbs'])? count($detail['thumbs']) : 0?>">
<span class="input-group-btn"> <button type="button" class="btn btn-primary" data-id="thumbs-value" href="<?= Url::toRoute(['upload/images','multi'=>true,'callback'=>'thumbs']);?>" w="80%;" h="90%;" title="选择或上传图片" mini="load">选择图片</button> </span>
</div>
<section id="thumbs-PREVIEWER" style="display: inline-flex;overflow-x: scroll;">
</section>
</div>
</div>
<script type="text/javascript" >
//响应多图点选事件
function selectImages(imgs,targId){
layer.closeAll();
layer.msg('操作成功!');
targId = !targId ? 'thumbs' : targId;
var html = '',_html = '',x;
for(x in imgs){
_html = '<div onclick="deleteImg(this);" style="width:150px;max-height:200px;margin-right:30px;">'+
'<div class="input-group " style="margin-top:.5em;">'+
'<img class="imagePreview '+ targId +'-PREVIEWER" src="<?=Yii::$app->params['attachSrc'].Yii::$app->params['attachDir']?>'+imgs[x]+'" width="150" height="auto" onerror="javascript:this.src=\'<?=Yii::getAlias("@web")?>/img/nopic.jpg\';" style="margin-right:10px;">'+
'<em class="close" style="position:absolute; top: 0px; right: -14px;" title="删除这张图片" onclick="deleteImage(this)">×</em>'+
'<input type="hidden" name="'+targId+'[]" value="'+imgs[x]+'">'+
'</div></div>';
html += _html;
}
$('#'+targId+'-PREVIEWER').prepend(html);
$('#'+targId).val('一共新选择了'+imgs.length+'张图片');
var l = $('#'+targId).attr('data-length');
$('#'+targId).attr('data-length',l+imgs.length);
}
//针对多图选择的 图片层删除函数
function deleteImg(obj){
$(obj).remove();
}
</script>
<div class="form-group">
<label class="col-sm-1 control-label">原单凭证:</label>
<div class="col-sm-11">
<section id="thumbs-PREVIEWER" style="display: inline-flex;overflow-x: scroll;">
<?php if(isset($detail['thumbs'])):?>
<?php foreach($detail['thumbs'] as $val):?>
<div onclick="deleteImg(this);" style="width:150px;max-height:200px;margin-right:30px;">
<div class="input-group " style="margin-top:.5em;">
<img id="thumbs-preview" src="<?=isset($detail['thumbs'])? Yii::$app->params['attachSrc'].Yii::$app->params['attachDir'].$val: Url::to('@web/img/nopic.jpg');?>" onerror="this.src='<?=Yii::getAlias("@web")?>/img/nopic.jpg'; this.title='图片未找到.'" class="img-responsive img-thumbsnail imgs-PREVIEWER" width="150" height="auto">
<em class="close" style="position:absolute; top: 0px; right: -14px;" title="删除这张图片" onclick="deleteImage(this)">×</em>
<input type="hidden" name="thumbs[]" value="<?=$val?>">
</div>
</div>
<?php endforeach;?>
<?php endif;?>
</section>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">补充说明:</label>
<div class="col-sm-11">
<textarea class="form-control" col="3" length="1000" name="logs" id="logs"></textarea>
<span class="help-block m-b-none red">有必要的情况下,可在此对该笔费用进行补充说明;</span>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">原单历史备注:</label>
<div class="col-sm-11">
<span class="help-block"><?=isset($detail['logs'])?$detail['logs']:''?></span>
</div>
</div>
<div class="hr-line-dashed"></div>
<div class="form-group">
<div class="col-sm-11 col-sm-offset-1">
<span class="help-block m-b-none">原费用单创建于:<?=isset($detail['create_at'])?date('Y-m-d H:i:s',$detail['create_at']):'';?>;最近更新时间:<?=isset($detail['update_at'])?date('Y-m-d H:i:s',$detail['update_at']):'';?>; </span>
</div>
</div>
<div class="hr-line-dashed"></div>
<div class="form-group">
<div class="col-sm-12 col-sm-offset-3">
<?php if(isset($detail['create_by']) && $detail['create_by'] != Yii::$app->user->identity->id){ ?>
<button class="btn btn-white" mini="submit" type="button">该运单不是您创建的</button>
<?php }else{ ?>
<button class="btn btn-primary" mini="submit" type="button">新增冲红</button>
<?php }?>
<a class="btn btn-white" href="<?=Yii::$app->request->referrer?>">取消并返回</a>
</div>
</div>
</form>
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
</div>
<script>
laydate.skin('molv');
$(document).ready(function() {
var config = {
".chosen-select": {},
".chosen-select-deselect": {
allow_single_deselect: !0
},
".chosen-select-no-single": {
disable_search_threshold: 10
},
".chosen-select-no-results": {
no_results_text: "Oops, nothing found!"
},
".chosen-select-width": {
width: "95%"
}
};
for (var selector in config) $(selector).chosen(config[selector]);
});
</script>
+82
View File
@@ -0,0 +1,82 @@
<?php
use yii\helpers\Html;
use yii\helpers\Url;
?>
<div class="wrapper wrapper-content">
<div class="ibox-title">
<h5>运单费用摘要信息<code>财务数据,谨慎使用</code></h5>
<div class="ibox-tools">
<a class="collapse-link">
<i class="fa fa-chevron-up"></i>
</a>
<a class="close-link">
<i class="fa fa-times"></i>
</a>
</div>
</div>
<div class="ibox-content">
<div class="row">
<div class="col-sm-6">
<address>
<abbr>办事处/分公司:</abbr><?=isset($order['store_title'])?$order['store_title']:'';?><br>
<abbr>经办人:</abbr><?=isset($order['employee_title'])?$order['employee_title']:'';?><br>
<abbr>业务电话:</abbr> <?=isset($order['employee_mobile'])?$order['employee_mobile']:'';?><br>
<span><strong>日期:<?=isset($order['sign_date'])?date('Y-m-d',$order['sign_date']):''?></span>
</address>
</div>
<div class="col-sm-6 text-right">
<h4>单据编号:</h4>
<h4 class="text-navy"><?=isset($order['sn'])?$order['sn']:'';?></h4>
<address>委托方:<?=isset($order['signer'])?$order['signer']:'';?></address>
</div>
</div>
<table class="table table-border">
<tbody>
<tr>
<td>发车人:<?=isset($order['sender_name'])?$order['sender_name']:'';?></td>
<td>手机号:<?=isset($order['sender_mobiles'])?$order['sender_mobiles']:'';?></td>
<td style="min-width:120px;">身份证号:<?=isset($order['sender_idcard'])?$order['sender_idcard']:'';?></td>
<td>收车人:<?=isset($order['receiver_name'])?$order['receiver_name']:'';?></td>
<td>手机号:<?=isset($order['receiver_mobiles'])?$order['receiver_mobiles']:'';?></td>
<td style="min-width:120px;">身份证号:<?=isset($order['receiver_idcard'])?$order['receiver_idcard']:'';?></td>
<td><kbd>运单状态:</kbd><?=isset($order['status_title'])?$order['status_title']:'未知';?></td>
</tr>
<tr>
<td>车辆保价: <?=isset($order['car_value'])?$order['car_value']:0;?>万元</td>
<td>保险费: <?=isset($order['fee_insurance'])?$order['fee_insurance']:0;?></td>
<td>送车费: <?=isset($order['fee_deliver'])?$order['fee_deliver']:0;?></td>
<td>提车费: <?=isset($order['fee_pickup'])?$order['fee_pickup']:0;?></td>
<td>加急费: <?=isset($order['fee_urgent'])?$order['fee_urgent']:0;?></td>
<td>运费: <?=isset($order['fee_truck'])?$order['fee_truck']:0;?></td>
<td>其他费用: <?=isset($order['fee_extra'])?$order['fee_extra']:0;?></td>
</tr>
<tr>
<td>现付 :</td>
<td colspan="1"><code><?=isset($order['pay_send'])?$order['pay_send']:0;?></code>元</td>
<td>到收 :</td>
<td><code><?=isset($order['pay_receive'])?$order['pay_receive']:0;?></code>元</td>
<td><strong>总价 : </strong></td>
<td>&yen;<code><?=isset($order['fee_total'])?$order['fee_total']:'';?></code>元</td>
<td>财务是否审核:<input <?=isset($detail['is_cwqr'])&&$detail['is_cwqr']==1 ? 'checked' : ''?> disabled="true" type="checkbox" ></td>
</tr>
</tbody>
</table>
<table class="table">
<tbody>
<tr>
<td><a class="btn btn-info btn-xs" href="<?= Url::toRoute(['car/edit','id'=>(isset($order['car_id'])?$order['car_id']:0),'op'=>'view'])?>" mini="load" w="80%" h="80%">关联车辆</a></td>
<td><label class="control-label">是否有佣金(返款):<input <?=isset($detail['is_commission'])&&$detail['is_commission']==1 ? 'checked' : ''?> disabled="true" type="checkbox" >
</label></td>
<td>介绍人: <?=isset($order['bind'])?$order['bind']:'';?></td>
<td>总佣金: <?=isset($order['commission'])?$order['commission']:0;?></td>
<td>尚余未结佣金: <?=isset($order['commission_left'])?$order['commission_left']:0;?></td>
<td><kbd>总花销</kbd> <coce><?=isset($order['expense'])?round($order['expense']/100,2):0;?></code> 元</td>
<td><kbd>实际所得</kbd> <code><?=isset($order['income'])?round($order['income']/100,2):0;?></code> 元</td>
</tr>
</tbody>
</table>
</div>
</div>
+227
View File
@@ -0,0 +1,227 @@
<?php
use yii\helpers\Html;
use yii\helpers\Url;
use yii\widgets\LinkPager;
$this->title = '运单费用列表';
$this->params['breadcrumbs'][] = $this->title;
?>
<!--下拉选择、选项框-->
<?=Html::cssFile('@web/css/plugins/chosen/chosen.css')?>
<?=Html::jsFile('@web/js/plugins/chosen/chosen.jquery.js')?>
<!--日期时间选择器-->
<?=Html::jsFile('@web/js/plugins/layer/laydate/laydate.js')?>
<?=Html::cssFile('@web/js/plugins/layer/laydate/need/laydate.css')?>
<?=Html::cssFile('@web/js/plugins/layer/laydate/skins/molv/laydate.css')?>
<style>
.laydate_body .laydate_top{
padding:0;
}
.laydate_body .laydate_ym{
/*margin:0;
padding:5px;*/
}
.laydate_body .laydate_table{
border:0;
border-bottom: 1px solid rgb(204, 204, 204);
}
.laydate_body .laydate_bottom {
border: 0;
margin-bottom: 10px;
}
</style>
<?php
if($oid){
include('detail.php');
}?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-content" style="text-align: center;">
<h1>搜索与筛选</h1>
<form role="form" class="form-horizontal m-t" action="<?=Url::current(['pid' => Yii::$app->session->get('pid'),'oid'=>$oid], false);?>" method="post">
<input type="hidden" name="_csrf-backend" value="<?= Yii::$app->getRequest()->getCsrfToken();?>" />
<div class="form-group">
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-sm btn-primary">支付月份</button>
</span>
<input class="input-sm form-control layer-date" type="text" name="search[pay_m]" placeholder="请选择月份" autocomplete="off" onclick="laydate({istime: false, format: 'YYYY-MM'})" value="<?=isset($search['pay_m'])?$search['pay_m']:''?>">
</div>
</div>
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-sm btn-primary">支付时间不早于</button>
</span>
<input class="input-sm form-control layer-date" type="text" name="search[pay_after]" placeholder="请选择日期" autocomplete="off" onclick="laydate({istime: false, format: 'YYYY-MM-DD'})" value="<?=isset($search['pay_after'])?$search['pay_after']:''?>">
</div>
</div>
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-sm btn-primary">支付时间不晚于</button>
</span>
<input class="input-sm form-control layer-date" type="text" name="search[pay_before]" placeholder="请选择日期" autocomplete="off" onclick="laydate({istime: false, format: 'YYYY-MM-DD'})" value="<?=isset($search['pay_before'])?$search['pay_before']:''?>">
</div>
</div>
</div>
<div class="form-group">
<div class="col-sm-2">
<select data-placeholder="选择支付状态..." class="select-sm form-control chosen-select" name="search[status_code]">
<option value="all">选择支付状态</option>
<?php foreach($status as $key=>$val){?>
<option value="<?=$key?>" hassubinfo="true" <?=isset($search['status_code']) && $search['status_code']==$key ? 'selected':'';?>><?=$val?></option>
<?php }?>
</select>
</div>
<div class="col-sm-2">
<select data-placeholder="选择支付方式..." class="form-control chosen-select" name="search[paytype]">
<option value="">选择支付方式</option>
<?php foreach($paytypes as $key=>$val){?>
<option value="<?=$key?>" hassubinfo="true" <?=isset($search['paytype']) && $search['paytype']==$key ? 'selected':'';?>><?=$val?></option>
<?php }?>
</select>
</div>
<div class="col-sm-2">
<div class="input-group">
<input class="form-control" type="text" placeholder="模糊检索支付人名字" name="search[pay_from]" id="pay_from" value="<?=isset($search['pay_from'])?$search['pay_from']:'';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info" onclick="clearInput('pay_from')">清除</button>
</span>
</div>
</div>
<div class="col-sm-2">
<div class="input-group">
<input class="form-control" type="text" placeholder="模糊检索收款人名字" name="search[pay_to]" id="pay_to" value="<?=isset($search['pay_to'])?$search['pay_to']:'';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info" onclick="clearInput('pay_to')">清除</button>
</span>
</div>
</div>
<div class="col-sm-4">
<div class="input-group">
<input class="form-control" type="text" placeholder="模糊检索支付流水号" name="search[sn]" id="sn" value="<?=isset($search['sn'])?$search['sn']:'';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info" onclick="clearInput('sn')">清除</button>
</span>
</div>
</div>
</div>
<script>
function clearInput(id)
{
$('#'+id).val('');
}
</script>
<div class="form-group">
<div class="col-sm-12">
<button type="submit" class="btn btn-sm btn-warning"> 搜索</button>
<?php if($oid){?>
<a class="btn btn-info btn-sm" href="<?= Url::toRoute(['feeorder/new','oid'=>$oid])?>">新增费用明细单</a>
<?php }?>
</div>
</div>
</form>
</div>
<div class="ibox-title"><?= Html::encode($this->title) ?></div>
<div class="ibox-content">
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>序号</th>
<th>支付方式</th>
<th>支付金额</th>
<th>支付流水号</th>
<th>支付人</th>
<th>收款人</th>
<th>状态</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<?php foreach($fees as $vo):?>
<tr>
<td><?=$vo['id']?></td>
<td>
<?=isset($paytypes[$vo['paytype']]) ? $paytypes[$vo['paytype']]:''?>
</td>
<td>
<?php if(isset($vo['fee']) && $vo['fee']<0){ ?>
<label class="label label-danger"><stron><large><?=isset($vo['fee']) ? round($vo['fee']/100,2):0?></large></stron></label> 元<br>
<?php }else{?>
<label class="label label-success"><stron><large><?=isset($vo['fee']) ? round($vo['fee']/100,2):0?></large></stron></label> 元<br>
<?php }?>
</td>
<td>
<?=isset($vo['sn']) ? $vo['sn']:''?>
</td>
<td>
<?=isset($vo['pay_from']) ? $vo['pay_from']:''?>
</td>
<td>
<?=isset($vo['pay_to']) ? $vo['pay_to']:''?>
</td>
<td>
<?php if($vo['status_code']<=0){?>
<label class="btn btn-default btn-xs"><?=$status[$vo['status_code']]?></label>
<?php }else{?>
<label class="btn btn-info btn-xs"><?=$status[$vo['status_code']]?></label>
<?php }?>
</td>
<td>
<p>
<a class="btn btn-primary btn-xs" href="<?=Url::toRoute(['feeorder/edit','id'=>$vo['id']])?>"><i class="fa fa-edit"></i>详情</a>
<?php if($vo['status_code']==2){?>
<a class="btn btn-warning btn-xs" href="<?=Url::toRoute(['feeorder/chonghong','cid'=>$vo['id']])?>" w="90%;" h="90%;" title="管理冲红单" mini="load">管理冲红单</a>
<a class="btn btn-danger btn-xs" href="<?=Url::toRoute(['feeorder/finishch','id'=>$vo['id']])?>" data-toggle="tooltip" data-placement="top" title="结束冲红后,该费用单据即行确认冲红结束,不可再被冲红" mini="act">结束冲红</a>
<?php }else{?>
<a class="btn btn-danger btn-xs" href="<?=Url::toRoute(['feeorder/cancel','id'=>$vo['id']])?>" mini="act">申请冲红</a>
<?php }?>
<a class="btn btn-success btn-xs" href="<?=Url::toRoute(['feeorder/caiwu','id'=>$vo['id']])?>" w="50%;" h="80%;" title="财务审核" mini="load">财务审核</a>
</p>
</td>
</tr>
<?php endforeach;?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
laydate.skin('molv');
$(document).ready(function() {
var config = {
".chosen-select": {},
".chosen-select-deselect": {
allow_single_deselect: !0
},
".chosen-select-no-single": {
disable_search_threshold: 10
},
".chosen-select-no-results": {
no_results_text: "Oops, nothing found!"
},
".chosen-select-width": {
width: "95%"
}
};
for (var selector in config) $(selector).chosen(config[selector]);
});
</script>
+260
View File
@@ -0,0 +1,260 @@
<?php
use yii\helpers\Html;
use yii\helpers\Url;
use yii\widgets\LinkPager;
?>
<?php include('detail.php');?>
<!--下拉选择、选项框-->
<?=Html::cssFile('@web/css/plugins/chosen/chosen.css')?>
<?=Html::jsFile('@web/js/plugins/chosen/chosen.jquery.js')?>
<style>
.table-border > td{
border:1px #bbb solid;
}
.table-border{
border:1px solid #ddd;
}
</style>
<!--日期时间选择器-->
<?=Html::jsFile('@web/js/plugins/layer/laydate/laydate.js')?>
<?=Html::cssFile('@web/js/plugins/layer/laydate/need/laydate.css')?>
<?=Html::cssFile('@web/js/plugins/layer/laydate/skins/molv/laydate.css')?>
<style>
.laydate_body .laydate_top{
padding:0;
}
.laydate_body .laydate_ym{
/*margin:0;
padding:5px;*/
}
.laydate_body .laydate_table{
border:0;
border-bottom: 1px solid rgb(204, 204, 204);
}
.laydate_body .laydate_bottom {
border: 0;
margin-bottom: 10px;
}
</style>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>费用明细单信息<code>所有项如果留空则不更新</code></h5>
<div class="ibox-tools">
<a class="collapse-link">
<i class="fa fa-chevron-up"></i>
</a>
<a class="close-link">
<i class="fa fa-times"></i>
</a>
</div>
</div>
<div class="ibox-content">
<form role="form" class="form-horizontal m-t" method="post" action="<?=Url::toRoute(['feeorder/save','oid'=>$oid])?>" >
<input type="hidden" name="_csrf-backend" value="<?=Yii::$app->getRequest()->getCsrfToken();?>" />
<input type="hidden" name="id" value="<?=isset($detail['id'])?$detail['id']:0;?>">
<div class="alert alert-warning">
所有费用明细单一经财务确认(不管是否入账),均不能再被修改;如果确有填单错误的,请新建相应冲红费用单
</div>
<div class="form-group">
<label class="col-sm-1 control-label"><span class="red">*</span> 支付人:</label>
<div class="col-sm-3">
<input class="form-control" type="text" name="pay_from" placeholder="请输入支付方的名称" autocomplete="off" value="<?=isset($detail['pay_from'])?$detail['pay_from']:'';?>">
<span class="help-block m-b-none">(限10个汉字以内)</span>
</div>
<label class="col-sm-1 control-label"><span class="red">*</span> 收款人:</label>
<div class="col-sm-3">
<input class="form-control" type="text" name="pay_to" placeholder="请输入收款人的姓名" autocomplete="off" value="<?=isset($detail['pay_to'])?$detail['pay_to']:'';?>">
<span class="help-block m-b-none">(限10个汉字以内)</span>
</div>
<label class="col-sm-1 control-label"><span class="red">*</span> 付款日期:</label>
<div class="col-sm-3">
<input class="form-control layer-date" type="text" name="pay_at" placeholder="请选择日期" autocomplete="off" onclick="laydate({istime: false, format: 'YYYY-MM-DD'})" value="<?=isset($detail['pay_at'])?date('Y-m-d',$detail['pay_at']):''?>">
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">支付信息:</label>
<div class="col-sm-5">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary"><span class="red">*</span> 付款方式</button>
</span>
<select data-placeholder="选择..." class="form-control chosen-select" name="paytype">
<option value="">请选择</option>
<?php foreach($paytypes as $key=>$val){?>
<option value="<?=$key?>" hassubinfo="true" <?=isset($detail['paytype']) && $detail['paytype']==$key ? 'selected':'';?>><?=$val?></option>
<?php }?>
</select>
</div>
</div>
<div class="col-sm-6">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">流水号</button>
</span>
<input class="form-control" type="text" name="sn" placeholder="如有,请填写,便于财务核实" autocomplete="off" value="<?=isset($detail['sn'])?$detail['sn']:'';?>">
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label"></label>
<div class="col-sm-7">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary"><span class="red">*</span> ¥金额</button>
</span>
<?php if(isset($detail['fee'])){?>
<?php if($detail['fee']<0){?>
<span class="input-group-btn">
<button type="button" class="btn btn-danger">支出</button>
</span>
<?php }elseif($detail['fee']>0){?>
<span class="input-group-btn">
<button type="button" class="btn btn-success">收入</button>
</span>
<?php }}?>
<input class="form-control" type="number" name="money1" id="money1" autocomplete="off" value="<?=isset($detail['money1'])?$detail['money1']:0;?>" style="text-align: right;">
<span class="input-group-btn">
<button type="button" class="btn btn-default">元</button>
</span>
<input class="form-control" type="number" name="money2" id="money2" autocomplete="off" value="<?=isset($detail['money2'])?$detail['money2']:0;?>" style="text-align: right;">
<span class="input-group-btn">
<button type="button" class="btn btn-default">角</button>
</span>
<input class="form-control" type="number" name="money3" id="money3" autocomplete="off" value="<?=isset($detail['money3'])?$detail['money3']:0;?>" style="text-align: right;">
<span class="input-group-btn">
<button type="button" class="btn btn-default">分</button>
</span>
</div>
<span class="help-block m-b-none">如果是支出费用,请填写负数;如 支出了100元买保险,则单位“元”前填写 <code>-100</code></span>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label"><span class="red">*</span> 关联凭证截图:</label>
<div class="col-sm-11">
<div class="input-group">
<input type="text" class="form-control" value="一共选择了<?=isset($detail['thumbs'])? count($detail['thumbs']) : 0?>张图片" readonly="true" id="thumbs" data-length="<?=isset($detail['thumbs'])? count($detail['thumbs']) : 0?>">
<span class="input-group-btn"> <button type="button" class="btn btn-primary" data-id="thumbs-value" href="<?= Url::toRoute(['upload/images','multi'=>true,'callback'=>'thumbs']);?>" w="80%;" h="90%;" title="选择或上传图片" mini="load">选择图片</button> </span>
</div>
<section id="thumbs-PREVIEWER" style="display: inline-flex;overflow-x: scroll;">
<?php if(isset($detail['thumbs'])):?>
<?php foreach($detail['thumbs'] as $val):?>
<div onclick="deleteImg(this);" style="width:150px;max-height:200px;margin-right:30px;">
<div class="input-group " style="margin-top:.5em;">
<img id="thumbs-preview" src="<?=isset($detail['thumbs'])? Yii::$app->params['attachSrc'].Yii::$app->params['attachDir'].$val: Url::to('@web/img/nopic.jpg');?>" onerror="this.src='<?=Yii::getAlias("@web")?>/img/nopic.jpg'; this.title='图片未找到.'" class="img-responsive img-thumbsnail imgs-PREVIEWER" width="150" height="auto">
<em class="close" style="position:absolute; top: 0px; right: -14px;" title="删除这张图片" onclick="deleteImage(this)">×</em>
<input type="hidden" name="thumbs[]" value="<?=$val?>">
</div>
</div>
<?php endforeach;?>
<?php endif;?>
</section>
</div>
</div>
<script type="text/javascript" >
//响应多图点选事件
function selectImages(imgs,targId){
layer.closeAll();
layer.msg('操作成功!');
targId = !targId ? 'thumbs' : targId;
var html = '',_html = '',x;
for(x in imgs){
_html = '<div onclick="deleteImg(this);" style="width:150px;max-height:200px;margin-right:30px;">'+
'<div class="input-group " style="margin-top:.5em;">'+
'<img class="imagePreview '+ targId +'-PREVIEWER" src="<?=Yii::$app->params['attachSrc'].Yii::$app->params['attachDir']?>'+imgs[x]+'" width="150" height="auto" onerror="javascript:this.src=\'<?=Yii::getAlias("@web")?>/img/nopic.jpg\';" style="margin-right:10px;">'+
'<em class="close" style="position:absolute; top: 0px; right: -14px;" title="删除这张图片" onclick="deleteImage(this)">×</em>'+
'<input type="hidden" name="'+targId+'[]" value="'+imgs[x]+'">'+
'</div></div>';
html += _html;
}
$('#'+targId+'-PREVIEWER').prepend(html);
$('#'+targId).val('一共新选择了'+imgs.length+'张图片');
var l = $('#'+targId).attr('data-length');
$('#'+targId).attr('data-length',l+imgs.length);
}
//针对多图选择的 图片层删除函数
function deleteImg(obj){
$(obj).remove();
}
</script>
<div class="form-group">
<label class="col-sm-1 control-label">补充说明:</label>
<div class="col-sm-11">
<textarea class="form-control" col="3" length="1000" name="logs" id="logs"></textarea>
<span class="help-block m-b-none red">有必要的情况下,可在此对该笔费用进行补充说明;</span>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">历史备注:</label>
<div class="col-sm-11">
<span class="help-block"><?=isset($detail['logs'])?$detail['logs']:''?></span>
</div>
</div>
<div class="hr-line-dashed"></div>
<div class="form-group">
<div class="col-sm-11 col-sm-offset-1">
<span class="help-block m-b-none">本费用单创建于:<?=isset($detail['create_at'])?date('Y-m-d H:i:s',$detail['create_at']):'';?>;最近更新时间:<?=isset($detail['update_at'])?date('Y-m-d H:i:s',$detail['update_at']):'';?>; </span>
</div>
</div>
<div class="hr-line-dashed"></div>
<div class="form-group">
<div class="col-sm-12 col-sm-offset-3">
<?php if(isset($detail['create_by']) && $detail['create_by'] != Yii::$app->user->identity->id){ ?>
<button class="btn btn-white" mini="submit" type="button">该运单不是您创建的</button>
<?php }else{ ?>
<button class="btn btn-primary" mini="submit" type="button">保存内容</button>
<?php if(isset($detail['is_chonghong']) && $detail['is_chonghong'] ==1){ ?>
<a class="btn btn-warning" href="<?=Url::toRoute(['feeorder/chonghong','id'=>(isset($detail['id'])?$detail['id']:0)])?>" w="90%;" h="90%;" title="填写冲红单" mini="load">填写冲红单</a>
<?php }else{?>
<a class="btn btn-danger" href="<?=Url::toRoute(['feeorder/cancel','id'=>(isset($detail['id'])?$detail['id']:0)])?>" mini="act">申请冲红</a>
<?php }?>
<?php }?>
<a class="btn btn-white" href="<?=Yii::$app->request->referrer?>">取消并返回</a>
<a class="btn btn-info" href="<?=Url::toRoute('feeorder/index')?>">费用单列表</a>
<a class="btn btn-success" href="<?=Url::toRoute(['feeorder/index','oid'=>$oid])?>">关联费用单</a>
</div>
</div>
</form>
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
</div>
<script>
laydate.skin('molv');
$(document).ready(function() {
var config = {
".chosen-select": {},
".chosen-select-deselect": {
allow_single_deselect: !0
},
".chosen-select-no-single": {
disable_search_threshold: 10
},
".chosen-select-no-results": {
no_results_text: "Oops, nothing found!"
},
".chosen-select-width": {
width: "95%"
}
};
for (var selector in config) $(selector).chosen(config[selector]);
});
</script>
+171
View File
@@ -0,0 +1,171 @@
<?php
/**
* @Author: fm453
* @Date: 2018-11-22 12:36:48
* @Last Modified by: fm453
* @Last Modified time: 2020-08-23 15:12:43
* @Email: fm453@lukegzs.com
*/
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
use yii\helpers\Url;
use yii\widgets\LinkPager;
$this->title = '路径图';
?>
<style>
body .wrapper{
height: 100%;
margin: 0;
width: 100%;
padding: 0;
overflow: hidden;
}
.map {
height: 100%;
width: 100%;
float: left;
z-index:99;
}
</style>
<link href="//a.amap.com/Loca/static/manual/example/style/demo.css" rel="stylesheet">
<div class="wrapper wrapper-content">
<div class="ibox-content" style="padding:0;width:100%;height:100%;">
<div id="container" class="map" tabindex="0" style="z-index: 0;"></div>
<form class="form-search" method="get" action="<?=Url::toRoute('gps/index')?>" role="form">
<input type="hidden" name="_csrf-backend" value="<?= Yii::$app->getRequest()->getCsrfToken();?>" />
<div class="form-group btn btn-block" style="position:fixed;bottom:60px;z-index: 100;background-color: rgba(0,0,0,.5);">
<div class="col-sm-11">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">板车车牌号:</button>
</span>
<input type="text" class="form-control" id="keyword" name="keyword" value="<?=isset($search['keyword']) ? $search['keyword']:''?>" placeholder="输入板车车牌号" autocomplete="off">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">出车单号:</button>
</span>
<input type="text" class="form-control" id="keyword" name="keyword" value="<?=isset($search['keyword']) ? $search['keyword']:''?>" placeholder="输入出车单号进行查询" autocomplete="off">
<span class="input-group-btn">
<button type="submit" class="btn btn-info">搜索</button>
</span>
</div>
</div>
</div>
</form>
</div>
</div>
<script src="https://webapi.amap.com/maps?v=1.4.15&key=<?= Yii::$app->params['amap']['key']?>"></script>
<script src="//webapi.amap.com/loca?v=1.3.2&key=<?= Yii::$app->params['amap']['key']?>"></script>
<script>
var infoWin;
var tableDom;
/**
* 封装便捷的撞题
* @param {AMap.Map} map
* @param {Array} event
* @param {Object} content
*/
function openInfoWin(map, event, content) {
if (!infoWin) {
infoWin = new AMap.InfoWindow({
isCustom: true, //使用自定义窗体
offset: new AMap.Pixel(130, 100)
});
}
var x = event.offsetX;
var y = event.offsetY;
var lngLat = map.containerToLngLat(new AMap.Pixel(x, y));
if (!tableDom) {
let infoDom = document.createElement('div');
infoDom.className = 'info';
tableDom = document.createElement('table');
infoDom.appendChild(tableDom);
infoWin.setContent(infoDom);
}
var trStr = '';
for (var name in content) {
var val = content[name];
trStr +=
'<tr>' +
'<td class="label">' + name + '</td>' +
'<td>&nbsp;</td>' +
'<td class="content">' + val + '</td>' +
'</tr>'
}
tableDom.innerHTML = trStr;
infoWin.open(map, lngLat);
}
function closeInfoWin() {
if (infoWin) {
infoWin.close();
}
}
</script>
<script>
var districts = [
{ 'name': '琼BT0069', 'center': '109.513775,18.257327','addr':'海南省三亚市吉阳区河东区街道椰林水岸'},
];
</script>
<script>
var map = new AMap.Map('container', {
mapStyle: 'amap://styles/twilight',
zoom: 4,
center: [107.4976, 32.1697],
features: ['bg', 'road'],
viewMode: '3D'
});
var amaplayer = new Loca.PointLayer({
eventSupport: true,
map: map
});
amaplayer.on('mousemove', function (ev) {
// 事件类型
var type = ev.type;
// 当前元素的原始数据
var rawData = ev.rawData;
// 原始鼠标事件
var originalEvent = ev.originalEvent;
openInfoWin(map, originalEvent, {
'车牌': rawData.name,
'位置': rawData.center,
'详址': rawData.addr
});
});
amaplayer.on('mouseleave', function (ev) {
closeInfoWin();
});
amaplayer.setData(districts, {
lnglat: 'center'
});
amaplayer.setOptions({
style: {
radius: 10,
color: '#4fc2ff',
borderColor: '#ffffff',
borderWidth: 1.5,
opacity: 0.8
},
selectStyle: {
radius: 14,
color: '#ffe30a'
}
});
amaplayer.render();
</script>
+31
View File
@@ -0,0 +1,31 @@
<?php
/* @var $this yii\web\View */
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
use yii\helpers\Url;
use yii\widgets\LinkPager;
fm_load()->fm_func('url');
$atturl = Yii::$app->params['attachSrc'].Yii::$app->params['attachDir'];
$this->title = '选择平台';
?>
<div class="wrapper wrapper-content">
<div class="row">
<?php foreach($plats as $plat){?>
<div class="col-sm-4 col-md-3">
<a href="<?php echo Url::toRoute(['index/index','pid'=>$plat['id']]);?>">
<div class="thumbnail">
<img alt="300x200" src="<?php echo fmFunc_url_img($plat['thumb'],$atturl)?>"/>
<div class="caption" style="text-align: center;">
<h3>
<?php echo $plat['title']?>
</h3>
</div>
</div>
</a>
</div>
<?php }?>
</div>
</div>
<?=Html::jsFile('@web/js/welcome.min.js?v=1.0.0')?>
+204
View File
@@ -0,0 +1,204 @@
<?php
/**
* @Author: fm453
* @Date: 2018-11-22 12:36:48
* @Last Modified by: fm453
* @Last Modified time: 2018-11-22 23:55:18
* @Email: fm453@lukegzs.com
*/
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
use yii\helpers\Url;
use yii\widgets\LinkPager;
$this->title = '地理位置选择';
?>
<style>
body .wrapper{
height: 100%;
margin: 0;
width: 100%;
padding: 0;
overflow: hidden;
}
.map {
height: 100%;
width: 100%;
float: left;
z-index:99;
}
</style>
<!-- 原始地址://webapi.amap.com/ui/1.0/ui/misc/PositionPicker/examples/positionPicker.html -->
<!-- <base href="//webapi.amap.com/ui/1.0/ui/misc/PositionPicker/examples/" /> -->
<div class="wrapper wrapper-content">
<div class="ibox-content" style="padding:0;width:100%;height:100%;">
<form class="form-search" method="get" action="<?=Url::toRoute('index/map')?>" role="form">
<input type="hidden" name="_csrf-backend" value="<?= Yii::$app->getRequest()->getCsrfToken();?>" />
<div class="form-group btn btn-block" style="position:fixed;top:10px;z-index: 100;background-color: rgba(0,0,0,.5);">
<div class="col-sm-7">
<div class="input-group">
<span class="input-group-btn"> <button type="button" class="btn btn-primary">输入地址:
</button> </span>
<input type="text" class="form-control" id="keyword" name="keyword" value="<?=isset($search['keyword']) ? $search['keyword']:''?>" placeholder="输入地址关键词进行查询" autocomplete="off">
<span class="hidden input-group-btn"> <button type="submit" class="btn btn-info">搜索
</button> </span>
</div>
</div>
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-btn"> <button type="button" class="btn btn-primary">纬度
</button> </span>
<input type="text" class="form-control" id="lat" name="lat" value="" autocomplete="off">
<span class="input-group-btn"> <button type="button" class="btn btn-primary">经度
</button> </span>
<input type="text" class="form-control" id="lng" name="lng" value="" autocomplete="off">
</div>
</div>
</div>
</form>
<div id="container" class="map" tabindex="0" style="z-index: 0;"></div>
<div class="" style="position:fixed;bottom:10px;left:50%;margin-left:-75px;width:150px;z-index: 100;">
<button onclick="callback();" class="btn btn-lg btn-primary" type="button">
<i class="ace-icon fa fa-check bigger-110"></i>
确定选择
</button>
</div>
</div>
</div>
<script>
function callback(){
parent.<?=$callback;?>($("#lat").val(),$("#lng").val(),$("#keyword").val());
}
</script>
<script type="text/javascript" src='//webapi.amap.com/maps?v=1.4.10&key=fea3f28a32780b33d97b2afb9a5236fe&plugin=AMap.ToolBar'></script>
<!-- UI组件库 1.0 -->
<script src="//webapi.amap.com/ui/1.0/main.js?v=1.0.11"></script>
<script type="text/javascript">
AMapUI.loadUI(['misc/PositionPicker'], function(PositionPicker) {
var lng = "<?=$lng?>";
var lat = "<?=$lat?>";
if(lng != 0 && lat != 0){
lnglatXY = [lng, lat]; //纬度,经度
}else{
lnglatXY = [109.512444,18.252986]; //三亚市政务中心
}
var map = new AMap.Map('container', {
zoom: 16,
scrollWheel: true,
resizeEnable: true,
center: lnglatXY
});
var positionPicker = new PositionPicker({
mode: 'dragMarker',
map: map
});
positionPicker.on('success', function(positionResult) {
console.log(positionResult);
$("#keyword").val(positionResult.address);
var pos = positionResult.position;
$("#lng").val(pos.lng);
$("#lat").val(pos.lat);
});
positionPicker.on('fail', function(positionResult) {
console.log(positionResult);
$("#lng").val('');
$("#lat").val('');
});
positionPicker.start(map.getBounds().getSouthWest());
// positionPicker.start();
map.panBy(0, 1);
map.addControl(new AMap.ToolBar({
liteStyle: true
}))
AMap.plugin(['AMap.Autocomplete','AMap.PlaceSearch'],function(){
var autoOptions = {
city: "三亚市", //城市,默认全国
input: "keyword"//使用联想输入的input的id
};
autocomplete= new AMap.Autocomplete(autoOptions);
var placeSearch = new AMap.PlaceSearch({
city:'三亚市',
map:map
})
//下拉框选择
AMap.event.addListener(autocomplete, "select", function(e){
placeSearch.search(e.poi.name)
});
//关键字查询
// placeSearch.search('<?=$search['keyword']?>');
});
//设置初始化标注数据
var geocoder = new AMap.Geocoder({
radius: 1000,
extensions: "all"
});
function getAddr(lnglatXY){
geocoder.getAddress(lnglatXY, function(status, result) {
// console.log(result);
if (status === 'complete' && result.info === 'OK') {
$("#keyword").val(result.regeocode.formattedAddress);
}
});
}
getAddr(lnglatXY);
//设置地图中心点
map.setCenter(lnglatXY);
var marker = new AMap.Marker({ //加点
map: map,
position: lnglatXY
});
// map.setFitView(); //自动调整视图范围
//绑定点选maker事件
function showInfoClick(e){
console.log(e);
var lnglatXY = [e.lnglat.getLng(),e.lnglat.getLat()];
getAddr(lnglatXY);
map.setCenter(lnglatXY);
map.clearMap(); // 清除地图覆盖物
var marker = new AMap.Marker({ //加点
map: map,
position: lnglatXY
});
map.setFitView();
$("#lng").val(e.lnglat.getLng());
$("#lat").val(e.lnglat.getLat());
var text = '您在 [ '+e.lnglat.getLng()+','+e.lnglat.getLat()+' ] 的位置单击了地图!'
console.log(text);
}
function showInfoDbClick(e){
console.log(e);
var lnglatXY = [e.lnglat.getLng(),e.lnglat.getLat()];
getAddr(lnglatXY);
map.setCenter(lnglatXY);
map.clearMap(); // 清除地图覆盖物
var marker = new AMap.Marker({ //加点
map: map,
position: lnglatXY
});
map.setFitView();
$("#lng").val(e.lnglat.getLng());
$("#lat").val(e.lnglat.getLat());
var text = '您在 [ '+e.lnglat.getLng()+','+e.lnglat.getLat()+' ] 的位置双击了地图!'
console.log(text);
}
map.on('click', showInfoClick);
map.on('dblclick', showInfoDbClick);
});
</script>
+40
View File
@@ -0,0 +1,40 @@
<?php
# @Author: fm453
# @Date: 2021-12-31T04:43:18+08:00
# @Last modified by: fm453
# @Last modified time: 2022-03-11T09:55:56+08:00
/* @var $this yii\web\View */
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
use yii\helpers\Url;
use yii\widgets\LinkPager;
use backend\components\Helper;
$this->title = '汽车托运入口界面';
$smsstat = Helper::getSmsStat();
$attachStat = Helper::getAttachStat();
?>
<div class="wrapper wrapper-content">
<div class="row">
<?php foreach($navs as $nav){?>
<?php $entries = $nav['entries'];?>
<div class="col-sm-5">
<div class="ibox float-e-margins">
<div class="ibox-content">
<?php foreach($entries as $item){?>
<a class="btn btn-<?= trim(Html::encode($item['class']))?>" href="<?= trim(Html::encode($item['url']))?>" data-toggle="tooltip" data-placement="top" data-title="<?= trim(Html::encode($item['title']))?>" trigger="hover|focus"><i class="<?= trim(Html::encode($item['icon'])) ?>" ></i> <?= trim(Html::encode($item['name'])) ?></a>
<?php }?>
</div>
</div>
</div>
<?php }?>
</div>
</div>
<?php
fm_load()->fm_func('userAgent');
if(!fmFunc_UA_isMobile()){
Html::jsFile('@web/js/welcome.min.js?v=1.0.0');
}
?>
+228
View File
@@ -0,0 +1,228 @@
<?php
# @Author: fm453
# @Date: 2021-12-31T04:43:18+08:00
# @Last modified by: fm453
# @Last modified time: 2022-03-11T09:56:02+08:00
/* @var $this yii\web\View */
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
use yii\helpers\Url;
use yii\widgets\LinkPager;
use backend\components\Helper;
$this->title = '汽车托运入口界面';
$smsstat = Helper::getSmsStat();
$attachStat = Helper::getAttachStat();
?>
<div class="wrapper wrapper-content">
<div class="row">
<?php if(\Yii::$app->user->can('/site/index')):?> <!--判断是否有‘/site/index’权限,有则显示,无则隐藏-->
<?php endif;?>
<div class="col-sm-3">
<div class="ibox float-e-margins">
<div class="ibox-title">
<span class="label label-info pull-right">统计</span>
<h5>账号</h5>
</div>
<div class="ibox-content">
<h1 class="no-margins">运维人员:<?=Helper::getAdminerCount()?>名</h1>
<div class="stat-percent font-bold text-danger">!!!</div>
<small>可登陆后台管理系统的</small>
</div>
</div>
</div>
<div class="col-sm-3">
<div class="ibox float-e-margins">
<div class="ibox-title">
<span class="label label-warning pull-right">统计</span>
<h5>API</h5>
</div>
<div class="ibox-content">
<h1 class="no-margins"><?=Helper::getApierCount()?></h1>
<div class="stat-percent font-bold text-warning">稳定 <i class="fa fa-bolt"></i>
</div>
<small>API接口系统用户</small>
</div>
</div>
</div>
<div class="col-sm-3">
<div class="ibox float-e-margins">
<div class="ibox-title">
<span class="label label-success pull-right">统计</span>
<h5>会员</h5>
</div>
<div class="ibox-content">
<h1 class="no-margins"><?=Helper::getMemberCount()?></h1>
<div class="stat-percent font-bold text-success">上升 <i class="fa fa-bolt"></i>
</div>
<small>可登陆各前端站点的</small>
</div>
</div>
</div>
<div class="col-sm-3">
<div class="ibox float-e-margins">
<div class="ibox-title">
<span class="label label-default pull-right">统计</span>
<h5>粉丝</h5>
</div>
<div class="ibox-content">
<h1 class="no-margins"><?=Helper::getFansCount()?></h1>
<div class="stat-percent font-bold text-default"> <i class="fa fa-bolt"></i>
</div>
<small>仅作保存的基础数据</small>
</div>
</div>
</div>
<div class="col-sm-6">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>短信</h5>
</div>
<div class="ibox-content">
<h1 class="no-margins">累计向<?=$smsstat['mobile']?>个手机发送了<?=$smsstat['sms']?>条短信</h1>
<small>发送量统计</small>
</div>
</div>
</div>
<div class="col-sm-6">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>附件</h5>
</div>
<div class="ibox-content">
<h1 class="no-margins">累计储存了<?=$attachStat['num']?>个文件</h1>
<small>合计:<?=$attachStat['size']?> Bytes</small>
</div>
</div>
</div>
<div class="col-sm-6">
<div class="ibox float-e-margins">
<div class="ibox-title">
<span class="label label-primary pull-right">历史</span>
<h5>访客</h5>
</div>
<div class="ibox-content">
<h1 class="no-margins"><?=Helper::getHistoryVisNum()?></h1>
<small>访客</small>
</div>
</div>
</div>
<div class="col-sm-6">
<div class="ibox float-e-margins">
<div class="ibox-title">
<span class="label label-danger pull-right">最近一个月</span>
<h5>活跃用户</h5>
</div>
<div class="ibox-content">
<h1 class="no-margins"><?=Helper::getMonthHistoryVisNum()?></h1>
<small><?= date('m')?>月</small>
</div>
</div>
</div>
<div class="col-sm-12">
<div id="history"></div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="ibox-content">
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>ID</th>
<th>用户名</th>
<th>登录IP</th>
<th>登录时间</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<?php foreach($log as $vo):?>
<tr>
<td><?=$vo['id']?></td>
<td><?=$vo['username']?></td>
<td><?=$vo['ip']?></td>
<td><?= date('Y-m-d H:i:s',$vo['create_time'])?></td>
<td><?=str_replace('-','',$vo['data'])?></td>
</tr>
<?php endforeach;?>
</tbody>
</table>
<!--分页-->
<div class="f-r">
<?= LinkPager::widget([
'pagination'=>$pages,
'firstPageLabel' => '首页',
'nextPageLabel' => '下一页',
'prevPageLabel' => '上一页',
'lastPageLabel' => '末页',
]) ?>
</div>
</div>
</div>
</div>
</div>
</div>
<?=Html::jsFile('@web/js/plugins/Highcharts/4.1.7/js/highcharts.js')?>
<?=Html::jsFile('@web/js/plugins/Highcharts/4.1.7/js/modules/exporting.js')?>
<script type="text/javascript">
$(function () {
$('#history').highcharts({
title: {
text: '',
x: -20 //center
},
credits: { enabled:false }, //屏蔽右下角
exporting: { enabled:false }, //屏蔽右上角
subtitle: {
text: '',
x: -20
},
xAxis: {
categories: [<?=$HistoryMonthStr?>]
},
yAxis: {
title: {
text: '访客/人'
},
min: 0.5, // 这个用来控制y轴的开始刻度(最小刻度),另外还有一个表示最大刻度的max属性
startOnTick: false, // y轴坐标是否从某一刻度开始(这个设定与标题无关)
plotLines: [{
value: 0,
width: 1,
color: '#808080'
}]
},
tooltip: {
valueSuffix: '人',
pointFormat: '<span style="color:{series.color}">{series.name}</span>: <b>{point.y:,.0f} 人</b><br/>',
shared: true
},
legend: {
layout: 'vertical',
align: 'right',
verticalAlign: 'middle',
borderWidth: 0
},
series: [{
name: '访客数',
data: [<?=$HistoryMonthNum?>]
}]
});
});
</script>
<hr>
<?php
fm_load()->fm_func('userAgent');
if(!fmFunc_UA_isMobile()){
Html::jsFile('@web/js/welcome.min.js?v=1.0.0');
}
?>
+7
View File
@@ -0,0 +1,7 @@
<div class="site-error">
<div style="margin-top: 100px;text-align: center;">
<h1>温馨提示</h1><br>
</div>
<h4 style="margin: 10px auto;text-align: center;background-color: #1ab394; color: #ffffff;width: 500px;height: 50px;line-height: 50px;border-radius: 5px;"><i class="fa fa-spinner fa-spin"></i> 功能尚未开放,敬请稍候……</h4>
</div>
+201
View File
@@ -0,0 +1,201 @@
<?php
/* @var $this \yii\web\View */
/* @var $content string */
use backend\assets\AppAsset;
use yii\helpers\Html;
use yii\helpers\Url;
use yii\bootstrap5\Nav;
use yii\bootstrap5\NavBar;
use yii\widgets\Breadcrumbs;
use common\widgets\Alert;
// AppAsset::register($this);
$keywords = '';
$description = '';
$routes = ['data']; //自添加的controllers列表集,用于为新添加的控制器在渲染视图时自动加入HTML代码段,以便兼容h+的后台模板
?>
<?php $this->beginPage() ?>
<!DOCTYPE html>
<html lang="<?= Yii::$app->language ?>">
<head>
<meta charset="<?= Yii::$app->charset ?>">
<meta name="viewport" content="width=device-width, initial-scale=1">
<?= Html::csrfMetaTags() ?>
<title><?= Html::encode($this->title) ?></title>
<meta name="renderer" content="webkit">
<meta http-equiv="Cache-Control" content="no-siteapp" />
<meta name="keywords" content="<?php echo $keywords ?>">
<meta name="description" content="<?php echo $description ?>">
<!--[if lt IE 9]>
<meta http-equiv="refresh" content="0;ie.html" />
<![endif]-->
<link rel="shortcut icon" href="<?=Url::to('@web/favicon.ico');?>">
<?=Html::cssFile('@web/bootstrap5.2.3/css/bootstrap.min.css')?>
<?=Html::cssFile('@web/css/font-awesome.css')?>
<?=Html::cssFile('@web/css/animate.min.css')?>
<?=Html::cssFile('@web/css/site.css')?>
<?=Html::cssFile('@web/css/style.min.css')?>
<!-- 以下文件必须放在这里,顺序不可改变 S-->
<?=Html::jsFile('@web/js/jquery-3.7.1.slim.min.js')?>
<?=Html::jsFile('@web/bootstrap5.2.3/js/bootstrap.min.js')?>
<?=Html::jsFile('@web/js/plugins/layer/layer.js')?>
<?=Html::jsFile('@web/js/admin.js')?>
<!-- 以下文件必须放在这里,顺序不可改变 E-->
<?=Html::cssFile('@web/css/plugins/iCheck/custom.css')?>
<?=Html::cssFile('@web/css/plugins/awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css')?>
<?php $this->head() ?>
</head>
<body class="fixed-sidebar full-height-layout gray-bg animated">
<?php $this->beginBody() ?>
<?php if((Yii::$app->controller->module->defaultRoute!="site") ||(Yii::$app->controller->module->defaultRoute=="site" && Yii::$app->controller->module->requestedRoute!=""
&& Yii::$app->controller->module->requestedRoute!="site/login")):?>
<nav class="breadcrumb fix_top hidden-sm hidden-xs" id="_HiQuickMenu" style="background-color:#ccc;width: 55px;padding-top: 15px;padding-left: 10px;position:fixed;top:40%;right:15px;z-index:9999;">
<div class="pull-right">
<a class="btn btn-primary radius goback" style="line-height:1.6em;margin-top:3px" href="javascript:history.go(-1);" title="后退">
<span class="fa fa-reply"></span>
</a>
<br>
<a class="btn btn-primary radius refresh" style="line-height:1.6em;margin-top:3px" href="javascript:location.replace(location.href);" title="刷新">
<span class="fa fa-refresh"></span>
</a>
<br>
<a class="btn btn-warning radius" style="line-height:1.6em;margin-top:3px" href="<?php echo url::toRoute(['error/report','url'=>urlDecode(Url::current())]);?>" title="报错反馈">
<span class="fa fa-at"></span>
</a>
<br>
<button class="btn btn-danger radius lockscreen" style="line-height:1.6em;margin-top:3px" title="锁屏">
<span class="fa fa-expeditedssl"></span>
</button>
&nbsp;
</div>
</nav>
<?php endif;?>
<?php if(in_array(Yii::$app->controller->module->id,$routes)): ?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-content">
<?php endif;?>
<?= Alert::widget() ?>
<?= $content ?>
<?php if(in_array(Yii::$app->controller->module->id,$routes)): ?>
</div>
</div>
</div>
</div>
</div>
<?php endif;?>
<?php $this->endBody() ?>
<style>
.modal-backdrop.in {
opacity: .7;
}
</style>
<div class="modal inmodal" id="myModal" tabindex="-1" role="dialog" aria-hidden="true" data-keyboard='false' data-backdrop="static" style="z-index:9999;">
<div class="modal-dialog">
<div class="modal-content animated bounceInRight">
<div class="modal-header">
<i class="fa fa-laptop modal-icon"></i>
<h4 class="modal-title">屏幕解锁</h4>
<small class="font-bold"><?php echo date('Y-m-d H:i:s');?></small>
</div>
<div class="modal-body">
<p id="_LockScreenTips"></p>
<form class="form-horizontal m-t" id="commentForm" novalidate="novalidate">
<div class="form-group">
<label class="col-sm-3 control-label">口令:</label>
<div class="col-sm-8">
<input id="_ScreenLockCode" name="code" type="password" class="form-control" required="" aria-required="true">
</div>
</div>
<div class="form-group">
<div class="col-sm-4 col-sm-offset-3">
<button type="button" class="btn btn-white unlockscreen">验证</button>
<button type="reset" class="btn btn-warning">再等等</button>
</div>
</div>
</form>
</div>
<div class="modal-footer" style="text-align: center;">
<button type="button" class="hidden btn btn-primary closelockscreen" data-dismiss="modal">现在点我,立即解锁</button>
</div>
</div>
</div>
</div>
<script>
//锁屏
$(function(){
var modalId = 'myModal';
sessionStorage.unLockScreen =true;
$('.lockscreen').bind('click',function(){
layer.confirm('您确认要锁屏吗?', {
btn: ['确认','算了'], //按钮
shade: true //是否显示遮罩
}, function(index){
layer.close(index);
layer.prompt(
{
title: '输入解锁屏幕时要用的口令(仅数字与字母)后按确认,即可锁屏',
formType: 0 //prompt风格,支持0-2
},
function(value,index,elem){
layer.close(index);
var code1 = value;
sessionStorage.unLockScreen =false;
sessionStorage.LockScreenCode = code1;
var msg = '锁屏完成,您的口令是:'+ code1 + ' ;如果您不小心忘记锁屏密码,请重新登陆;如果您有可能未保存的页面数据,可通过浏览器的网页开发调试工具,清除会话缓存中的锁屏键;如果您不会操作,可联系微信客服<?php echo Yii::$app->params["developerWx"];?>获取付费协助';
var msg2 = '锁屏完成;如果您不小心忘记锁屏密码,请重新登陆;如果您有可能未保存的页面数据,可通过浏览器的网页开发调试工具,清除会话缓存中的锁屏键;如果您不会操作,可联系微信客服<?php echo Yii::$app->params["developerWx"];?>获取付费协助';
$('#_LockScreenTips').html(msg2);
$('#'+modalId).modal('show');
}
);
}, function(){
layer.msg('您取消了锁屏操作', {shift: 6});
});
$('#'+modalId).on('hide.bs.modal',
function() {
$('.closelockscreen').addClass('hidden').hide();
layer.msg('好的,您已成功解锁');
});
});
$('.unlockscreen').bind('click',function(){
var code = $('#_ScreenLockCode').val();
var LockScreenCode = sessionStorage.LockScreenCode;
if(code == LockScreenCode){
sessionStorage.unLockScreen =true;
$('.closelockscreen').removeClass('hidden').show();
}else{
layer.msg('口令错误,请重新输入');
}
});
if(!sessionStorage.unLockScreen){
if(sessionStorage.LockScreenCode){
$('#'+modalId).modal('show');
}
return;
}
});
</script>
<script>
var HOME_URL = '<?php echo Url::home();?>'; //定义首页位置,用于content.min.js中快速跳转首页按钮
</script>
<!-- 以下js必须放在页尾,顺序不可更换 S-->
<?=Html::jsFile('@web/bootstrap5.2.3/js/bootstrap.min.js')?>
<?=Html::jsFile('@web/js/plugins/layer/layer.js')?>
<?=Html::jsFile('@web/js/content.min.js')?>
<!-- 以下js必须放在页尾,顺序不可更换 E-->
</body>
</html>
<?php $this->endPage() ?>
+205
View File
@@ -0,0 +1,205 @@
<?php
/* @var $this \yii\web\View */
/* @var $content string */
use backend\assets\AppAsset;
use yii\helpers\Html;
use yii\helpers\Url;
use yii\bootstrap5\Nav;
use yii\bootstrap5\NavBar;
use yii\widgets\Breadcrumbs;
use common\widgets\Alert;
//AppAsset::register($this);
$keywords = '';
$description = '';
$routes = ['data']; //自添加的controllers列表集,用于为新添加的控制器在渲染视图时自动加入HTML代码段,以便兼容h+的后台模板
?>
<?php $this->beginPage() ?>
<!DOCTYPE html>
<html lang="<?= Yii::$app->language ?>">
<head>
<meta charset="<?= Yii::$app->charset ?>">
<meta name="viewport" content="width=device-width, initial-scale=1">
<?= Html::csrfMetaTags() ?>
<title><?= Html::encode($this->title) ?></title>
<meta name="renderer" content="webkit">
<meta http-equiv="Cache-Control" content="no-siteapp" />
<meta name="keywords" content="<?php echo $keywords ?>">
<meta name="description" content="<?php echo $description ?>">
<!--[if lt IE 9]>
<meta http-equiv="refresh" content="0;ie.html" />
<![endif]-->
<link rel="shortcut icon" href="<?=Url::to('@web/favicon.ico');?>">
<?=Html::cssFile('@web/js/bootstrap-3.3.7/css/bootstrap.min.css')?>
<?=Html::cssFile('@web/css/font-awesome.css')?>
<?=Html::cssFile('@web/css/animate.min.css')?>
<?=Html::cssFile('@web/css/site.css')?>
<?=Html::cssFile('@web/css/style.min.css')?>
<!-- 以下文件必须放在这里,顺序不可改变 S-->
<?=Html::jsFile('@web/js/jquery.min.js?v=2.1.4')?>
<?=Html::jsFile('@web/js/bootstrap-3.3.7/js/bootstrap.min.js?v=3.3.7')?>
<?=Html::jsFile('@web/js/plugins/layer/layer.js')?>
<?=Html::jsFile('@web/js/admin.js')?>
<!-- 以下文件必须放在这里,顺序不可改变 E-->
<?=Html::cssFile('@web/css/plugins/iCheck/custom.css')?>
<?=Html::cssFile('@web/css/plugins/awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css')?>
<!-- Toastr通知 -->
<?=Html::cssFile('@web/css/plugins/toastr/toastr.min.css')?>
<?php $this->head() ?>
</head>
<body class="fixed-sidebar full-height-layout gray-bg animated">
<?php $this->beginBody() ?>
<?php if((Yii::$app->controller->module->defaultRoute!="site") ||(Yii::$app->controller->module->defaultRoute=="site" && Yii::$app->controller->module->requestedRoute!=""
&& Yii::$app->controller->module->requestedRoute!="site/login")):?>
<nav class="breadcrumb fix_top hidden-sm hidden-xs" id="_HiQuickMenu" style="background-color:#ccc;width: 55px;padding-top: 15px;padding-left: 10px;position:fixed;top:40%;right:15px;z-index:9999;">
<div class="pull-right">
<a class="btn btn-primary radius goback" style="line-height:1.6em;margin-top:3px" href="javascript:history.go(-1);" title="后退">
<span class="fa fa-reply"></span>
</a>
<br>
<a class="btn btn-primary radius refresh" style="line-height:1.6em;margin-top:3px" href="javascript:location.replace(location.href);" title="刷新">
<span class="fa fa-refresh"></span>
</a>
<br>
<a class="btn btn-warning radius" style="line-height:1.6em;margin-top:3px" href="<?php echo url::toRoute(['error/report','url'=>urlDecode(Url::current())]);?>" title="报错反馈">
<span class="fa fa-at"></span>
</a>
<br>
<button class="btn btn-danger radius lockscreen" style="line-height:1.6em;margin-top:3px" title="锁屏">
<span class="fa fa-expeditedssl"></span>
</button>
&nbsp;
</div>
</nav>
<?php endif;?>
<?php if(in_array(Yii::$app->controller->module->id,$routes)): ?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-content">
<?php endif;?>
<?= Alert::widget() ?>
<?= $content ?>
<?php if(in_array(Yii::$app->controller->module->id,$routes)): ?>
</div>
</div>
</div>
</div>
</div>
<?php endif;?>
<?php $this->endBody() ?>
<style>
.modal-backdrop.in {
opacity: .7;
}
</style>
<div class="modal inmodal" id="myModal" tabindex="-1" role="dialog" aria-hidden="true" data-keyboard='false' data-backdrop="static" style="z-index:9999;">
<div class="modal-dialog">
<div class="modal-content animated bounceInRight">
<div class="modal-header">
<i class="fa fa-laptop modal-icon"></i>
<h4 class="modal-title">屏幕解锁</h4>
<small class="font-bold"><?php echo date('Y-m-d H:i:s');?></small>
</div>
<div class="modal-body">
<p id="_LockScreenTips"></p>
<form class="form-horizontal m-t" id="commentForm" novalidate="novalidate">
<div class="form-group">
<label class="col-sm-3 control-label">口令:</label>
<div class="col-sm-8">
<input id="_ScreenLockCode" name="code" type="password" class="form-control" required="" aria-required="true">
</div>
</div>
<div class="form-group">
<div class="col-sm-4 col-sm-offset-3">
<button type="button" class="btn btn-white unlockscreen">验证</button>
<button type="reset" class="btn btn-warning">再等等</button>
</div>
</div>
</form>
</div>
<div class="modal-footer" style="text-align: center;">
<button type="button" class="hidden btn btn-primary closelockscreen" data-dismiss="modal">现在点我,立即解锁</button>
</div>
</div>
</div>
</div>
<script>
//锁屏
$(function(){
var modalId = 'myModal';
sessionStorage.unLockScreen =true;
$('.lockscreen').bind('click',function(){
layer.confirm('您确认要锁屏吗?', {
btn: ['确认','算了'], //按钮
shade: true //是否显示遮罩
}, function(index){
layer.close(index);
layer.prompt(
{
title: '输入解锁屏幕时要用的口令(仅数字与字母)后按确认,即可锁屏',
formType: 0 //prompt风格,支持0-2
},
function(value,index,elem){
layer.close(index);
var code1 = value;
sessionStorage.unLockScreen =false;
sessionStorage.LockScreenCode = code1;
var msg = '锁屏完成,您的口令是:'+ code1 + ' ;如果您不小心忘记锁屏密码,请重新登陆;如果您有可能未保存的页面数据,可通过浏览器的网页开发调试工具,清除会话缓存中的锁屏键;如果您不会操作,可联系微信客服<?php echo Yii::$app->params["developerWx"];?>获取付费协助';
var msg2 = '锁屏完成;如果您不小心忘记锁屏密码,请重新登陆;如果您有可能未保存的页面数据,可通过浏览器的网页开发调试工具,清除会话缓存中的锁屏键;如果您不会操作,可联系微信客服<?php echo Yii::$app->params["developerWx"];?>获取付费协助';
$('#_LockScreenTips').html(msg2);
$('#'+modalId).modal('show');
}
);
}, function(){
layer.msg('您取消了锁屏操作', {shift: 6});
});
$('#'+modalId).on('hide.bs.modal',
function() {
$('.closelockscreen').addClass('hidden').hide();
layer.msg('好的,您已成功解锁');
});
});
$('.unlockscreen').bind('click',function(){
var code = $('#_ScreenLockCode').val();
var LockScreenCode = sessionStorage.LockScreenCode;
if(code == LockScreenCode){
sessionStorage.unLockScreen =true;
$('.closelockscreen').removeClass('hidden').show();
}else{
layer.msg('口令错误,请重新输入');
}
});
if(!sessionStorage.unLockScreen){
if(sessionStorage.LockScreenCode){
$('#'+modalId).modal('show');
}
return;
}
});
</script>
<script>
var HOME_URL = '<?php echo Url::home();?>'; //定义首页位置,用于content.min.js中快速跳转首页按钮
</script>
<!-- 以下js必须放在页尾,顺序不可更换 S-->
<?=Html::jsFile('@web/js/bootstrap-3.3.7/js/bootstrap.min.js?v=3.3.7')?>
<?=Html::jsFile('@web/js/plugins/layer/layer.js')?>
<?=Html::jsFile('@web/js/content.min.js')?>
<!-- Toastr通知 -->
<?=Html::jsFile('@web/js/plugins/toastr/toastr.min.js')?>
<!-- 以下js必须放在页尾,顺序不可更换 E-->
</body>
</html>
<?php $this->endPage() ?>
+21
View File
@@ -0,0 +1,21 @@
<?php
use yii\helpers\Html;
use yii\helpers\Url;
$this->title = isset($title) ? $title : '提示';
$content = isset($content) ? $content : '';
$class = isset($class) ? $class : 'info';
$class = in_array($class,['danger','warning','success','info']) ? $class : 'info';
$buttons = isset($buttons) ? $buttons : [['title'=>'好的,我知道了','class'=>'primary','url'=>false]];
?>
<div class="site-index" style="text-align: center;width:80%;margin-left:10%;">
<div style="margin-top: 100px;">
<h1><?=Html::encode($this->title) ?></h1><br>
</div>
<div class="alert alert-<?php echo $class;?> fade in" role="alert">
<?php echo $content; ?>
</div>
<?php foreach($buttons as $btn){?>
<a <?php if($btn['url']){?> href="<?php echo $btn['url'];?>" <?php }?> class="btn btn-<?php if($btn['class']){echo $btn['class'];}else{echo 'primary';}?>"><?php if($btn['title']){echo $btn['title'];}else{echo '点击按钮';}?></a>
<?php }?>
</div>
+59
View File
@@ -0,0 +1,59 @@
<?php
#
# @Author: fm453
# @Date: 2024/7/17
# @updated: 上午11:43
# @Email: 1280880631@qq.com
/* @var $this \yii\web\View */
/* @var $content string */
use yii\helpers\Html;
use yii\helpers\Url;
$keywords = '';
$description = '';
?>
<?php $this->beginPage() ?>
<!DOCTYPE html>
<html lang="<?= Yii::$app->language ?>">
<head>
<meta charset="<?= Yii::$app->charset ?>">
<meta name="viewport" content="width=device-width, initial-scale=1">
<?= Html::csrfMetaTags() ?>
<title><?= Html::encode($this->title) ?></title>
<meta name="renderer" content="webkit">
<meta http-equiv="Cache-Control" content="no-siteapp" />
<meta name="keywords" content="<?php echo $keywords ?>">
<meta name="description" content="<?php echo $description ?>">
<!--[if lt IE 9]>
<meta http-equiv="refresh" content="0;ie.html" />
<![endif]-->
<link rel="shortcut icon" href="<?=Url::to('@web/favicon.ico');?>">
<?=Html::cssFile('@web/css/font-awesome.css?v=4.4.0')?>
<!-- 基础样式-->
<!-- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css">-->
<!-- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.css">-->
<!-- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-table@1.23.1/dist/bootstrap-table.min.css">-->
<!-- 基础样式-->
<!-- 基础JS-->
<!-- <script src="https://cdn.jsdelivr.net/npm/jquery/dist/jquery.min.js"></script>-->
<!-- <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>-->
<!-- <script src="https://cdn.jsdelivr.net/npm/bootstrap-table@1.23.1/dist/bootstrap-table.min.js"></script>-->
<!-- <script src="https://cdn.jsdelivr.net/npm/bootstrap-table@1.23.1/dist/bootstrap-table-locale-all.min.js"></script>-->
<!-- <script src="https://cdn.jsdelivr.net/npm/bootstrap-table@1.23.1/dist/locale/bootstrap-table-zh-CN.min.js"></script>-->
<!-- 基础JS-->
</head>
<body class="fixed-sidebar full-height-layout gray-bg animated">
<?php $this->beginBody() ?>
<?= $content ?>
<?php $this->endBody() ?>
</body>
</html>
<?php $this->endPage() ?>
+135
View File
@@ -0,0 +1,135 @@
<?php
/* @var $this yii\web\View */
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
use yii\helpers\Url;
use yii\widgets\LinkPager;
$this->title = '登陆日志';
?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-6">
<div class="ibox float-e-margins">
<div class="ibox-title">
<span class="label label-primary pull-right">历史</span>
<h5>访客</h5>
</div>
<div class="ibox-content">
<h1 class="no-margins"><?=\backend\components\Helper::getHistoryVisNum()?></h1>
<small>访客</small>
</div>
</div>
</div>
<div class="col-sm-6">
<div class="ibox float-e-margins">
<div class="ibox-title">
<span class="label label-danger pull-right">最近一个月</span>
<h5>活跃用户</h5>
</div>
<div class="ibox-content">
<h1 class="no-margins"><?=\backend\components\Helper::getMonthHistoryVisNum()?></h1>
<small><?= date('m')?>月</small>
</div>
</div>
</div>
<div class="col-sm-12">
<div id="history"></div>
</div>
</div>
<?php if(\Yii::$app->user->can('/log/login')):?> <!--判断是否有权限,有则显示,无则隐藏-->
<div class="row">
<div class="col-md-12">
<div class="ibox-content">
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>ID</th>
<th>用户名</th>
<th>登录IP</th>
<th>登录时间</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<?php foreach($log as $vo):?>
<tr>
<td><?=$vo['id']?></td>
<td><?=$vo['username']?></td>
<td><?=$vo['ip']?></td>
<td><?= date('Y-m-d H:i:s',$vo['create_time'])?></td>
<td><?=str_replace('-','',$vo['data'])?></td>
</tr>
<?php endforeach;?>
</tbody>
</table>
<!--分页-->
<div class="f-r">
<?= LinkPager::widget([
'pagination'=>$pages,
'firstPageLabel' => '首页',
'nextPageLabel' => '下一页',
'prevPageLabel' => '上一页',
'lastPageLabel' => '末页',
]) ?>
</div>
</div>
</div>
</div>
</div>
<?php endif;?>
</div>
<?=Html::jsFile('@web/js/plugins/Highcharts/4.1.7/js/highcharts.js')?>
<?=Html::jsFile('@web/js/plugins/Highcharts/4.1.7/js/modules/exporting.js')?>
<script type="text/javascript">
$(function () {
$('#history').highcharts({
title: {
text: '',
x: -20 //center
},
credits: { enabled:false }, //屏蔽右下角
exporting: { enabled:false }, //屏蔽右上角
subtitle: {
text: '',
x: -20
},
xAxis: {
categories: [<?=$HistoryMonthStr?>]
},
yAxis: {
title: {
text: '访客/人'
},
//min: 7.5, // 这个用来控制y轴的开始刻度(最小刻度),另外还有一个表示最大刻度的max属性
startOnTick: false, // y轴坐标是否从某一刻度开始(这个设定与标题无关)
plotLines: [{
value: 0,
width: 1,
color: '#808080'
}]
},
tooltip: {
valueSuffix: '人',
pointFormat: '<span style="color:{series.color}">{series.name}</span>: <b>{point.y:,.0f} 人</b><br/>',
shared: true
},
/*legend: {
layout: 'vertical',
align: 'right',
verticalAlign: 'middle',
borderWidth: 0
},*/
series: [{
name: '访客数',
data: [<?=$HistoryMonthNum?>]
}]
});
});
</script>
File diff suppressed because it is too large Load Diff
+281
View File
@@ -0,0 +1,281 @@
<?php
use yii\helpers\Html;use yii\helpers\Url;
?>
<!--百度编辑器-->
<?=Html::jsFile('@web/plugins/ueditor/ueditor.config.js')?>
<!--建议手动加在语言,避免在ie下有时因为加载语言失败导致编辑器加载失败-->
<!--这里加载的语言文件会覆盖你在配置项目里添加的语言类型,比如你在配置项目里配置的是英文,这里加载的中文,那最后就是中文-->
<?=Html::jsFile('@web/plugins/ueditor/ueditor.all.min.js')?>
<?=Html::jsFile('@web/plugins/ueditor/lang/zh-cn/zh-cn.js')?>
<!--日期时间选择器-->
<?=Html::jsFile('@web/js/plugins/layer/laydate/laydate.js')?>
<?=Html::cssFile('@web/js/plugins/layer/laydate/need/laydate.css')?>
<?=Html::cssFile('@web/js/plugins/layer/laydate/skins/molv/laydate.css')?>
<!--滑块选择器-->
<?=Html::cssFile('@web/css/plugins/ionRangeSlider/ion.rangeSlider.css')?>
<?=Html::cssFile('@web/css/plugins/ionRangeSlider/ion.rangeSlider.skinFlat.css')?>
<?=Html::jsFile('@web/js/plugins/ionRangeSlider/ion.rangeSlider.min.js')?>
<!--下拉选择、选项框-->
<?=Html::cssFile('@web/css/plugins/chosen/chosen.css')?>
<?=Html::jsFile('@web/js/plugins/chosen/chosen.jquery.js')?>
<?=Html::jsFile('@web/js/plugins/iCheck/icheck.min.js')?>
<script>
$(document).ready(function(){$(".i-checks").iCheck({checkboxClass:"icheckbox_square-green",radioClass:"iradio_square-green",})});
</script>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>文章信息<code>所有项如果留空则不更新</code></h5>
<div class="ibox-tools">
<a class="collapse-link">
<i class="fa fa-chevron-up"></i>
</a>
<a class="close-link">
<i class="fa fa-times"></i>
</a>
</div>
</div>
<div class="ibox-content">
<form role="form" class="form-horizontal m-t" method="post" action="<?=Url::toRoute(['save','op'=>'true'])?>" >
<input type="hidden" name="_csrf-backend" value="<?=Yii::$app->request->csrfToken;?>" />
<input type="hidden" name="id" value="<?=isset($detail['id']) ? $detail['id'] : 0;?>">
<div class="form-group">
<label class="col-sm-1 control-label"><span class="red">*</span>标题:</label>
<div class="col-sm-10">
<input class="form-control" type="text" name="title" id="title" placeholder="0" autocomplete="off" value="<?=isset($detail['title']) ? $detail['title'] : '';?>">
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">内容摘要:</label>
<div class="col-sm-11">
<textarea class="form-control" col="3" length="1000" name="des" id="des"><?=isset($detail['des']) ? $detail['des'] : ''?></textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label"><span class="red">*</span>文章分类:</label>
<div class="col-sm-2">
<div class="input-group">
<input type="text" class="form-control" name="cid_title" id="cid-title" value="<?=isset($detail['cat_title']) ? $detail['cat_title'] : '';?>" placeholder="点击选择分类" autocomplete="off" href="<?=Url::toRoute(['newscat/select','callback'=>'cid']);?>" w="80%;" h="90%;" title="选择分类" mini="load">
<input type="hidden" class="form-control" name="cid" id="cid-value" value="<?=isset($detail['cid']) ? $detail['cid'] : 0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info" onclick="clearCat('cid',<?=$id;?>)">清除</button>
</span>
</div>
<script>
function selectCat(title,id,callback,rowId)
{
// console.log(title,id,callback,rowId);
layer.closeAll();
layer.msg('已选择');
$('#'+callback+'-value').val(id);
$('#'+callback+'-title').val(title);
}
function clearCat(callback,id)
{
$('#'+callback+'-value').val('');
$('#'+callback+'-title').val('');
}
</script>
</div>
<div class="col-sm-2">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">排序</button>
</span>
<input class="form-control" type="number" name="orderby" id="orderby" placeholder="0" autocomplete="off" value="<?=isset($detail['orderby']) ? $detail['orderby'] : 0;?>">
</div>
</div>
</div>
<div class="alert alert-info">
文章详情
</div>
<div class="form-group">
<div class="col-sm-11">
<textarea id="editor" name="editor" style="min-height:300px;"><?=isset($detail['content']) ? $detail['content'] : ''?></textarea>
<script type="text/javascript">
//实例化编辑器
//建议使用工厂方法getEditor创建和引用编辑器实例,如果在某个闭包下引用该编辑器,直接调用UE.getEditor('editor')就能拿到相关的实例
var ue = UE.getEditor('editor');
/* 传入参数表,添加到已有参数表里 */
ue.ready(function() {
ue.execCommand('serverparam', {
'siteId': "<?=Yii::$app->params['siteId']?>",
'pid': "<?=Yii::$app->session->get('pid')?>",
'attachSrc': "<?=Yii::$app->params['attachSrc']?>",
'attachDir': "<?=Yii::$app->params['attachDir']?>"
});
});
</script>
</div>
</div>
<div class="alert alert-danger">
数据信息;
</div>
<div class="form-group">
<label class="col-sm-1 control-label"> 数据:</label>
<div class="col-sm-2">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">浏览</button>
</span>
<input class="form-control" type="number" name="viewed" id="viewed" placeholder="浏览量" autocomplete="off" value="<?=isset($detail['viewed']) ? $detail['viewed'] : 0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-default">人次</button>
</span>
</div>
</div>
<div class="col-sm-2">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">收藏</button>
</span>
<input class="form-control" type="number" name="liked" id="liked" placeholder="收藏量" autocomplete="off" value="<?=isset($detail['liked']) ? $detail['liked'] : 0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-default">次</button>
</span>
</div>
</div>
<div class="col-sm-2">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">在读</button>
</span>
<input class="form-control" type="number" name="reading" id="reading" placeholder="在读量" autocomplete="off" value="<?=isset($detail['reading']) ? $detail['reading'] : 0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-default">人次</button>
</span>
</div>
</div>
</div>
<div class="hr-line-dashed"></div>
<div class="form-group">
<label class="col-sm-1 control-label red"> 是否显示
</label>
<label class="checkbox i-checks">
<input <?=isset($detail['is_show'])&&$detail['is_show']==1 ? 'checked' : ''?> type="checkbox" name="is_turnover" value="1" ><i></i> 选中:是 不选:否</label>
</div>
<div class="hr-line-dashed"></div>
<div class="hr-line-dashed"></div>
<div class="form-group">
<div class="col-sm-11 col-sm-offset-1">
<span class="help-block m-b-none">本文章创建于:<?=isset($detail['create_at']) ? date('Y-m-d H:i:s', $detail['create_at']) : '';?>;最近更新时间:<?=isset($detail['update_at']) ? date('Y-m-d H:i:s', $detail['update_at']) : '';?>; </span>
</div>
</div>
<div class="hr-line-dashed"></div>
<div class="form-group">
<div class="col-sm-12 col-sm-offset-3">
<button class="btn btn-primary" type="submit">保存内容</button>
<a class="btn btn-white" href="<?=Yii::$app->request->referrer?>">取消并返回</a>
<?php if (isset($detail['id'])) {?>
<a class="btn btn-success" href="<?=Url::toRoute(['copy','id'=>$detail['id']])?>" title="复制" data-toggle="tooltip" data-placement="top" data-title="复制为新文章后进行调整" trigger="hover|focus"><i class="fa fa-copy bigger-120"></i> 复制</a>
<?php }?>
</div>
</div>
</form>
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
function showImageFrame(obj){
//取预设参数
var id,title,width,height,url;
id = $(obj).attr('data-id');
title = $(obj).attr('data-title');
width = $(obj).attr('data-width');
height = $(obj).attr('data-height');
url = $(obj).attr('data-src');
//iframe层
parent.layer.open({
type: 2,
title: title,
shadeClose: true,
shade: 0.8,
area: [width, height],
content: url //iframe的url
});
}
function deleteImage(elm){
$(elm).prev().attr("src", "../img/nopic.jpg");
$(elm).parent().prev().find("input").val("");
parent.layer.msg('图片已删除;您可重新上传');
}
function selectImage(title,path,src,callback)
{
layer.closeAll();
layer.msg('图片已选择');
$('#'+callback+'-value').val(path);
$('#'+callback+'-preview').attr('src',src);
}
</script>
<script>
laydate.skin('molv');
$(document).ready(function() {
var config = {
".chosen-select": {},
".chosen-select-deselect": {
allow_single_deselect: !0
},
".chosen-select-no-single": {
disable_search_threshold: 10
},
".chosen-select-no-results": {
no_results_text: "Oops, nothing found!"
},
".chosen-select-width": {
width: "95%"
}
};
for (var selector in config) $(selector).chosen(config[selector]);
});
</script>
<style>
.laydate_body .laydate_top{
padding:0;
}
.laydate_body .laydate_ym{
/*margin:0;
padding:5px;*/
}
.laydate_body .laydate_table{
border:0;
border-bottom: 1px solid rgb(204, 204, 204);
}
.laydate_body .laydate_bottom {
border: 0;
margin-bottom: 10px;
}
</style>
<style>
.chosen-container-single .chosen-single{
line-height:30px;
}
</style>
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,268 @@
<?php
#
# @Author: fm453
# @Date: 2024/7/17
# @updated: 上午3:31
# @Email: 1280880631@qq.com
use yii\helpers\Html;use yii\helpers\Url;
$_csrf_backend = Yii::$app->request->csrfToken;
?>
<!--基础样式-->
<?=Html::cssFile('@web/css/plugins/dataTables/dataTables.bootstrap.css')?>
<?=Html::cssFile('@web/js/plugins/dataTables-V2.1.0/datatables.css')?>
<!--基础样式-->
<!--表格编辑需要引入该插件-->
<?=Html::jsFile('@web/js/plugins/jeditable/jquery.jeditable.js')?>
<!--表格编辑需要引入该插件-->
<!-- 基础JS-->
<?=Html::jsFile('@web/js/plugins/dataTables-V2.1.0/datatables.js')?>
<!-- 基础JS-->
<div class="">
<a onclick="fnClickAddRow();" href="javascript:void(0);" class="btn btn-primary ">添加行</a>
</div>
<style>
/* 单元格连续纯字母数字强制换行显示 */
.wordwrap{
word-wrap: break-word;
word-break: break-all;
overflow: hidden;
}
/* 超长文字单元格省略号显示 */
.ellipsis{
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
-o-text-overflow: ellipsis;
}
</style>
<div id="toolbar"></div>
<table class="table table-striped table-bordered table-hover " id="table">
</table>
<script>
let $table = $('#table')
const dataUrl = "<?=Url::toRoute(['json'])?>" //获取数据的链接
const dataSaveUrl = "<?=Url::toRoute(['save'])?>" //保存数据的链接
let columns = [
{
title: 'ID',
// 覆写列标题
data: 'id',
width:'40',
visible:true,
//显示或隐藏列
// type:'string',
// 如果不设置则自动检测数据类型 date,num,num-fmt,html-num,html-num-fmt,html,string
searchable:false,
//是否允许搜索
// render:{"_": "plain",
// "filter": "filter",
// "display": "display",
// },
// 数据格式化渲染处理
defaultContent: '<i>未设置</i>',
//空值默认
className: "wordwrap ellipsis",
//设置样式
},
{
title: '标题',
data: 'title',
editable: editorFormatter,
},
{
title: '代码',
data: 'des',
},
{
title: '排序',
data: 'orderby',
}
]
function editorFormatter(){
return {
"url": dataSaveUrl,
"callback": function(sValue, y) {
let aPos = DTable.fnGetPosition(this);
DTable.fnUpdate(sValue, aPos[0], aPos[1])
},
"submitdata": function(value, settings) {
return {
"row_id": this.parentNode.getAttribute("id"),
"column": DTable.fnGetPosition(this)[2]
}
},
"width": "90%",
"height": "100%"
}
}
//数据格式化
function textFormatter( data, type, full, meta ){
return type === 'display' && data.length > 40 ?
'<span title="'+data+'">'+data.substr( 0, 38 )+'...</span>' :
data;
// 当字符串太长的时候显示点点
}
function hrefFormatter( data, type, full, meta ) {
return '<a href="'+data+'">跳转链接</a>';
// 转换超链接
}
// 定义表格操作
const options = {
columns:columns,
//列标题数据
ordering:true,
//是否允许表格排序
autoWidth:true,
// 自动宽度
paging:false,
// 是否开启本地分页
processing:true,
// 是否显示处理状态
// scrollX:true,
// scrollY:true,
//水平、垂直滚动,有问题,暂不开启
serverSide:false,
// 是否开启服务器模式
deferRender:true,
// 控制延迟渲染,提高初始化速度
searching:true,
// 是否开启本地搜索
autoFill: {alwaysAsk: true},
// 自动填充
ajax:dataUrl
}
function initTable(){
Object.assign(DataTable.defaults, options);
let DTable = new DataTable('#table')
console.log(DTable.select().$("td"));
// DTable.select("td").editable(dataSaveUrl,{
// "callback": function(sValue, y) {
// let aPos = DTable.fnGetPosition(this);
// DTable.fnUpdate(sValue, aPos[0], aPos[1])
// },
// "submitdata": function(value, settings) {
// return {
// "row_id": this.parentNode.getAttribute("id"),
// "column": DTable.fnGetPosition(this)[2]
// }
// },
// "width": "90%",
// "height": "100%"
// })
return DTable;
}
// 表格之外的方法 S
// 网络获取数据
function getData(url){
let _data = {
'_csrf-backend': "<?=$_csrf_backend ;?>"
}
return fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
// 'Content-Type': 'application/x-www-form-urlencoded'
},
body: JSON.stringify(_data)
})
.then(
function(res){
if(res.ok) {
return res.json();
}else{
throw new Error('网络连接出现问题.');
}
}
)
.then(
function(data){
return data;
}
)
.catch(error => console.error('Error:', error));
}
//保存数据
function saveData(url,data){
data['_csrf-backend'] = "<?=$_csrf_backend ;?>";
return fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(data)
})
.then(
function(res){
if(res.ok) {
return res.json();
}else{
throw new Error('网络连接出现问题.');
}
}
)
.then(
function(data){
return data;
}
)
.catch(error => console.error('Error:', error));
}
// 表格之外的方法 E
let table;
// 启动时页面加载
$(function() {
table = initTable()
getData(dataUrl).then(
function(data){
let a = {
id:1,
title:'曾经沧海 ',
des:'难为水',
orderby:9,
en:'fsfasfl'
}
let b = [a,a]
table.row.add(b).draw(false)
//向表格追加数据
// table.$("td").editable(dataSaveUrl,{
// "callback": function(sValue, y) {
// let aPos = table.fnGetPosition(this);
// console.log(aPos)
// table.fnUpdate(sValue, aPos[0], aPos[1])
// },
// "submitdata": function(value, settings) {
// return {
// "row_id": this.parentNode.getAttribute("id"),
// "column": table.fnGetPosition(this)[2]
// }
// },
// "width": "90%",
// "height": "100%"
// })
//为新添加的数据增加可编辑函数
// table.draw()
//表格重绘
}
)
})
function fnClickAddRow(){
table.row.add([1,9,8,0]).draw(false)
}
</script>
@@ -0,0 +1,255 @@
<?php
#
# @Author: fm453
# @Date: 2024/7/17
# @updated: 上午3:31
# @Email: 1280880631@qq.com
use yii\helpers\Html;use yii\helpers\Url;
$_csrf_backend = Yii::$app->request->csrfToken;
?>
<!--基础样式-->
<?=Html::cssFile('@web/css/plugins/dataTables/dataTables.bootstrap.css')?>
<!--基础样式-->
<!--表格编辑需要引入该插件-->
<?=Html::jsFile('@web/js/plugins/jeditable/jquery.jeditable.js')?>
<!--表格编辑需要引入该插件-->
<!-- 基础JS-->
<?=Html::jsFile('@web/js/plugins/dataTables/jquery.dataTables.js')?>
<?=Html::jsFile('@web/js/plugins/dataTables/dataTables.bootstrap.js')?>
<!-- 基础JS-->
<div class="">
<a onclick="fnClickAddRow();" href="javascript:void(0);" class="btn btn-primary ">添加行</a>
</div>
<script>
// $(document).ready(function() {
// var oTable = $("#editable").dataTable();
// oTable.$("td").editable("http://www.zi-han.net/theme/example_ajax.php", {
// "callback": function(sValue, y) {
// var aPos = oTable.fnGetPosition(this);
// oTable.fnUpdate(sValue, aPos[0], aPos[1])
// },
// "submitdata": function(value, settings) {
// return {
// "row_id": this.parentNode.getAttribute("id"),
// "column": oTable.fnGetPosition(this)[2]
// }
// },
// "width": "90%",
// "height": "100%"
// })
// });
// function fnClickAddRow() {
// $("#editable").dataTable().fnAddData(["Custom row", "New row", "New row", "New row", "New row"])
// }
</script>
<style>
/* 单元格连续纯字母数字强制换行显示 */
.wordwrap{
word-wrap: break-word;
word-break: break-all;
overflow: hidden;
}
/* 超长文字单元格省略号显示 */
.ellipsis{
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
-o-text-overflow: ellipsis;
}
</style>
<div id="toolbar"></div>
<table class="table table-striped table-bordered table-hover " id="table">
<tbody>
</tbody>
</table>
<script>
var $table = $('#table')
const dataUrl = "<?=Url::toRoute(['json'])?>" //获取数据的链接
const dataSaveUrl = "<?=Url::toRoute(['save'])?>" //保存数据的链接
var columns = [
{
title: 'ID',
// 覆写列标题
data: 'id',
width:'40',
visible:true,
//显示或隐藏列
// type:'string',
// 如果不设置则自动检测数据类型 date,num,num-fmt,html-num,html-num-fmt,html,string
searchable:false,
//是否允许搜索
// render:{"_": "plain",
// "filter": "filter",
// "display": "display",
// },
// 数据格式化渲染处理
defaultContent: '<i>未设置</i>',
//空值默认
className: "wordwrap ellipsis",
//设置样式
},
{
title: '标题',
data: 'title',
},
{
title: '代码',
data: 'des',
}
]
//数据格式化
function textFormatter( data, type, full, meta ){
return type === 'display' && data.length > 40 ?
'<span title="'+data+'">'+data.substr( 0, 38 )+'...</span>' :
data;
// 当字符串太长的时候显示点点
}
function hrefFormatter( data, type, full, meta ) {
return '<a href="'+data+'">跳转链接</a>';
// 转换超链接
}
// 定义表格操作
const options = {
columns:columns,
//列标题数据
ordering:true,
//是否允许表格排序
autoWidth:true,
// 自动宽度
paging:false,
// 是否开启本地分页
processing:true,
// 是否显示处理状态
// scrollX:true,
// scrollY:true,
//水平、垂直滚动,有问题,暂不开启
serverSide:false,
// 是否开启服务器模式
deferRender:true,
// 控制延迟渲染,提高初始化速度
searching:true,
// 是否开启本地搜索
autoFill: {alwaysAsk: true},
// 自动填充
}
function initTable(){
let DTable = $table.dataTable(options)
DTable.$("td").editable(dataSaveUrl,{
"callback": function(sValue, y) {
let aPos = DTable.fnGetPosition(this);
DTable.fnUpdate(sValue, aPos[0], aPos[1])
},
"submitdata": function(value, settings) {
return {
"row_id": this.parentNode.getAttribute("id"),
"column": DTable.fnGetPosition(this)[2]
}
},
"width": "90%",
"height": "100%"
})
return DTable;
}
// 表格之外的方法 S
// 网络获取数据
function getData(url){
let _data = {
'_csrf-backend': "<?=$_csrf_backend ;?>"
}
return fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
// 'Content-Type': 'application/x-www-form-urlencoded'
},
body: JSON.stringify(_data)
})
.then(
function(res){
if(res.ok) {
return res.json();
}else{
throw new Error('网络连接出现问题.');
}
}
)
.then(
function(data){
return data;
}
)
.catch(error => console.error('Error:', error));
}
//保存数据
function saveData(url,data){
data['_csrf-backend'] = "<?=$_csrf_backend ;?>";
return fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(data)
})
.then(
function(res){
if(res.ok) {
return res.json();
}else{
throw new Error('网络连接出现问题.');
}
}
)
.then(
function(data){
return data;
}
)
.catch(error => console.error('Error:', error));
}
// 表格之外的方法 E
// 启动时页面加载
$(function() {
let table = initTable()
getData(dataUrl).then(
function(data){
table.fnAddData(data.rows)
//向表格追加数据
table.$("td").editable(dataSaveUrl,{
"callback": function(sValue, y) {
let aPos = table.fnGetPosition(this);
console.log(aPos)
table.fnUpdate(sValue, aPos[0], aPos[1])
},
"submitdata": function(value, settings) {
return {
"row_id": this.parentNode.getAttribute("id"),
"column": table.fnGetPosition(this)[2]
}
},
"width": "90%",
"height": "100%"
})
//为新添加的数据增加可编辑函数
table.fnDraw()
//表格重绘
}
)
})
</script>
File diff suppressed because it is too large Load Diff
+270
View File
@@ -0,0 +1,270 @@
<?php
#
# @Author: fm453
# @Date: 2024/7/16
# @updated: 下午4:40
# @Email: 1280880631@qq.com
use yii\helpers\Html;use yii\helpers\Url;
?>
<!--树形显示-->
<?=Html::cssFile('@web/css/plugins/treeview/bootstrap-treeview.css')?>
<?=Html::jsFile('@web/js/plugins/treeview/bootstrap-treeview.js')?>
<!--数据表格-->
<?php //=Html::cssFile('@web/css/plugins/bootstrap-table/bootstrap-table.min.css')?>
<?php //=Html::jsFile('@web/js/plugins/bootstrap-table/bootstrap-table.min.js')?>
<?php //=Html::jsFile('@web/js/plugins/bootstrap-table/locale/bootstrap-table-zh-CN.min.js')?>
<?php //=Html::jsFile('@web/js/plugins/bootstrap-table/extensions/export/bootstrap-table-export.min.js')?>
<?=Html::cssFile('@web/css/plugins/bootstrap-table/bootstrap-table.min.css')?>
<?=Html::jsFile('@web/js/plugins/bootstrap-table/bootstrap-table.min.js')?>
<?=Html::jsFile('@web/js/plugins/bootstrap-table/locale/bootstrap-table-zh-CN.min.js')?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-3">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>展开</h5>
<div class="ibox-tools">
<a class="collapse-link">
<i class="fa fa-chevron-up"></i>
</a>
</div>
</div>
<div class="ibox-content">
<div id="treeview" class="test"></div>
</div>
</div>
</div>
<div class="col-sm-6">
<div class="example-wrap">
<div class="example">
<div id="toolbar">
<button id="remove" class="btn btn-danger" disabled>
<i class="fa fa-trash"></i> Delete
</button>
</div>
<table
id="table"
data-toolbar="#toolbar"
data-search="true"
data-show-refresh="true"
data-show-toggle="true"
data-show-columns="true"
data-show-columns-toggle-all="true"
data-show-export="true"
data-detail-view="true"
data-click-to-select="true"
data-detail-formatter="detailFormatter"
data-minimum-count-columns="2"
data-show-pagination-switch="true"
data-pagination="true"
data-id-field="id"
data-page-list="[10, 25, 50, 100, all]"
data-show-footer="true"
data-side-pagination="server"
data-url="<?=Url::toRoute(['json'])?>"
data-query-params="queryParams"
data-row-style="rowStyle"
data-response-handler="responseHandler">
<thead>
<tr>
<th data-radio="true"></th>
<th data-field="id" data-halign="left">ID</th>
<th data-field="title" data-cell-style="cellStyle" data-halign="right">标题</th>
<th data-field="des" data-halign="center">代码</th>
</tr>
</thead>
</table>
</div>
</div>
</div>
</div>
</div>
<!--树形结构处理-->
<script>
var e = t = '[{"text": "父节点 DD","nodes": [{"text": "子节点 1","nodes": [{"text": "孙子节点 1"},{"text": "孙子节点 2"}]},{"text": "子节点 2"}]},{"text": "父节点 2"},{"text": "父节点 3"},{"text": "父节点 4"},{"text": "父节点 5"}]';
$("#treeview").treeview({
levels: 99,
data: e,
onNodeSelected: function(e, o) {
console.log("<p>您单击了 " + o.text + "</p>")
}
});
</script>
<!--数据表格处理-->
<script>
function cellStyle(e, t, o) {
var n = ["active", "success", "info", "warning", "danger"];
return o % 2 === 0 && o / 2 < n.length ? {
classes: n[o / 2]
} : {}
}
function rowStyle(e, t) {
var o = ["active", "success", "info", "warning", "danger"];
return t % 2 === 0 && t / 2 < o.length ? {
classes: o[t / 2]
} : {}
}
function queryParams() {
return {
type: "owner",
sort: "updated",
direction: "desc",
per_page: 100,
page: 1
}
}
// _____
var $table = $('#table')
var $remove = $('#remove')
var selections = []
function getIdSelections() {
return $.map($table.bootstrapTable('getSelections'), function (row) {
return row.id
})
}
function responseHandler(res) {
$.each(res.rows, function (i, row) {
row.state = $.inArray(row.id, selections) !== -1
})
return res
}
function detailFormatter(index, row) {
var html = []
$.each(row, function (key, value) {
html.push('<p><b>' + key + ':</b> ' + value + '</p>')
})
return html.join('')
}
function operateFormatter(value, row, index) {
return [
'<a class="like" href="javascript:void(0)" title="Like">',
'<i class="fa fa-heart"></i>',
'</a> ',
'<a class="remove" href="javascript:void(0)" title="Remove">',
'<i class="fa fa-trash"></i>',
'</a>'
].join('')
}
window.operateEvents = {
'click .like': function (e, value, row, index) {
alert('You click like action, row: ' + JSON.stringify(row))
},
'click .remove': function (e, value, row, index) {
$table.bootstrapTable('remove', {
field: 'id',
values: [row.id]
})
}
}
function totalTextFormatter(data) {
return 'Total'
}
function totalNameFormatter(data) {
console.log(data);
return data.length
}
function totalPriceFormatter(data) {
var field = this.field
return '$' + data.map(function (row) {
return +row[field].substring(1)
}).reduce(function (sum, i) {
return sum + i
}, 0)
}
function initTable() {
$table.bootstrapTable('destroy').bootstrapTable(
// {
// columns: [
// [
// {
// field: 'state',
// checkbox: true,
// rowspan: 2,
// align: 'center',
// valign: 'middle'
// },
// {
// title: 'Item ID',
// field: 'id',
// rowspan: 2,
// align: 'center',
// valign: 'middle',
// sortable: true,
// footerFormatter: totalTextFormatter
// },
// {
// title: 'Item Detail',
// colspan: 3,
// align: 'center'
// }
// ],
// [
// {
// field: 'name',
// title: 'Item Name',
// sortable: true,
// footerFormatter: totalNameFormatter,
// align: 'center'
// },
// {
// field: 'price',
// title: 'Item Price',
// sortable: true,
// align: 'center',
// footerFormatter: totalPriceFormatter
// },
// {
// field: 'operate',
// title: 'Item Operate',
// align: 'center',
// clickToSelect: false,
// events: window.operateEvents,
// formatter: operateFormatter
// }
// ]
// ]
// }
)
$table.on('check.bs.table uncheck.bs.table ' +
'check-all.bs.table uncheck-all.bs.table',
function () {
$remove.prop('disabled', !$table.bootstrapTable('getSelections').length)
// save your data, here just save the current page
selections = getIdSelections()
// push or splice the selections if you want to save all data selections
})
$table.on('all.bs.table', function (e, name, args) {
console.log(name, args)
})
$remove.click(function () {
var ids = getIdSelections()
$table.bootstrapTable('remove', {
field: 'id',
values: ids
})
$remove.prop('disabled', true)
})
}
$(function() {
initTable()
})
</script>
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,835 @@
<?php
#
# @Author: fm453
# @Date: 2024/7/17
# @updated: 上午3:31
# @Email: 1280880631@qq.com
use yii\helpers\Url;
$_csrf_backend = Yii::$app->request->csrfToken;
?>
<!--列排序-->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/akottr/dragtable@master/dragtable.css">
<!--列排序-->
<!--列宽调整-->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/jquery-resizable-columns@0.2.3/dist/jquery.resizableColumns.min.css">
<!--列宽调整-->
<!--树形表-->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/jquery-treegrid@0.3.0/css/jquery.treegrid.css">
<!--树形表-->
<!--基础样式-->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-table@1.23.1/dist/bootstrap-table.min.css">
<!--基础样式-->
<!--行排序-->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-table@1.23.1/dist/extensions/reorder-rows/bootstrap-table-reorder-rows.css">
<!--行排序-->
<!--表头固定-->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-table@1.23.1/dist/extensions/sticky-header/bootstrap-table-sticky-header.css">
<!--表头固定-->
<script src="https://cdn.jsdelivr.net/npm/jquery/dist/jquery.min.js"></script>
<!--数据导出-->
<script src="https://cdn.jsdelivr.net/npm/tableexport.jquery.plugin@1.29.0/tableExport.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/tableexport.jquery.plugin@1.29.0/libs/jsPDF/jspdf.umd.min.js"></script>
<!--数据导出-->
<!--列排序-->
<script src="https://cdn.jsdelivr.net/npm/jqueryui@1.11.1/jquery-ui.min.js"></script>
<script src="https://cdn.jsdelivr.net/gh/akottr/dragtable@master/jquery.dragtable.js"></script>
<!--列排序-->
<script src="https://cdn.jsdelivr.net/npm/tablednd@1.0.5/dist/jquery.tablednd.min.js"></script>
<!--列宽调整-->
<script src="https://cdn.jsdelivr.net/npm/jquery-resizable-columns@0.2.3/dist/jquery.resizableColumns.min.js"></script>
<!--列宽调整-->
<!--树形表-->
<script src="https://cdn.jsdelivr.net/npm/jquery-treegrid@0.3.0/js/jquery.treegrid.min.js"></script>
<!--树形表-->
<!-- 基础JS-->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap-table@1.23.1/dist/bootstrap-table.min.js"></script>
<!--cookie缓存数据-->
<script src="https://cdn.jsdelivr.net/npm/bootstrap-table@1.23.1/dist/extensions/cookie/bootstrap-table-cookie.min.js"></script>
<!--cookie缓存数据-->
<script src="https://cdn.jsdelivr.net/npm/bootstrap-table@1.23.1/dist/locale/bootstrap-table-zh-CN.min.js"></script>
<!-- 基础JS-->
<!--表数据导出-->
<script src="https://cdn.jsdelivr.net/npm/bootstrap-table@1.23.1/dist/extensions/export/bootstrap-table-export.min.js"></script>
<!--表数据导出-->
<!--列筛选过滤-->
<script src="https://cdn.jsdelivr.net/npm/bootstrap-table@1.23.1/dist/extensions/filter-control/bootstrap-table-filter-control.min.js"></script>
<!--列筛选过滤-->
<!--行分组-->
<script src="https://cdn.jsdelivr.net/npm/bootstrap-table@1.23.1/dist/extensions/group-by-v2/bootstrap-table-group-by.min.js"></script>
<!--行分组-->
<!--复合排序-->
<script src="https://cdn.jsdelivr.net/npm/bootstrap-table@1.23.1/dist/extensions/multiple-sort/bootstrap-table-multiple-sort.js"></script>
<!--复合排序-->
<!--表格打印-->
<script src="https://cdn.jsdelivr.net/npm/bootstrap-table@1.23.1/dist/extensions/print/bootstrap-table-print.min.js"></script>
<!--表格打印-->
<!--列排序-->
<script src="https://cdn.jsdelivr.net/npm/bootstrap-table@1.23.1/dist/extensions/reorder-columns/bootstrap-table-reorder-columns.min.js"></script>
<!--列排序-->
<!--行排序-->
<script src="https://cdn.jsdelivr.net/npm/bootstrap-table@1.23.1/dist/extensions/reorder-rows/bootstrap-table-reorder-rows.min.js"></script>
<!--行排序-->
<!--列宽调整-->
<script src="https://cdn.jsdelivr.net/npm/bootstrap-table@1.23.1/dist/extensions/resizable/bootstrap-table-resizable.min.js"></script>
<!--列宽调整-->
<!--表头固定-->
<script src="https://cdn.jsdelivr.net/npm/bootstrap-table@1.23.1/dist/extensions/sticky-header/bootstrap-table-sticky-header.min.js"></script>
<!--表头固定-->
<!--高级搜索-->
<script src="https://cdn.jsdelivr.net/npm/bootstrap-table@1.23.1/dist/extensions/toolbar/bootstrap-table-toolbar.min.js"></script>
<!--高级搜索-->
<!--树形表-->
<script src="https://cdn.jsdelivr.net/npm/bootstrap-table@1.23.1/dist/extensions/treegrid/bootstrap-table-treegrid.min.js"></script>
<!--树形表-->
<script src="https://cdn.jsdelivr.net/npm/bootstrap-table@1.23.1/dist/extensions/addrbar/bootstrap-table-addrbar.min.js"></script>
<!--表格可编辑-->
<script src="https://cdn.jsdelivr.net/npm/bootstrap-table@1.23.1/dist/extensions/editable/bootstrap-table-editable.min.js"></script>
<!--表格可编辑-->
<!--绑定键盘事件监听-->
<script src="https://cdn.jsdelivr.net/npm/bootstrap-table@1.23.1/dist/extensions/key-events/bootstrap-table-key-events.min.js"></script>
<!--绑定键盘事件监听-->
<style>
.select{
width: 100%;
}
.operateIcon {
margin-right: 10px;
}
.uppercase {
text-transform: uppercase;
}
td.success {
background: green;
color: white;
}
#forTable {
width:98%;
padding-left:1%;
}
</style>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-content">
<div class="col-sm-12" id="forTable">
<div id="toolbar">
<button id="remove" class="btn btn-danger" disabled>
<i class="fa fa-trash"></i>
</button>
<button id="add" class="btn btn-primary">
<i class="fa fa-plus"></i>
</button>
<div class="btn-group">
<select id="select" class="form-control" name="filterAlgorithm">
<option value="and" selected>全部符合</option>
<option value="or">满足任一</option>
</select>
<button class="btn btn-secondary" id="filterBy" style="width:80px;">筛选</button>
</div>
</div>
<table id="table">
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
var $table = $('#table')
var $remove = $('#remove')
var $add = $('#add')
var selections = []
const dataUrl = "<?=Url::toRoute(['json'])?>" //获取数据的链接
const datasaveUrl = "<?=Url::toRoute(['save'])?>" //保存数据的链接
var icons = {
detailOpen:"bi-toggle-on",
detailClose:"bi-toggle-off",
advancedSearchIcon: 'bi-search',
//bi-*或fa-*,取决于图标前缀配置
}
var sortPriority = [{"sortName": "title","sortOrder":"desc"},{"sortName":"des","sortOrder":"desc"}]
var columns2 = [
[
{
colspan: 2,
align: 'center',
valign: 'middle',
title: '选择'
},
{
colspan: 2,
align: 'center',
valign: 'middle',
title: '详情'
},
{
title: '操作',
field: 'options',
rowspan: 2,
class: 'success',
align: 'center',
valign: 'middle',
sortable: true,
width:80,
widthUnit:"px",
halign: 'left',
clickToSelect:false,
formatter: operateFormatter,
footerFormatter: TextCountFormatter,
events: 'operateEvents',
visible:true,
cellStyle:'cellStyle',
filterControl:"select",
searchable:false
}
],
[
{
field: 'state',
checkbox: true,
rowspan: 2,
align: 'center',
valign: 'middle',
width:10,
widthUnit:"px",
escape:true,
//忽略该列的传值
formatter:stateFormatter,
footerFormatter:"CountTitleFormatter",
searchable:false
},
{
title: 'ID',
field: 'id',
rowspan: 2,
align: 'center',
valign: 'middle',
sortable: true,
width:20,
widthUnit:"px",
halign: 'left',
footerFormatter: NumCountFormatter,
searchable:false
}
],
[
{
title: '标题',
field: 'title',
rowspan: 1,
align: 'center',
valign: 'middle',
sortable: true,
width:120,
widthUnit:"px",
halign: 'left',
footerFormatter: TextCountFormatter,
searchHighlightFormatter:customSearchFormatter,
editable: {
type: 'text',
title: 'Enter Name',
validate: function(value) {
if (!value) {
return 'The name is required';
}
}
},
cellStyle:'cellStyle',
filterControl:"input",
searchable:false
},
{
title: '代码',
field: 'des',
rowspan: 1,
align: 'center',
valign: 'middle',
sortable: true,
width:80,
widthUnit:"px",
halign: 'left',
footerFormatter: TextCountFormatter,
searchHighlightFormatter:customSearchFormatter,
titleTooltip:'英文简写的代码,后期用于权限判断等场景',
visible:true,
cellStyle:'cellStyle',
filterControl:"select",
searchable:false
}
]
]
var columns = [
{
align: 'left',
valign: 'middle',
width:10,
widthUnit:"px",
style:'width:15px',
escape:true,
//忽略该列的传值
formatter:indexFormatter,
searchable:false
},
{
field: 'state',
checkbox: true,
align: 'center',
valign: 'middle',
width:10,
widthUnit:"px",
escape:true,
//忽略该列的传值
formatter:stateFormatter,
footerFormatter:"CountTitleFormatter",
searchable:false
},
{
title: 'ID',
field: 'id',
align: 'center',
valign: 'middle',
sortable: true,
width:20,
widthUnit:"px",
halign: 'left',
footerFormatter: NumCountFormatter,
searchable:false
},
{
title: '标题',
field: 'title',
rowspan: 1,
align: 'center',
valign: 'middle',
sortable: true,
width:120,
widthUnit:"px",
halign: 'left',
footerFormatter: TextCountFormatter,
searchHighlightFormatter:customSearchFormatter,
editable:titleEditor,
cellStyle:'cellStyle',
filterControl:"input",
searchable:true
},
{
title: '代码',
field: 'des',
align: 'center',
valign: 'middle',
sortable: true,
// editable:titleEditor,
width:80,
widthUnit:"px",
halign: 'left',
footerFormatter: TextCountFormatter,
searchHighlightFormatter:customSearchFormatter,
titleTooltip:'英文简写的代码,后期用于权限判断等场景',
visible:true,
cellStyle:'cellStyle',
filterControl:"select",
searchable:true
},
{
title: '操作',
field: 'options',
// class: 'success',
align: 'center',
valign: 'middle',
sortable: false,
width:80,
widthUnit:"px",
halign: 'left',
clickToSelect:false,
formatter: operateFormatter,
footerFormatter: TextCountFormatter,
events: 'operateEvents',
visible:true,
cellStyle:'cellStyle',
filterControl:"select",
searchable:false
}
]
// 定义表格操作
const options = {
// locale:"zh-CN",
//中文(直接JS添加了中文引用时可以不用设置
toolbar:"#toolbar",
//指定工具栏
columns:columns,
//定义表列标题
showColumns: true,
//列标题筛选
showColumnsToggleAll:true,
//一键筛选全部列
showColumnsSearch:true,
//筛选列时可搜索列名
showRefresh: true,
//刷新
showToggle: true,
//切换卡片视图
showExport:true,
exportTypes:['json', 'xml', 'csv', 'txt', 'sql', 'excel', 'pdf'],
//导出(TBD PDF导出时中文乱码,待修正)
search: true,
//搜索
showSearchClearButton:true,
//搜索框可清空
showSearchButton:false,
// 显示搜索图标
searchHighlight:true,
//高亮搜索结果
visibleSearch:true,
//只在可视单元格内搜索
advancedSearch:true,
idTable:"advancedTable",
//高级搜索
showFullscreen:true,
// 全屏
addrbar: true,
//地址栏 TBD 未调试
// showHeader:false,
//关闭表头列标题
headerStyle:"headerStyle",
//表头样式定义函数
showFooter:true,
//显示表格底部
footerStyle:"footerStyle",
//表格底部风格定义函数
pagination:false,
//分页
showPaginationSwitch:true,
//分页切换
clickToSelect:false,
//行点击即选中
responseHandler:"responseHandler",
//获取数据的后续响应操作
buttonsClass:"secondary",
//按钮样式(secondary,default,primary,warning,danger,success……)
detailView:true,
detailViewIcon:false,
showDetail:false,
//行首添加显示详情按钮(图标必须false,否则会在表首添加1列;开启列拖动排序时,需要禁用该项)
detailFormatter:"detailFormatter",
//卡片视图格式化操作
idField: 'id',
//指定ID列
buttons:'Buttons',
// 添加自定义按钮
showButtonText:false,
//显示按钮文字
// singleSelect:true,
//设置仅单选
theadClasses:"thead-dark",
//表头样式(thead-light,thead-dark) TBD 未调试
sortClass:"table-active",
//排序列的样式
sortReset:true,
// 在第三次点击的时候重置排序
totalField:"total",
dataField:"rows",
//仅在设置了直接从URL取数据时有效,总数变量、数据集变量
iconSize:"undefined",
// 图标大小 undefined,lg,sm
icons:"icons",
//自定义图标
filterControl:false,
//开启列筛选( TBD 选择式筛选不能正确显示 ,且与搜索功能有些冲突,暂不开启)
groupBy:false,
//分组
groupByField: "des",
// groupByField: ["des","id"],
// 按指定字段分组
showMultiSort:true,
// sortPriority:"sortPriority",
//高级筛选(默认筛选条件设置项有问题,暂不设置)
showPrint:true,
// printStyles:['https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.5.2/css/all.min.css'],
//打印及配置
reorderableColumns:true,
//列排序
useRowAttrFunc:true,
reorderableRows:true,
//行排序
resizable:true,
// 列宽调整
stickyHeader: true,
stickyHeaderOffsetLeft: parseInt($('body').css('padding-left'), 10),
stickyHeaderOffsetRight: parseInt($('body').css('padding-right'), 10),
// 固定表头
rememberOrder:false,
//记住排序 TBD 仅列标题记录了,暂不开启
// treeShowField: 'title',
// parentIdField: 'pcat_id',
//树形表 TBD 未调试完成
editable:true,
//表格可编辑
cookie:true,
cookieIdTable:'NewsCatListTable',
// COOKIE缓存
keyEvents: true,
}
function getIdSelections() {
return $.map($table.bootstrapTable('getSelections'), function (row) {
return row.id
})
}
function responseHandler(res) {
$.each(res.rows, function (i, row) {
row.state = $.inArray(row.id, selections) !== -1
})
return res
}
function test(index) {
$table.bootstrapTable('toggleDetailView', index);
}
window.operateEvents = {
'click .like': function (e, value, row, index) {
console.log(e)
console.log(value)
console.log(row)
console.log(index)
alert('You click like action, row: ' + JSON.stringify(row))
},
'click .remove': function (e, value, row, index) {
$table.bootstrapTable('remove', {
field: 'id',
values: [row.id]
})
},
'click .save': function (e, value, row, index) {
saveData(datasaveUrl,row)
},
'click .editable-click':function (e, value, row, index) {
console.log('要编辑')
},
}
//单元格编辑操作
function titleEditor(value,row,index){
return [
'<a class="operateIcon like" onclick="test(this)" title="Like">',
'<i class="fa fa-heart"></i>',
'</a> ',
'<a class="operateIcon view" onclick="test('+index+')" title="浏览">',
'<i class="fa fa-eye"></i>',
'</a> ',
'<a class="operateIcon save" href="javascript:void(0)" title="Save">',
'<i class="fa fa-save"></i>',
'</a> ',
'<a class="operateIcon remove" href="javascript:void(0)" title="Remove">',
'<i class="fa fa-trash"></i>',
'</a>'
].join('')
}
// 各种格式化操作
//操作动作列
function operateFormatter(value, row, index) {
return [
'<a class="operateIcon like" onclick="test(this)" title="Like">',
'<i class="fa fa-heart"></i>',
'</a> ',
'<a class="operateIcon view" onclick="test('+index+')" title="浏览">',
'<i class="fa fa-eye"></i>',
'</a> ',
'<a class="operateIcon save" href="javascript:void(0)" title="Save">',
'<i class="fa fa-save"></i>',
'</a> ',
'<a class="operateIcon remove" href="javascript:void(0)" title="Remove">',
'<i class="fa fa-trash"></i>',
'</a>'
].join('')
}
//搜索匹配项高亮
function customSearchFormatter(value, searchText){
console.log(searchText)
return value.toString().replace(new RegExp('(' + searchText + ')', 'gim'), '<span style="background-color: pink;border: 1px solid red;border-radius:90px;padding:4px">$1</span>')
}
// 行内容格式化 卡片视图(仅对当前行生效)
function detailFormatter(index, row) {
var html = []
$.each(row, function (key, value) {
html.push('<p><kbd>' + key + ':</kbd> ' + value + '</p>')
})
return html.join('')
}
// 单元格格式化操作 TBD,根据具体业务需要再作更改
function indexFormatter(value, row, index) {
return index+1;
}
function stateFormatter(value, row, index) {
if (index === 2) {
return {
disabled: true
}
}
if (index === 1) {
return {
disabled: true,
checked: true
//指定选中
}
}
return value
}
function titleFormatter(value, row) {
var icon = row.id % 2 === 0 ? 'fa-star' : 'fa-star-and-crescent'
return '<i class="fa ' + icon + '"></i> ' + value
}
function priceFormatter(value) {
// 16777215 == ffffff in decimal
var color = '#' + Math.floor(Math.random() * 6777215).toString(16)
return '<div style="color: ' + color + '">' +
'<i class="fa fa-dollar-sign"></i>' +
value.substring(1) +
'</div>'
}
//表格底统计格式化操作
function CountTitleFormatter(){
return '总计'
}
function TextCountFormatter() {
return ''
}
function PriceCountFormatter(data) {
var field = this.field
return '$' + data.map(function (row) {
return +row[field].substring(1)
}).reduce(function (sum, i) {
return sum + i
}, 0)
}
function NumCountFormatter(data) {
return data.length
}
//表格样式
function cellStyle(value, row, index) {
var classes = [
'bg-blue',
'bg-green',
'bg-orange',
'bg-yellow',
'bg-red'
]
if (index % 2 === 0 && index / 2 < classes.length) {
return {
classes: classes[index / 2]
}
}
return {
css: {
color: 'blue'
}
}
}
function footerStyle(column) {
return {
id: {
classes: 'uppercase'
},
name: {
css: {'font-weight': 'normal'}
},
price: {
css: {color: 'red'}
}
}[column.field]
}
function headerStyle(column) {
return {
id: {
classes: 'uppercase'
},
title: {
css: {background: 'yellow'}
},
des: {
css: {color: 'red'}
}
}[column.field]
}
//toolbar按钮操作
//注入自定义按钮
function Buttons () {
return {
btnAdd: {
text: '新增一行',
icon: 'bi-plus',
event: function () {
alert('将添加新一行数据')
},
attributes: {
title: '新增一行数据'
}
}
}
}
// 复合筛选
$('#filterBy').click(function () {
var filterAlgorithm = $('[name="filterAlgorithm"]').val()
$table.bootstrapTable('refreshOptions', {
filterOptions: {
filterAlgorithm: filterAlgorithm
}
})
$table.bootstrapTable('filterBy', {
id: 3,
title: '价格'
})
})
// 保存编辑后的数据 TBD
$table.on('editable-save.bs.table', function(e, field, row, oldValue, $el) {
$.ajax({
type: "POST",
url: "your_update_url",
data: {name: row.name, price: row.price, id: row.id},
dataType: "json",
success: function(response) {
// 处理服务器响应
},
error: function(response) {
// 处理错误情况
}
});
});
// 更新表格参数 TBD 未调试
function refreshTable(key,value){
$table.bootstrapTable('refreshOptions', {
key: value
})
}
// 表格初始化
function initTable() {
$table.bootstrapTable('destroy').bootstrapTable(options)
$table.on('check.bs.table uncheck.bs.table ' +
'check-all.bs.table uncheck-all.bs.table',
function () {
$remove.prop('disabled', !$table.bootstrapTable('getSelections').length)
// save your data, here just save the current page
selections = getIdSelections()
// push or splice the selections if you want to save all data selections
})
$table.on('all.bs.table', function (e, name, args) {
// console.log(name, args)
})
$remove.click(function () {
var ids = getIdSelections()
$table.bootstrapTable('remove', {
field: 'id',
values: ids
})
$remove.prop('disabled', true)
})
}
// 表格之外的方法 S
// 网络获取数据
function getData(url){
var _data = {
'_csrf-backend': "<?=$_csrf_backend ;?>"
}
return fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
// 'Content-Type': 'application/x-www-form-urlencoded'
},
body: JSON.stringify(_data)
})
.then(
function(res){
if(res.ok) {
return res.json();
}else{
throw new Error('网络连接出现问题.');
}
}
)
.then(
function(data){
return data;
}
)
.catch(error => console.error('Error:', error));
}
//保存数据
function saveData(url,data){
data['_csrf-backend'] = "<?=$_csrf_backend ;?>";
return fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(data)
})
.then(
function(res){
if(res.ok) {
return res.json();
}else{
throw new Error('网络连接出现问题.');
}
}
)
.then(
function(data){
return data;
}
)
.catch(error => console.error('Error:', error));
}
// 表格之外的方法 E
// 启动时页面加载
$(function() {
initTable()
getData(dataUrl).then(
function(data){
var _emptyRow = {id:''}
$table.bootstrapTable('append',data.rows) //向表格追加数据
$table.bootstrapTable('append',_emptyRow) //添加空白行
$table.bootstrapTable('scrollTo','bottom') //添加完数据转至表格底
}
)
})
</script>
File diff suppressed because it is too large Load Diff
+845
View File
@@ -0,0 +1,845 @@
<?php
#
# @Author: fm453
# @Date: 2024/7/17
# @updated: 上午3:31
# @Email: 1280880631@qq.com
use yii\helpers\Html;use yii\helpers\Url;
$_csrf_backend = Yii::$app->request->csrfToken;
?>
<!--列排序-->
<?=Html::cssFile('@web/js/plugins/bootstrap-table-V1.23.1/dependence/dragtable/dragtable.css?v=2.0.15')?>
<!--列排序-->
<!--列宽调整-->
<?=Html::cssFile('@web/js/plugins/bootstrap-table-V1.23.1/dependence/jquery-resizable-columns/jquery.resizableColumns.min.css?v=0.2.3')?>
<!--列宽调整-->
<!--树形表-->
<?=Html::cssFile('@web/js/plugins/bootstrap-table-V1.23.1/dependence/jquery-treegrid/jquery.treegrid.css?v=0.3.0')?>
<!--树形表-->
<!--基础样式-->
<?=Html::cssFile('@web/js/plugins/bootstrap-table-V1.23.1/dependence/bootstrap/bootstrap.min.css?v=5.3.3')?>
<?=Html::cssFile('@web/js/plugins/bootstrap-table-V1.23.1/dependence/bootstrap-icons/bootstrap-icons.css?v=1.11.3')?>
<?=Html::cssFile('@web/js/plugins/bootstrap-table-V1.23.1/bootstrap-table.min.css?v=1.23.1')?>
<!--基础样式-->
<!--行排序-->
<?=Html::cssFile('@web/js/plugins/bootstrap-table-V1.23.1/extensions/reorder-rows/bootstrap-table-reorder-rows.css?v=1.23.1')?>
<!--行排序-->
<!--表头固定-->
<?=Html::cssFile('@web/js/plugins/bootstrap-table-V1.23.1/extensions/sticky-header/bootstrap-table-sticky-header.css?v=1.23.1')?>
<!--表头固定-->
<?=Html::jsFile('@web/js/plugins/bootstrap-table-V1.23.1/dependence/jquery/jquery.min.js?v=3.7.1')?>
<?=Html::jsFile('@web/js/plugins/bootstrap-table-V1.23.1/dependence/jquery-ui/jquery-ui.min.js?v=1.11.1')?>
<!--数据导出-->
<?=Html::jsFile('@web/js/plugins/bootstrap-table-V1.23.1/dependence/tableExport/tableExport.min.js?v=1.29.0')?>
<?=Html::jsFile('@web/js/plugins/bootstrap-table-V1.23.1/dependence/tableExport/jspdf.umd.min.js?v=1.29.0')?>
<!--数据导出-->
<!--列排序-->
<?=Html::jsFile('@web/js/plugins/bootstrap-table-V1.23.1/dependence/dragtable/dragtable.js?v=2.0.15')?>
<!--列排序-->
<?=Html::jsFile('@web/js/plugins/bootstrap-table-V1.23.1/dependence/jquery/jquery.tablednd.min.js?v=1.0.5')?>
<!--列宽调整-->
<?=Html::jsFile('@web/js/plugins/bootstrap-table-V1.23.1/dependence/jquery-resizable-columns/jquery.resizableColumns.min.js?v=0.1.0')?>
<!--列宽调整-->
<!--树形表-->
<?=Html::jsFile('@web/js/plugins/bootstrap-table-V1.23.1/dependence/jquery-treegrid/jquery.treegrid.min.js?v=0.3.0')?>
<!--树形表-->
<!-- 基础JS-->
<?=Html::jsFile('@web/js/plugins/bootstrap-table-V1.23.1/dependence/bootstrap/bootstrap.bundle.min.js?v=5.3.3')?>
<?=Html::jsFile('@web/js/plugins/bootstrap-table-V1.23.1/bootstrap-table.min.js?v=1.23.1')?>
<!--cookie缓存数据-->
<?=Html::jsFile('@web/js/plugins/bootstrap-table-V1.23.1/extensions/cookie/bootstrap-table-cookie.min.js?v=1.23.1')?>
<!--cookie缓存数据-->
<?=Html::jsFile('@web/js/plugins/bootstrap-table-V1.23.1/extensions/auto-refresh/bootstrap-table-auto-refresh.min.js?v=1.23.1')?>
<?=Html::jsFile('@web/js/plugins/bootstrap-table-V1.23.1/locale/bootstrap-table-zh-CN.min.js?v=1.23.1')?>
<!-- 基础JS-->
<!--表数据导出-->
<?=Html::jsFile('@web/js/plugins/bootstrap-table-V1.23.1/extensions/export/bootstrap-table-export.min.js?v=1.23.1')?>
<!--表数据导出-->
<!--列筛选过滤-->
<?=Html::jsFile('@web/js/plugins/bootstrap-table-V1.23.1/extensions/filter-control/bootstrap-table-filter-control.min.js?v=1.23.1')?>
<!--列筛选过滤-->
<!--行分组-->
<?=Html::jsFile('@web/js/plugins/bootstrap-table-V1.23.1/extensions/group-by-v2/bootstrap-table-group-by.min.js?v=1.23.1')?>
<!--行分组-->
<!--复合排序-->
<?=Html::jsFile('@web/js/plugins/bootstrap-table-V1.23.1/extensions/multiple-sort/bootstrap-table-multiple-sort.js?v=1.23.1')?>
<!--复合排序-->
<!--表格打印-->
<?=Html::jsFile('@web/js/plugins/bootstrap-table-V1.23.1/extensions/print/bootstrap-table-print.min.js?v=1.23.1')?>
<!--表格打印-->
<!--列排序-->
<?=Html::jsFile('@web/js/plugins/bootstrap-table-V1.23.1/extensions/reorder-columns/bootstrap-table-reorder-columns.min.js?v=1.23.1')?>
<!--列排序-->
<!--行排序-->
<?=Html::jsFile('@web/js/plugins/bootstrap-table-V1.23.1/extensions/reorder-rows/bootstrap-table-reorder-rows.min.js?v=1.23.1')?>
<!--行排序-->
<!--列宽调整-->
<?=Html::jsFile('@web/js/plugins/bootstrap-table-V1.23.1/extensions/resizable/bootstrap-table-resizable.min.js?v=1.23.1')?>
<!--列宽调整-->
<!--表头固定-->
<?=Html::jsFile('@web/js/plugins/bootstrap-table-V1.23.1/extensions/sticky-header/bootstrap-table-sticky-header.min.js?v=1.23.1')?>
<!--表头固定-->
<!--高级搜索-->
<?=Html::jsFile('@web/js/plugins/bootstrap-table-V1.23.1/extensions/toolbar/bootstrap-table-toolbar.min.js?v=1.23.1')?>
<!--高级搜索-->
<!--树形表-->
<?=Html::jsFile('@web/js/plugins/bootstrap-table-V1.23.1/extensions/treegrid/bootstrap-table-treegrid.min.js?v=1.23.1')?>
<!--树形表-->
<?=Html::jsFile('@web/js/plugins/bootstrap-table-V1.23.1/extensions/addrbar/bootstrap-table-addrbar.min.js?v=1.23.1')?>
<!--表格可编辑-->
<?=Html::jsFile('@web/js/plugins/bootstrap-table-V1.23.1/extensions/editable/bootstrap-table-editable.js?v=1.23.1')?>
<!--表格可编辑-->
<!--绑定键盘事件监听-->
<?=Html::jsFile('@web/js/plugins/bootstrap-table-V1.23.1/extensions/key-events/bootstrap-table-key-events.min.js?v=1.23.1')?>
<!--绑定键盘事件监听-->
<style>
.select{
width: 100%;
}
.operateIcon {
margin-right: 10px;
}
.uppercase {
text-transform: uppercase;
}
td.success {
background: green;
color: white;
}
#forTable {
width:98%;
padding-left:1%;
}
</style>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-content">
<div class="col-sm-12" id="forTable">
<div id="toolbar">
<button id="remove" class="btn btn-danger" disabled>
<i class="fa fa-trash"></i>
</button>
<button id="add" class="btn btn-primary">
<i class="fa fa-plus"></i>
</button>
<div class="btn-group">
<select id="select" class="form-control" name="filterAlgorithm">
<option value="and" selected>全部符合</option>
<option value="or">满足任一</option>
</select>
<button class="btn btn-secondary" id="filterBy" style="width:80px;">筛选</button>
</div>
</div>
<table id="table">
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
var $table = $('#table')
var $remove = $('#remove')
var $add = $('#add')
var selections = []
const dataUrl = "<?=Url::toRoute(['json'])?>" //获取数据的链接
const dataSaveUrl = "<?=Url::toRoute(['save'])?>" //保存数据的链接
var icons = {
detailOpen:"bi-toggle-on",
detailClose:"bi-toggle-off",
advancedSearchIcon: 'bi-search',
//bi-*或fa-*,取决于图标前缀配置
}
var sortPriority = [{"sortName": "title","sortOrder":"desc"},{"sortName":"des","sortOrder":"desc"}]
var columns2 = [
[
{
colspan: 2,
align: 'center',
valign: 'middle',
title: '选择'
},
{
colspan: 2,
align: 'center',
valign: 'middle',
title: '详情'
},
{
title: '操作',
field: 'options',
rowspan: 2,
class: 'success',
align: 'center',
valign: 'middle',
sortable: true,
width:80,
widthUnit:"px",
halign: 'left',
clickToSelect:false,
formatter: operateFormatter,
footerFormatter: TextCountFormatter,
events: 'operateEvents',
visible:true,
cellStyle:'cellStyle',
filterControl:"select",
searchable:false
}
],
[
{
field: 'state',
checkbox: true,
rowspan: 2,
align: 'center',
valign: 'middle',
width:10,
widthUnit:"px",
escape:true,
//忽略该列的传值
formatter:stateFormatter,
footerFormatter:"CountTitleFormatter",
searchable:false
},
{
title: 'ID',
field: 'id',
rowspan: 2,
align: 'center',
valign: 'middle',
sortable: true,
width:20,
widthUnit:"px",
halign: 'left',
footerFormatter: NumCountFormatter,
searchable:false
}
],
[
{
title: '标题',
field: 'title',
rowspan: 1,
align: 'center',
valign: 'middle',
sortable: true,
width:120,
widthUnit:"px",
halign: 'left',
footerFormatter: TextCountFormatter,
searchHighlightFormatter:customSearchFormatter,
editable: {
type: 'text',
title: 'Enter Name',
validate: function(value) {
if (!value) {
return 'The name is required';
}
}
},
cellStyle:'cellStyle',
filterControl:"input",
searchable:false
},
{
title: '代码',
field: 'des',
rowspan: 1,
align: 'center',
valign: 'middle',
sortable: true,
width:80,
widthUnit:"px",
halign: 'left',
footerFormatter: TextCountFormatter,
searchHighlightFormatter:customSearchFormatter,
titleTooltip:'英文简写的代码,后期用于权限判断等场景',
visible:true,
cellStyle:'cellStyle',
filterControl:"select",
searchable:false
}
]
]
var columns = [
{
align: 'left',
valign: 'middle',
width:10,
widthUnit:"px",
style:'width:15px',
escape:true,
//忽略该列的传值
formatter:indexFormatter,
searchable:false
},
{
field: 'state',
checkbox: true,
align: 'center',
valign: 'middle',
width:10,
widthUnit:"px",
escape:true,
//忽略该列的传值
formatter:stateFormatter,
footerFormatter:"CountTitleFormatter",
searchable:false
},
{
title: 'ID',
field: 'id',
align: 'center',
valign: 'middle',
sortable: true,
width:20,
widthUnit:"px",
halign: 'left',
footerFormatter: NumCountFormatter,
searchable:false
},
{
title: '标题',
field: 'title',
rowspan: 1,
align: 'center',
valign: 'middle',
sortable: true,
width:120,
widthUnit:"px",
halign: 'left',
footerFormatter: TextCountFormatter,
searchHighlightFormatter:customSearchFormatter,
editable:titleEditor,
cellStyle:'cellStyle',
filterControl:"input",
searchable:true
},
{
title: '代码',
field: 'des',
align: 'center',
valign: 'middle',
sortable: true,
editable:$.fn.editableTable,
width:80,
widthUnit:"px",
halign: 'left',
footerFormatter: TextCountFormatter,
searchHighlightFormatter:customSearchFormatter,
titleTooltip:'英文简写的代码,后期用于权限判断等场景',
visible:true,
cellStyle:'cellStyle',
filterControl:"select",
searchable:true
},
{
title: '操作',
field: 'options',
// class: 'success',
align: 'center',
valign: 'middle',
sortable: false,
width:80,
widthUnit:"px",
halign: 'left',
clickToSelect:false,
formatter: operateFormatter,
footerFormatter: TextCountFormatter,
events: 'operateEvents',
visible:true,
cellStyle:'cellStyle',
filterControl:"select",
searchable:false
}
]
// 定义表格操作
const options = {
// locale:"zh-CN",
//中文(直接JS添加了中文引用时可以不用设置
toolbar:"#toolbar",
//指定工具栏
autoRefresh:true,
//自动刷新
columns:columns,
//定义表列标题
showColumns: true,
//列标题筛选
showColumnsToggleAll:true,
//一键筛选全部列
showColumnsSearch:true,
//筛选列时可搜索列名
showRefresh: true,
//刷新
showToggle: true,
//切换卡片视图
showExport:true,
exportTypes:['json', 'xml', 'csv', 'txt', 'sql', 'excel', 'pdf'],
//导出(TBD PDF导出时中文乱码,待修正)
search: true,
//搜索
showSearchClearButton:true,
//搜索框可清空
showSearchButton:false,
// 显示搜索图标
searchHighlight:true,
//高亮搜索结果
visibleSearch:true,
//只在可视单元格内搜索
advancedSearch:true,
idTable:"advancedTable",
//高级搜索
showFullscreen:true,
// 全屏
addrbar: true,
//地址栏 TBD 未调试
// showHeader:false,
//关闭表头列标题
headerStyle:"headerStyle",
//表头样式定义函数
showFooter:true,
//显示表格底部
footerStyle:"footerStyle",
//表格底部风格定义函数
pagination:false,
//分页
showPaginationSwitch:true,
//分页切换
clickToSelect:false,
//行点击即选中
responseHandler:"responseHandler",
//获取数据的后续响应操作
buttonsClass:"secondary",
//按钮样式(secondary,default,primary,warning,danger,success……)
detailView:true,
detailViewIcon:false,
showDetail:false,
//行首添加显示详情按钮(图标必须false,否则会在表首添加1列;开启列拖动排序时,需要禁用该项)
detailFormatter:"detailFormatter",
//卡片视图格式化操作
idField: 'id',
//指定ID列
buttons:'Buttons',
// 添加自定义按钮
showButtonText:false,
//显示按钮文字
// singleSelect:true,
//设置仅单选
theadClasses:"thead-dark",
//表头样式(thead-light,thead-dark) TBD 未调试
sortClass:"table-active",
//排序列的样式
sortReset:true,
// 在第三次点击的时候重置排序
totalField:"total",
dataField:"rows",
//仅在设置了直接从URL取数据时有效,总数变量、数据集变量
iconSize:"undefined",
// 图标大小 undefined,lg,sm
icons:"icons",
//自定义图标
filterControl:false,
//开启列筛选( TBD 选择式筛选不能正确显示 ,且与搜索功能有些冲突,暂不开启)
groupBy:false,
//分组
groupByField: "des",
// groupByField: ["des","id"],
// 按指定字段分组
showMultiSort:true,
// sortPriority:"sortPriority",
//高级筛选(默认筛选条件设置项有问题,暂不设置)
showPrint:true,
// printStyles:['https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.5.2/css/all.min.css'],
//打印及配置
reorderableColumns:true,
//列排序
useRowAttrFunc:true,
reorderableRows:true,
//行排序
resizable:true,
// 列宽调整
stickyHeader: true,
stickyHeaderOffsetLeft: parseInt($('body').css('padding-left'), 10),
stickyHeaderOffsetRight: parseInt($('body').css('padding-right'), 10),
// 固定表头
rememberOrder:false,
//记住排序 TBD 仅列标题记录了,暂不开启
// treeShowField: 'title',
// parentIdField: 'pcat_id',
//树形表 TBD 未调试完成
editable:true,
//表格可编辑
cookie:true,
cookieIdTable:'NewsCatListTable',
// COOKIE缓存
keyEvents: true,
}
function getIdSelections() {
return $.map($table.bootstrapTable('getSelections'), function (row) {
return row.id
})
}
function responseHandler(res) {
$.each(res.rows, function (i, row) {
row.state = $.inArray(row.id, selections) !== -1
})
return res
}
function test(index) {
$table.bootstrapTable('toggleDetailView', index);
}
window.operateEvents = {
'click .like': function (e, value, row, index) {
console.log(e)
console.log(value)
console.log(row)
console.log(index)
alert('You click like action, row: ' + JSON.stringify(row))
},
'click .remove': function (e, value, row, index) {
$table.bootstrapTable('remove', {
field: 'id',
values: [row.id]
})
},
'click .save': function (e, value, row, index) {
saveData(datasaveUrl,row)
},
'click .editable-click':function (e, value, row, index) {
console.log('要编辑')
},
}
//单元格编辑操作
function titleEditor(value,row,index){
let options = {
"url": dataSaveUrl,
"callback": function(sValue, y) {
let aPos = DTable.fnGetPosition(this);
DTable.fnUpdate(sValue, aPos[0], aPos[1])
},
"submitdata": function(value, settings) {
return {
"row_id": this.parentNode.getAttribute("id"),
"column": DTable.fnGetPosition(this)[2]
}
},
"width": "90%",
"height": "100%"
}
return $.fn.editableTable(options);
}
// 各种格式化操作
//操作动作列
function operateFormatter(value, row, index) {
return [
'<a class="operateIcon like" onclick="test(this)" title="Like">',
'<i class="fa fa-heart"></i>',
'</a> ',
'<a class="operateIcon view" onclick="test('+index+')" title="浏览">',
'<i class="fa fa-eye"></i>',
'</a> ',
'<a class="operateIcon save" href="javascript:void(0)" title="Save">',
'<i class="fa fa-save"></i>',
'</a> ',
'<a class="operateIcon remove" href="javascript:void(0)" title="Remove">',
'<i class="fa fa-trash"></i>',
'</a>'
].join('')
}
//搜索匹配项高亮
function customSearchFormatter(value, searchText){
console.log(searchText)
return value.toString().replace(new RegExp('(' + searchText + ')', 'gim'), '<span style="background-color: pink;border: 1px solid red;border-radius:90px;padding:4px">$1</span>')
}
// 行内容格式化 卡片视图(仅对当前行生效)
function detailFormatter(index, row) {
var html = []
$.each(row, function (key, value) {
html.push('<p><kbd>' + key + ':</kbd> ' + value + '</p>')
})
return html.join('')
}
// 单元格格式化操作 TBD,根据具体业务需要再作更改
function indexFormatter(value, row, index) {
return index+1;
}
function stateFormatter(value, row, index) {
if (index === 2) {
return {
disabled: true
}
}
if (index === 1) {
return {
disabled: true,
checked: true
//指定选中
}
}
return value
}
function titleFormatter(value, row) {
var icon = row.id % 2 === 0 ? 'fa-star' : 'fa-star-and-crescent'
return '<i class="fa ' + icon + '"></i> ' + value
}
function priceFormatter(value) {
// 16777215 == ffffff in decimal
var color = '#' + Math.floor(Math.random() * 6777215).toString(16)
return '<div style="color: ' + color + '">' +
'<i class="fa fa-dollar-sign"></i>' +
value.substring(1) +
'</div>'
}
//表格底统计格式化操作
function CountTitleFormatter(){
return '总计'
}
function TextCountFormatter() {
return ''
}
function PriceCountFormatter(data) {
var field = this.field
return '$' + data.map(function (row) {
return +row[field].substring(1)
}).reduce(function (sum, i) {
return sum + i
}, 0)
}
function NumCountFormatter(data) {
return data.length
}
//表格样式
function cellStyle(value, row, index) {
var classes = [
'bg-blue',
'bg-green',
'bg-orange',
'bg-yellow',
'bg-red'
]
if (index % 2 === 0 && index / 2 < classes.length) {
return {
classes: classes[index / 2]
}
}
return {
css: {
color: 'blue'
}
}
}
function footerStyle(column) {
return {
id: {
classes: 'uppercase'
},
name: {
css: {'font-weight': 'normal'}
},
price: {
css: {color: 'red'}
}
}[column.field]
}
function headerStyle(column) {
return {
id: {
classes: 'uppercase'
},
title: {
css: {background: 'yellow'}
},
des: {
css: {color: 'red'}
}
}[column.field]
}
//toolbar按钮操作
//注入自定义按钮
function Buttons () {
return {
btnAdd: {
text: '新增一行',
icon: 'bi-plus',
event: function () {
alert('将添加新一行数据')
},
attributes: {
title: '新增一行数据'
}
}
}
}
// 复合筛选
$('#filterBy').click(function () {
var filterAlgorithm = $('[name="filterAlgorithm"]').val()
$table.bootstrapTable('refreshOptions', {
filterOptions: {
filterAlgorithm: filterAlgorithm
}
})
$table.bootstrapTable('filterBy', {
id: 3,
title: '价格'
})
})
// 保存编辑后的数据 TBD
$table.on('editable-save.bs.table', function(e, field, row, oldValue, $el) {
$.ajax({
type: "POST",
url: "your_update_url",
data: {name: row.name, price: row.price, id: row.id},
dataType: "json",
success: function(response) {
// 处理服务器响应
},
error: function(response) {
// 处理错误情况
}
});
});
// 更新表格参数 TBD 未调试
function refreshTable(key,value){
$table.bootstrapTable('refreshOptions', {
key: value
})
}
// 表格初始化
function initTable() {
$table.bootstrapTable('destroy').bootstrapTable(options)
$table.on('check.bs.table uncheck.bs.table ' +
'check-all.bs.table uncheck-all.bs.table',
function () {
$remove.prop('disabled', !$table.bootstrapTable('getSelections').length)
// save your data, here just save the current page
selections = getIdSelections()
// push or splice the selections if you want to save all data selections
})
$table.on('all.bs.table', function (e, name, args) {
// console.log(name, args)
})
$remove.click(function () {
var ids = getIdSelections()
$table.bootstrapTable('remove', {
field: 'id',
values: ids
})
$remove.prop('disabled', true)
})
}
// 表格之外的方法 S
// 网络获取数据
function getData(url){
var _data = {
'_csrf-backend': "<?=$_csrf_backend ;?>"
}
return fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
// 'Content-Type': 'application/x-www-form-urlencoded'
},
body: JSON.stringify(_data)
})
.then(
function(res){
if(res.ok) {
return res.json();
}else{
throw new Error('网络连接出现问题.');
}
}
)
.then(
function(data){
return data;
}
)
.catch(error => console.error('Error:', error));
}
//保存数据
function saveData(url,data){
data['_csrf-backend'] = "<?=$_csrf_backend ;?>";
return fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(data)
})
.then(
function(res){
if(res.ok) {
return res.json();
}else{
throw new Error('网络连接出现问题.');
}
}
)
.then(
function(data){
return data;
}
)
.catch(error => console.error('Error:', error));
}
// 表格之外的方法 E
// 启动时页面加载
$(function() {
initTable()
getData(dataUrl).then(
function(data){
var _emptyRow = {id:''}
$table.bootstrapTable('append',data.rows) //向表格追加数据
$table.bootstrapTable('append',_emptyRow) //添加空白行
$table.bootstrapTable('scrollTo','bottom') //添加完数据转至表格底
}
)
})
</script>
+193
View File
@@ -0,0 +1,193 @@
<?php
#
# @Author: fm453
# @Date: 2024/7/18
# @updated: 上午2:41
# @Email: 1280880631@qq.com
use yii\helpers\Html;use yii\helpers\Url;
$_csrf_backend = Yii::$app->request->csrfToken;
//Yii::$app->getRequest()->getCsrfToken();
?>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-table@1.23.1/dist/bootstrap-table.min.css">
<?=Html::jsFile('@web/js/plugins/vue/vue-3.4.32.global.js')?>
<!--<script src="https://cdn.jsdelivr.net/npm/bootstrap-table@1.23.1/dist/bootstrap-table.min.js"></script>-->
<script src="https://cdn.jsdelivr.net/npm/bootstrap-table@1.23.1/dist/bootstrap-table-vue.umd.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap-table@1.23.1/dist/extensions/export/bootstrap-table-export.min.js"></script>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div id="app">
<div id="toolbar">
<button id="remove" class="btn btn-danger" disabled>
<i class="fa fa-trash"></i>
</button>
<button id="add" class="btn btn-primary">
<i class="fa fa-plus"></i>
</button>
</div>
<bootstrap-table
data-toolbar="#toolbar" data-locale="zh-CN"
:columns="columns" :data="datas" :options="options">
</bootstrap-table>
</div>
</div>
</div>
</div>
<script>
function getData(url){
var _data = {
'_csrf-backend': "<?=$_csrf_backend ;?>"
}
return fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
// 'Content-Type': 'application/x-www-form-urlencoded'
},
body: JSON.stringify(_data)
})
.then(
function(res){
if(res.ok) {
return res.json();
}else{
throw new Error('网络连接出现问题.');
}
}
)
.then(
function(data){
return data;
}
)
.catch(error => console.error('Error:', error));
}
const { createApp, ref } = Vue
function _setUp(){
const columns = ref([
{
field: 'state',
checkbox: true
},
{
title: 'ID',
field: 'id'
},
{
field: 'title',
title: '标题'
},
{
field: 'des',
title: '代码'
},
{
field: 'action',
title: '操作',
align: 'center',
formatter () {
return '<a href="javascript:" class="like"><i class="fa fa-star"></i></a>'
},
events: {
'click .like' (e, value, row) {
alert(JSON.stringify(row))
}
}
}
])
const url = "<?=Url::toRoute(['json'])?>"
const test_data = [
{
id: 0,
name: 'Item 0',
price: '$0'
},
{
id: 1,
name: 'Item 1',
price: '$1'
},
{
id: 2,
name: 'Item 2',
price: '$2'
},
{
id: 3,
name: 'Item 3',
price: '$3'
},
{
id: 4,
name: 'Item 4',
price: '$4'
},
{
id: 5,
name: 'Item 5',
price: '$5'
}
]
const options = ref({
search: true,
//搜索
showColumns: true,
//列标题
showColumnsToggleAll:true,
//一键筛选全部列
showColumnsSearch:true,
//筛选列时可搜索列名
showRefresh: true,
//刷新
showToggle: true,
//切换卡片视图
showExport:true,
//导出
showSearchClearButton:true,
//搜索框可清空
showFullscreen:true,
// 全屏
showFooter:true,
})
var datas = [];
datas = test_data
return {
columns,
test_data,
url,
options,
datas,
}
}
const app = createApp({
setup () {
return _setUp();
},
mounted(){
//此处可以使用this.来获取上面setup处理的一些数据
console.log(BootstrapTable.methods);
var _t = this;
getData(_t.url).then(
function(data){
console.log(_t.datas);
_t.datas = data.rows;
console.log(_t.datas);
}
)
}
})
app.component('BootstrapTable', BootstrapTable)
app.mount('#app')
var a = app.config;
// console.log(a);
</script>
+120
View File
@@ -0,0 +1,120 @@
<?php
#
# @Author: fm453
# @Date: 2024/7/18
# @updated: 上午2:41
# @Email: 1280880631@qq.com
use yii\helpers\Html;use yii\helpers\Url;
?>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-table@1.23.1/dist/bootstrap-table.min.css">
<?=Html::jsFile('@web/js/plugins/vue/vue-3.4.32.global.js')?>
<script src="https://cdn.jsdelivr.net/npm/bootstrap-table@1.23.1/dist/bootstrap-table.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap-table@1.23.1/dist/bootstrap-table-vue.umd.js"></script>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div id="app">
<div id="toolbar">
<button id="remove" class="btn btn-danger" disabled>
<i class="fa fa-trash"></i>
</button>
<button id="add" class="btn btn-primary" disabled>
<i class="fa fa-plus"></i>
</button>
</div>
<bootstrap-table data-toolbar="#toolbar" :columns="columns" :data-url="url" :options="options"></bootstrap-table>
</div>
</div>
</div>
</div>
<script>
$(function() {
const { createApp, ref } = Vue
const app = createApp({
setup () {
const columns = ref([
{
field: 'state',
checkbox: true
},
{
title: 'ID',
field: 'id'
},
{
field: 'title',
title: '标题'
},
{
field: 'des',
title: '代码'
},
{
field: 'action',
title: '操作',
align: 'center',
formatter () {
return '<a href="javascript:" class="like"><i class="fa fa-star"></i></a>'
},
events: {
'click .like' (e, value, row) {
alert(JSON.stringify(row))
}
}
}
])
const url = "<?=Url::toRoute(['json'])?>"
const test_data = ref([
{
id: 0,
name: 'Item 0',
price: '$0'
},
{
id: 1,
name: 'Item 1',
price: '$1'
},
{
id: 2,
name: 'Item 2',
price: '$2'
},
{
id: 3,
name: 'Item 3',
price: '$3'
},
{
id: 4,
name: 'Item 4',
price: '$4'
},
{
id: 5,
name: 'Item 5',
price: '$5'
}
])
const options = ref({
search: true,
showColumns: true
})
return {
columns,
test_data,
url,
options
}
}
})
app.component('BootstrapTable', BootstrapTable)
app.mount('#app')
})
</script>
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+478
View File
@@ -0,0 +1,478 @@
<?php
use yii\helpers\Html;
use yii\helpers\Url;
?>
<!--下拉选择、选项框-->
<?=Html::cssFile('@web/css/plugins/chosen/chosen.css')?>
<?=Html::jsFile('@web/js/plugins/chosen/chosen.jquery.js')?>
<!--日期时间选择器-->
<?=Html::jsFile('@web/js/plugins/layer/laydate/laydate.js')?>
<?=Html::cssFile('@web/js/plugins/layer/laydate/need/laydate.css')?>
<?=Html::cssFile('@web/js/plugins/layer/laydate/skins/molv/laydate.css')?>
<!--表单验证-->
<!-- <?=Html::jsFile('@web/js/plugins/validate/jquery.validate.min.js')?>
<?=Html::jsFile('@web/js/plugins/validate/messages_zh.min.js')?> -->
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>财务审核-运单号[<?=isset($detail['sn'])?$detail['sn']:0;?>]</h5>
<div class="ibox-tools">
<a class="collapse-link">
<i class="fa fa-chevron-up"></i>
</a>
<a class="close-link">
<i class="fa fa-times"></i>
</a>
</div>
</div>
<div class="ibox-content">
<form role="form" class="form-horizontal m-t" method="post" action="<?=Url::toRoute('order/cwsave')?>" id="caiwuForm">
<input type="hidden" name="_csrf-backend" value="<?=Yii::$app->getRequest()->getCsrfToken();?>" />
<input type="hidden" name="id" value="<?=isset($detail['id'])?$detail['id']:0;?>">
<div class="alert alert-info">
联系信息
</div>
<div class="form-group">
<label class="col-sm-1 control-label"><span class="red">*</span> 委托方:</label>
<div class="col-sm-4">
<input class="form-control" type="text" autocomplete="off" disabled="true" value="<?=isset($detail['signer'])?$detail['signer']:'';?>">
</div>
<label class="col-sm-1 control-label"><span class="red">*</span>经办人:</label>
<div class="col-sm-2">
<input type="text" class="form-control" id="employee-title" value="<?=isset($detail['employee_title'])?$detail['employee_title']:'';?>" autocomplete="off" disabled="true" >
</div>
<label class="col-sm-1 control-label"> 介绍人:</label>
<div class="col-sm-3">
<input class="form-control" type="text" autocomplete="off" value="<?=isset($detail['bind'])?$detail['bind']:'';?>" disabled="true" >
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label"><span class="red">*</span>起运地:</label>
<div class="col-sm-2">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">省</button>
</span>
<input class="form-control" type="text" autocomplete="off" value="<?=isset(Yii::$app->params['regionAreas'][$detail['start_province']]) ? Yii::$app->params['regionAreas'][$detail['start_province']] : '';?>" disabled="true" >
</div>
</div>
<div class="col-sm-3">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">市</button>
</span>
<input class="form-control" type="text" autocomplete="off" value="<?=isset($detail['start_city'])?$detail['start_city']:'';?>" disabled="true" >
</div>
</div>
<label class="col-sm-1 control-label"><span class="red">*</span>目的地:</label>
<div class="col-sm-2">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">省</button>
</span>
<input class="form-control" type="text" autocomplete="off" value="<?=isset(Yii::$app->params['regionAreas'][$detail['aim_province']]) ? Yii::$app->params['regionAreas'][$detail['aim_province']] : '';?>" disabled="true" >
</div>
</div>
<div class="col-sm-3">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">市</button>
</span>
<input class="form-control" type="text" autocomplete="off" value="<?=isset($detail['aim_city'])?$detail['aim_city']:'';?>" disabled="true" >
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label"><span class="red">*</span> 发车人信息:</label>
<div class="col-sm-3">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">姓名</button>
</span>
<input class="form-control" type="text" autocomplete="off" value="<?=isset($detail['sender_name'])?$detail['sender_name']:'';?>" disabled="true" >
</div>
</div>
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">身份证号</button>
</span>
<input class="form-control" type="text" autocomplete="off" value="<?=isset($detail['sender_idcard'])?$detail['sender_idcard']:'';?>" disabled="true" >
</div>
</div>
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">手机号</button>
</span>
<input class="form-control" type="text" autocomplete="off" value="<?=isset($detail['sender_mobiles'])?$detail['sender_mobiles']:'';?>" disabled="true" >
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label"><span class="red">*</span> 收车人信息:</label>
<div class="col-sm-3">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">姓名</button>
</span>
<input class="form-control" type="text" autocomplete="off" value="<?=isset($detail['receiver_name'])?$detail['receiver_name']:'';?>" disabled="true" >
</div>
</div>
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">身份证号</button>
</span>
<input class="form-control" type="text" autocomplete="off" value="<?=isset($detail['receiver_idcard'])?$detail['receiver_idcard']:'';?>" disabled="true" >
</div>
</div>
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">手机号</button>
</span>
<input class="form-control" type="text" autocomplete="off" value="<?=isset($detail['receiver_mobiles'])?$detail['receiver_mobiles']:'';?>" disabled="true" >
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label"> 送车地址:</label>
<div class="col-sm-7">
<input class="form-control" type="text" autocomplete="off" value="<?=isset($detail['aim_address'])?$detail['aim_address']:'';?>" disabled="true" >
</div>
<label class="col-sm-1 control-label">签约日期:</label>
<div class="col-sm-3">
<input class="form-control" type="text" autocomplete="off" value="<?=isset($detail['sign_date'])?date('Y-m-d',$detail['sign_date']):''?>" disabled="true" >
</div>
</div>
<div class="alert alert-danger">
车辆费用明细等相关资料;通常情况下总费用至少保险费、运费两部分,如有上门提车或送车服务的还应考虑额外加收相应费用;
</div>
<div class="form-group draggable">
<label class="col-sm-1 control-label"> <span class="red">*</span> 托运车辆:</label>
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-info" href="<?=Url::toRoute(['car/select','callback'=>'car']);?>" w="80%;" h="90%;" title="选择车辆" mini="load">车辆</button>
</span>
<input type="text" class="form-control" value="<?=isset($detail['car_title'])?$detail['car_title']:'';?>" autocomplete="off" disabled="true" >
</div>
</div>
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">车牌或车架号</button>
</span>
<input class="form-control" type="text" autocomplete="off" disabled="true" value="<?=isset($detail['car_number'])?$detail['car_number']:'';?>" disabled="true" >
</div>
</div>
<div class="col-sm-3">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">对应车主</button>
</span>
<input class="form-control" type="text" autocomplete="off" disabled="true" value="<?=isset($detail['car_owner'])?$detail['car_owner']:'';?>" disabled="true" >
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label"><span class="red">*</span> 保险:</label>
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">车辆价值</button>
</span>
<input class="form-control" type="number" name="car_value" id="car-value" placeholder="请输入保价" autocomplete="off" value="<?=isset($detail['car_value'])?$detail['car_value']:'';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-default">万元</button>
</span>
</div>
<span class="help-block m-b-none">按保价购买保险;不买保险的需要单独注明</span>
</div>
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">保险费</button>
</span>
<input class="form-control" type="number" name="fee_insurance" id="fee_insurance" placeholder="实际收取的保险费" autocomplete="off" value="<?=isset($detail['fee_insurance'])?$detail['fee_insurance']:0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-default">元</button>
</span>
</div>
<span class="help-block m-b-none">通常为100元保10万元</span>
</div>
<div class="col-sm-3">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-warning">不投保</button>
</span>
<select data-placeholder="选择是否不投保..." class="form-control" tabindex="2" name="not_insurance">
<option value="0" <?=isset($detail['not_insurance']) && $detail['not_insurance']==0 ? 'selected':'';?>>正常投保</option>
<option value="1" <?=isset($detail['not_insurance']) && $detail['not_insurance']==1 ? 'selected':'';?>>客户要求不投保</option>
</select>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label"><span class="red">*</span> 费用:</label>
<div class="col-sm-3">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">送车费</button>
</span>
<input class="form-control" type="number" name="fee_deliver" id="fee_deliver" placeholder="送车费用" autocomplete="off" value="<?=isset($detail['fee_deliver'])?$detail['fee_deliver']:0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-default">元</button>
</span>
</div>
<span class="help-block m-b-none">送到指定位置需加收的费用</span>
</div>
<div class="col-sm-3">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">提车费</button>
</span>
<input class="form-control" type="number" name="fee_pickup" id="fee_pickup" placeholder="提车费用" autocomplete="off" value="<?=isset($detail['fee_pickup'])?$detail['fee_pickup']:0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-default">元</button>
</span>
</div>
<span class="help-block m-b-none">上门取车需加收的费用</span>
</div>
<div class="col-sm-2">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">加急费</button>
</span>
<input class="form-control" type="number" name="fee_urgent" id="fee_urgent" placeholder="加急费用" autocomplete="off" value="<?=isset($detail['fee_urgent'])?$detail['fee_urgent']:0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-default">元</button>
</span>
</div>
<span class="help-block m-b-none">加收费用、优先上板</span>
</div>
<div class="col-sm-3">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">其他费用</button>
</span>
<input class="form-control" type="number" name="fee_extra" id="fee_extra" placeholder="" autocomplete="off" value="<?=isset($detail['fee_extra'])?$detail['fee_extra']:0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-default">元</button>
</span>
</div>
<span class="help-block m-b-none">其他额外向客户收取的费用</span>
</div>
<!-- line2 -->
<label class="col-sm-1 control-label"></label>
<div class="col-sm-3">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">运费</button>
</span>
<input class="form-control" type="number" name="fee_truck" id="fee_truck" placeholder="运费" autocomplete="off" value="<?=isset($detail['fee_truck'])?$detail['fee_truck']:'';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-default">元</button>
</span>
</div>
</div>
<div class="col-sm-2">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">预付</button>
</span>
<input class="form-control" type="number" name="pay_send" id="pay_send" placeholder="预付费用" autocomplete="off" value="<?=isset($detail['pay_send'])?$detail['pay_send']:0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-default">元</button>
</span>
</div>
<span class="help-block m-b-none">预收的费用(通常是在起运地预收的)</span>
</div>
<div class="col-sm-3">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-warning">到付</button>
</span>
<input class="form-control" type="number" name="pay_receive" id="pay_receive" placeholder="到收费用" autocomplete="off" value="<?=isset($detail['pay_receive'])?$detail['pay_receive']:0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-default">元</button>
</span>
</div>
<span class="help-block m-b-none">需要到付的费用(通常是在目的地再收的)</span>
</div>
<div class="col-sm-3">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-danger">总费用</button>
</span>
<input class="form-control" type="number" name="fee_total" id="fee_total" placeholder="客人所付的总费用" autocomplete="off" value="<?=isset($detail['fee_total'])?$detail['fee_total']:0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-default">元</button>
</span>
</div>
<span class="help-block m-b-none">总共要向客户收取的费用金额</span>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">随车物品说明:</label>
<div class="col-sm-11">
<textarea class="form-control" col="3" length="1000" disabled="true" ><?=isset($detail['car_extra'])?$detail['car_extra']:''?></textarea>
<span class="help-block m-b-none red">请向客户强调申明:勿随车放置贵重物品尤其是钱包、眼镜、火机、U盘、精密仪器设备等;</span>
</div>
</div>
<div class="alert alert-info">
更多补充信息
</div>
<div class="form-group">
<label class="col-sm-1 control-label">运单状态:
</label>
<div class="col-sm-3">
<input class="form-control" type="text" autocomplete="off" value="<?=isset(Yii::$app->params['OrderStatus'][$detail['status_code']]) ? Yii::$app->params['OrderStatus'][$detail['status_code']] : '';?>" disabled="true" >
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">订单备注:</label>
<div class="col-sm-10">
<?=isset($detail['remark'])?htmlspecialchars_decode($detail['remark']):''?>
</div>
</div>
<div class="hr-line-dashed"></div>
<div class="form-group">
<div class="col-sm-11 col-sm-offset-1">
<span class="help-block m-b-none">本订单创建于:<?=isset($detail['create_at'])?date('Y-m-d H:i:s',$detail['create_at']):'';?>;最近更新时间:<?=isset($detail['update_at'])?date('Y-m-d H:i:s',$detail['update_at']):'';?>; 创建者工号:<?=isset($detail['create_by'])?$detail['create_by']:Yii::$app->user->identity->id;?></span>
</div>
</div>
<div class="hr-line-dashed"></div>
<div class="alert alert-success">
财务操作验证码(每个验证码的有效期为120分钟,有效期内可无限使用;过期后需要重新获取),必须填写
</div>
<div class="form-group">
<label class="col-sm-1 control-label"><span class="red">*</span> 验证码:</label>
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-danger" title="获取验证码" onclick="getVcode(this)">获取</button>
</span>
<input class="form-control" type="text" autocomplete="off" value="" name="vcode" id="vcode" required="required" placeholder="请输入财务验证码">
</div>
</div>
</div>
<script type="text/javascript" charset="utf-8">
var vt;
function vcodeTime(o,t){
console.log(t);
if(t>0){
t -= 1;
$(o).html(t+'s');
vt = setTimeout(function(){
vcodeTime(o,t);
},1000);
}else{
clearTimeout(vt);
$(o).html('再次获取');
}
}
function getVcode(obj){
vcodeTime(obj,30); //如果发送失败,30秒后可重新获取
var url = "<?= Url::toRoute(['sms/vcode','multi'=>false,'op'=>'caiwu']);?>";
var postdata = {};
$.post(url, postdata, function (res) {
if(res.errorcode>0){
layer.msg(res.msg);
}else{
layer.msg(res.msg);
}
}, 'json');
}
</script>
<div class="form-group">
<div class="col-sm-12 col-sm-offset-3">
<button class="btn btn-primary" mini="submit" type="button" onclick="return confirm('必须看到确认成功的提示才表示确认成功;否则请按照提示进行修正重输!');">财务确认</button>
<?php if(isset($detail['id'])){?>
<a class="btn btn-success" href="<?=Url::toRoute(['order/edit','id'=>$detail['id']])?>" w="90%;" h="90%;" title="打印订单" mini="load"> <i class="fa fa-edit"></i> 订单详情 </a>
<a class="btn btn-info" href="<?=Url::toRoute(['order/edit','id'=>$detail['id'],'op'=>'print'])?>" w="90%;" h="90%;" title="打印订单" mini="load"> <i class="fa fa-print"></i> 打印订单 </a>
<?php }?>
</div>
</div>
</form>
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
</div>
<!-- <script type="text/javascript">
$.validator.setDefaults({
highlight: function (e) {
$(e).closest(".form-group").removeClass("has-success").addClass("has-error")
}, success: function (e) {
e.closest(".form-group").removeClass("has-error").addClass("has-success")
}, errorElement: "span",
errorPlacement: function (e, r) {
e.appendTo(r.is(":radio") || r.is(":checkbox") ? r.parent().parent().parent() : r.parent())
}, errorClass: "help-block m-b-none",
validClass: "help-block m-b-none"
}), $().ready(function () {
var e = "<i class='fa fa-times-circle'></i> ";
$("#caiwuForm").validate({
rules: {
vcode: "required"
},
messages: {
vcode: e + "请输入财务操作验证码"
}
}),
$("#fee_total").focus(function () {
var fi = $("#fee_insurance").val(),
fd = $("#fee_deliver").val(),
fp = $("#fee_pickup").val(),
fu = $("#fee_urgent").val(),
fe = $("#fee_extra").val(),
ft = $("#fee_truck").val(),
fps = $("#pay_send").val(),
fpr = $("#pay_receive").val(),
f = $("#fee_total").val();
var _f1 = fi + fd + fp + fu + fe +ft;
var _f2 = fps + fpr;
!this.value && (this.value = _f1);
// if(_f1>this.value) alert("总费用与各项费用汇总的结果不一致,请仔细检查!");
// if(_f2 != this.value) alert("总费用与预付+致收汇总的结果不一致,请仔细检查!");
})
});
</script> -->
+49
View File
@@ -0,0 +1,49 @@
<?php
use yii\helpers\Html;
use yii\helpers\Url;
?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>佣金信息填写<code> 关联运单序号:<?=isset($detail['id'])?$detail['id']:0;?> </code></h5>
</div>
<div class="ibox-content">
<form role="form" class="form-horizontal m-t" method="post" action="<?=Url::toRoute('order/commissionsave')?>" >
<input type="hidden" name="_csrf-backend" value="<?=Yii::$app->getRequest()->getCsrfToken();?>" />
<input type="hidden" name="id" value="<?=isset($detail['id'])?$detail['id']:0;?>">
<div class="form-group">
<label class="col-sm-1 control-label"></label>
<div class="col-sm-5">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary"><span class="red">*</span> ¥佣金金额</button>
</span>
<input class="form-control" type="number" name="commission" id="commission" autocomplete="off" value="<?=isset($detail['commission'])?$detail['commission']:0;?>" style="text-align: right;">
<span class="input-group-btn">
<button type="button" class="btn btn-default">元</button>
</span>
</div>
</div>
</div>
<div class="alert alert-success">
佣金将从运单总收入中扣减;会对应地成为该运单的成本;佣金填写完成后,一旦运单通过财务确认,则不能再修改
</div>
<div class="hr-line-dashed"></div>
<div class="form-group">
<div class="col-sm-12 col-sm-offset-3">
<button class="btn btn-primary" mini="submit2" type="button">提交</button>
</div>
</div>
</form>
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
</div>
+122
View File
@@ -0,0 +1,122 @@
<?php
use yii\helpers\Html;
use yii\helpers\Url;
?>
<!--下拉选择、选项框-->
<?=Html::cssFile('@web/css/plugins/chosen/chosen.css')?>
<?=Html::jsFile('@web/js/plugins/chosen/chosen.jquery.js')?>
<div class="wrapper wrapper-content p-xl">
<div class="ibox-content p-xl" contenteditable="true">
<div class="row">
<div class="col-sm-6">
<address>
<strong>北京安诚捷顺物流有限公司车辆运输合同</strong><br>
<abbr>办事处/分公司:</abbr><?=isset($store->title)?$store->title:'';?><br>
<abbr>经办人:</abbr><?=isset($employee->name)?$employee->name:'';?><br>
<abbr>业务电话:</abbr> <?=isset($employee->mobile)?$employee->mobile:'';?>
</address>
</div>
<div class="col-sm-6 text-right">
<h4>单据编号:</h4>
<h4 class="text-navy"><?=isset($detail['sn'])?$detail['sn']:'';?></h4>
<address>委托方:<?=isset($detail['signer'])?$detail['signer']:'';?></address>
<p>
<span><strong>日期:<?=isset($detail['sign_date'])?date('Y-m-d',$detail['sign_date']):''?></span>
</p>
</div>
</div>
<table class="table" style="border:1px solid #ddd;">
<tbody>
<tr>
<td>发车人:</td>
<td><?=isset($detail['sender_name'])?$detail['sender_name']:'';?></td>
<td>手机号:</td>
<td><?=isset($detail['sender_mobiles'])?$detail['sender_mobiles']:'';?></td>
<td>身份证号:</td>
<td><?=isset($detail['sender_idcard'])?$detail['sender_idcard']:'';?></td>
</tr>
<tr>
<td>收车人:</td>
<td><?=isset($detail['receiver_name'])?$detail['receiver_name']:'';?></td>
<td>手机号:</td>
<td><?=isset($detail['receiver_mobiles'])?$detail['receiver_mobiles']:'';?></td>
<td>身份证号:</td>
<td><?=isset($detail['receiver_idcard'])?$detail['receiver_idcard']:'';?></td>
</tr>
<tr>
<td>送车地址:</td>
<td colspan="5"><?=isset($detail['aim_address'])?$detail['aim_address']:'';?></td>
</tr>
</tbody>
</table>
<div class="hr-line-dashed"></div>
<div class="table-responsive m-t">
<table class="table invoice-table">
<thead>
<tr>
<th>起运地</th>
<th>目的地</th>
<th>车辆品牌及型号</th>
<th>车牌号/车架号</th>
<th>保价</th>
<th>保费</th>
<th>运费</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div><?=isset(Yii::$app->params['regionAreas'][$detail['start_province']]) ? Yii::$app->params['regionAreas'][$detail['start_province']] : ''?>-<?=isset($detail['start_city']) ? $detail['start_city'] : ''?>
</div>
</td>
<td><?=isset(Yii::$app->params['regionAreas'][$detail['aim_province']]) ? Yii::$app->params['regionAreas'][$detail['aim_province']] : ''?>-<?=isset($detail['aim_city']) ? $detail['aim_city'] : ''?></td>
<td><?=isset($detail['car_title'])?$detail['car_title']:'';?></td>
<td><?=isset($detail['car_number'])?$detail['car_number']:'';?></td>
<td>&yen;<?=isset($detail['car_value'])?$detail['car_value']:'';?>万元</td>
<td>&yen;<?=isset($detail['fee_insurance'])?$detail['fee_insurance']:'';?>元</td>
<td>&yen;<?=isset($detail['fee_truck'])?$detail['fee_truck']:'';?>元</td>
</tr>
<tr>
<td>现付:</td>
<td colspan="1"><code><?=isset($detail['pay_send'])?$detail['pay_send']:0;?></code>元</td>
<td>到收:</td>
<td><code><?=isset($detail['pay_receive'])?$detail['pay_receive']:0;?></code>元</td>
<td colspan="3">
<label class="control-label"><input <?=isset($detail['no_driving_lisence'])&&$detail['no_driving_lisence']==1 ? 'checked' : ''?> type="checkbox" > 行驶证未随车
</label>
<label class="control-label"><input <?=isset($detail['not_insurance'])&&$detail['not_insurance']==1 ? 'checked' : ''?> type="checkbox"> 不投保
</label>
</td>
</tr>
</tbody>
</table>
</div>
<!-- /table-responsive -->
<table class="table invoice-total">
<tbody>
<tr>
<td><strong>其他费用:</strong>
</td>
<td>&yen;<?=isset($detail['fee_extra'])?$detail['fee_extra']:0;?>元</td>
</tr>
<tr>
<td><strong>总价:</strong>
</td>
<td>&yen;<?=isset($detail['fee_total'])?$detail['fee_total']:'';?>元</td>
</tr>
</tbody>
</table>
<div class="well m-t"><strong>随车物品:</strong> <?=isset($detail['car_extra'])?$detail['car_extra']:''?>
</div>
<div class="">备注:
<?=isset($detail['remark'])?htmlspecialchars_decode($detail['remark']):''?>
</div>
</div>
</div>
+472
View File
@@ -0,0 +1,472 @@
<?php
/**
* @Author: fm453
* @Date: 2018-11-23 12:17:02
# @Last modified by: fm453
# @Last modified time: 2022-03-11T10:30:53+08:00
* @Email: fm453@lukegzs.com
*/
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
use yii\helpers\Url;
use yii\widgets\LinkPager;
$this->title = '运单列表';
$this->params['breadcrumbs'][] = $this->title;
?>
<!--日期时间选择器-->
<?=Html::jsFile('@web/js/plugins/layer/laydate/laydate.js')?>
<?=Html::cssFile('@web/js/plugins/layer/laydate/need/laydate.css')?>
<?=Html::cssFile('@web/js/plugins/layer/laydate/skins/molv/laydate.css')?>
<!--选项框-->
<?=Html::jsFile('@web/js/plugins/iCheck/icheck.min.js')?>
<script>
$(document).ready(function(){$(".i-checks").iCheck({checkboxClass:"icheckbox_square-green",radioClass:"iradio_square-green",})});
</script>
<style>
.laydate_body .laydate_top{
padding:0;
}
.laydate_body .laydate_ym{
/*margin:0;
padding:5px;*/
}
.laydate_body .laydate_table{
border:0;
border-bottom: 1px solid rgb(204, 204, 204);
}
.laydate_body .laydate_bottom {
border: 0;
margin-bottom: 10px;
}
</style>
<!--滑块选择器-->
<?=Html::cssFile('@web/css/plugins/ionRangeSlider/ion.rangeSlider.css')?>
<?=Html::cssFile('@web/css/plugins/ionRangeSlider/ion.rangeSlider.skinFlat.css')?>
<?=Html::jsFile('@web/js/plugins/ionRangeSlider/ion.rangeSlider.min.js')?>
<!--下拉选择、选项框-->
<?=Html::cssFile('@web/css/plugins/chosen/chosen.css')?>
<?=Html::jsFile('@web/js/plugins/chosen/chosen.jquery.js')?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-content" style="text-align: center;">
<h1>搜索与筛选</h1>
<form role="form" class="form-horizontal m-t" action="<?=Url::current(['pid' => Yii::$app->session->get('pid')], false);?>" method="post">
<input type="hidden" name="_csrf-backend" value="<?= Yii::$app->getRequest()->getCsrfToken();?>" />
<div class="form-group">
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-sm btn-primary">签约月份</button>
</span>
<input class="input-sm form-control layer-date" type="text" name="search[sign_m]" placeholder="请选择月份" autocomplete="off" onclick="laydate({istime: false, format: 'YYYY-MM'})" value="<?=isset($search['sign_m'])?$search['sign_m']:''?>">
</div>
</div>
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-sm btn-primary">签约时间不早于</button>
</span>
<input class="input-sm form-control layer-date" type="text" name="search[sign_after]" placeholder="请选择日期" autocomplete="off" onclick="laydate({istime: false, format: 'YYYY-MM-DD'})" value="<?=isset($search['sign_after'])?$search['sign_after']:''?>">
</div>
</div>
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-sm btn-primary">签约时间不晚于</button>
</span>
<input class="input-sm form-control layer-date" type="text" name="search[sign_before]" placeholder="请选择日期" autocomplete="off" onclick="laydate({istime: false, format: 'YYYY-MM-DD'})" value="<?=isset($search['sign_before'])?$search['sign_before']:''?>">
</div>
</div>
</div>
<div class="form-group">
<div class="col-sm-3">
<div class="input-group">
<input type="text" class="form-control" name="store_title" id="store-title" value="<?=isset($search['store_title'])?$search['store_title']:'';?>" placeholder="点击选择接单网点" autocomplete="off" href="<?=Url::toRoute(['store/select','callback'=>'store']);?>" w="80%;" h="90%;" title="选择接单网点" mini="load">
<input type="hidden" class="form-control" name="search[store_id]" id="store-value" value="<?=isset($search['store_id'])?$search['store_id']:0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info" onclick="clearStore('store')">清除选择</button>
</span>
</div>
<script>
function selectStore(title,id,callback)
{
layer.closeAll();
layer.msg('已选择');
$('#'+callback+'-value').val(id);
$('#'+callback+'-title').val(title);
}
function clearStore(id)
{
$('#'+id+'-value').val('');
$('#'+id+'-title').val('');
}
</script>
</div>
<div class="col-sm-3">
<div class="input-group">
<input type="text" class="form-control" name="employee_title" id="employee-title" value="<?=isset($search['employee_title'])?$search['employee_title']:'';?>" placeholder="点击选择经办员工" autocomplete="off" href="<?=Url::toRoute(['employee/select','callback'=>'employee']);?>" w="80%;" h="90%;" title="选择派单员工" mini="load">
<input type="hidden" class="form-control" name="search[employee]" id="employee-value" value="<?=isset($search['employee'])?$search['employee']:0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info" onclick="clearEmployee('employee')">清除选择</button>
</span>
</div>
<script>
function selectEmployee(title,id,callback)
{
layer.closeAll();
layer.msg('已选择');
$('#'+callback+'-value').val(id);
$('#'+callback+'-title').val(title);
}
function clearEmployee(id)
{
$('#'+id+'-value').val('');
$('#'+id+'-title').val('');
}
</script>
</div>
<div class="col-sm-3">
<div class="input-group">
<input type="text" class="form-control" name="car_title" id="car-title" value="<?=isset($search['car_title'])?$search['car_title']:'';?>" placeholder="点击选择关联客户车辆" autocomplete="off" href="<?=Url::toRoute(['car/select','callback'=>'car']);?>" w="80%;" h="90%;" title="选择关联客户车辆" mini="load">
<input type="hidden" class="form-control" name="search[car_id]" id="car-value" value="<?=isset($search['car_id'])?$search['car_id']:0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info" onclick="clearCar('car')">清除选择</button>
</span>
</div>
</div>
<script>
function selectCar(title,id,number,username,callback)
{
layer.closeAll();
layer.msg('已选择');
$('#'+callback+'-value').val(id);
$('#'+callback+'-title').val(title+number);
}
function clearCar(id)
{
$('#'+id+'-value').val('');
$('#'+id+'-title').val('');
}
</script>
<div class="col-sm-3">
<div class="input-group">
<input class="form-control" type="text" placeholder="检索介绍人名字" name="search[bind]" id="search-bind-name" value="<?=isset($search['bind'])?$search['bind']:'';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-success" href="<?=Url::toRoute(['contact/select','callback'=>'search-bind']);?>" w="80%;" h="90%;" title="从通讯录中选择" mini="load">通讯录</button>
<button type="button" class="btn btn-info" onclick="clearBind('search-bind-name')">清除</button>
</span>
</div>
</div>
<script>
function selectContactor(company,name,mobile,idcard,id,callback)
{
layer.closeAll();
layer.msg('已选择');
$('#'+callback+'-company').val(company);
$('#'+callback+'-mobile').val(mobile);
$('#'+callback+'-name').val(name);
$('#'+callback+'-idcard').val(idcard);
$('#'+callback+'-value').val(id);
}
function clearBind(id)
{
$('#'+id).val('');
}
</script>
</div>
<div class="form-group">
<div class="col-sm-6">
<div class="input-group">
<input class="form-control" type="text" placeholder="检索委托人/单位" name="search[signer]" id="signer-name" value="<?=isset($search['signer'])?$search['signer']:'';?>">
<input class="form-control" type="hidden" placeholder="委托单位ID" name="search[wtdw]" id="signer-id" value="<?=isset($search['wtdw'])?$search['wtdw']:0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-warning" href="<?=Url::toRoute(['weituoren/select','callback'=>'signer']);?>" w="80%;" h="90%;" title="从单位名录中选择" mini="load">单位名录</button>
<button type="button" class="btn btn-success" href="<?=Url::toRoute(['contact/select','callback'=>'signer']);?>" w="80%;" h="90%;" title="从通讯录中选择" mini="load">通讯录</button>
<button type="button" class="btn btn-info" onclick="clearSigner('signer')">清除</button>
</span>
</div>
</div>
<script>
function selectWeituoren(company,name,mobile,id,callback)
{
layer.closeAll();
layer.msg('已选择');
$('#'+callback+'-name').val(company);
$('#'+callback+'-id').val(id);
}
function clearSigner(id)
{
$('#'+id+'-name').val('');
$('#'+id+'-id').val('');
}
</script>
<div class="col-sm-3">
<div class="input-group">
<input class="form-control" type="text" placeholder="检索发车人名字" name="search[sender_name]" id="sender-name" value="<?=isset($search['sender_name'])?$search['sender_name']:'';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-success" href="<?=Url::toRoute(['contact/select','callback'=>'sender']);?>" w="80%;" h="90%;" title="从通讯录中选择" mini="load">通讯录</button>
<button type="button" class="btn btn-info" onclick="clearSender('sender-name')">清除</button>
</span>
</div>
</div>
<script>
function clearSender(id)
{
$('#'+id).val('');
}
</script>
<div class="col-sm-3">
<div class="input-group">
<input class="form-control" type="text" placeholder="检索接车人名字" name="search[receiver_name]" id="receiver-name" value="<?=isset($search['receiver_name'])?$search['receiver_name']:'';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-success" href="<?=Url::toRoute(['contact/select','callback'=>'receiver']);?>" w="80%;" h="90%;" title="从通讯录中选择" mini="load">通讯录</button>
<button type="button" class="btn btn-info" onclick="clearReceiver('receiver-name')">清除</button>
</span>
</div>
</div>
<script>
function clearReceiver(id)
{
$('#'+id).val('');
}
</script>
</div>
<div class="form-group">
<div class="col-sm-3">
<select data-placeholder="选择起运省份..." class="form-control chosen-select" tabindex="2" name="search[start_province]">
<option value="">选择起运省份</option>
<?php foreach(Yii::$app->params['regionAreas'] as $key=>$val){?>
<option value="<?=$key?>" hassubinfo="true" <?=isset($search['start_province']) && $search['start_province']==$key ? 'selected':'';?>><?=$val?></option>
<?php }?>
</select>
</div>
<div class="col-sm-3">
<div class="input-group">
<input class="form-control" type="text" placeholder="检索起运城市名称" name="search[start_city]" id="start_city" value="<?=isset($search['start_city'])?$search['start_city']:'';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info" onclick="clearInput(this)">清除</button>
</span>
</div>
</div>
<div class="col-sm-3">
<select data-placeholder="选择运达省份..." class="select-sm form-control chosen-select" tabindex="2" name="search[aim_province]">
<option value="">选择运达省份</option>
<?php foreach(Yii::$app->params['regionAreas'] as $key=>$val){?>
<option value="<?=$key?>" hassubinfo="true" <?=isset($search['aim_province']) && $search['aim_province']==$key ? 'selected':'';?>><?=$val?></option>
<?php }?>
</select>
</div>
<div class="col-sm-3">
<div class="input-group">
<input class="form-control" type="text" placeholder="检索目标城市名称" name="search[aim_city]" id="aim_city" value="<?=isset($search['aim_city'])?$search['aim_city']:'';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info" onclick="clearInput(this)">清除</button>
</span>
</div>
</div>
</div>
<script>
function clearInput(obj)
{
$(obj).parent().prev().val('');
}
</script>
<div class="form-group">
<div class="col-sm-3">
<select data-placeholder="选择订单状态..." class="select-sm form-control chosen-select" tabindex="2" name="search[status_code]">
<option value="all">选择订单状态</option>
<?php foreach($status as $key=>$val){?>
<option value="<?=$key?>" hassubinfo="true" <?=isset($search['status_code']) && $search['status_code']==$key ? 'selected':'';?>><?=$val?></option>
<?php }?>
</select>
</div>
<label class="col-sm-2 control-label i-checks"><input <?=isset($search['orderby'])&&$search['orderby']=='sign_date' ? 'checked' : ''?> type="checkbox" name="search[orderby]" value="sign_date" > 按签约日期排序
</label>
<label class="col-sm-2 control-label i-checks"><input <?=isset($search['onlyme'])&&$search['onlyme']==1 ? 'checked' : ''?> type="checkbox" name="search[onlyme]" value="1" > 仅查看我录入的记录
</label>
<div class="col-sm-2">
<select data-placeholder="选择订单状态..." class="select-sm form-control chosen-select" tabindex="10" name="search[is_turnover]">
<option value="0" <?=isset($search['is_turnover'])&&$search['is_turnover']==0 ? 'selected' : ''?>>排除交车单</option>
<option value="1" <?=isset($search['is_turnover'])&&$search['is_turnover']==1 ? 'selected' : ''?>>包含交车单</option>
<option value="-1" <?=isset($search['is_turnover'])&&$search['is_turnover']==-1 ? 'selected' : ''?>>仅看交车单</option>
</select>
</div>
</div>
<div class="form-group">
<div class="col-sm-12">
<button type="submit" value="submit" class="btn btn-sm btn-warning"> 搜索</button>
<button type="reset" value="reset" class="btn btn-sm btn-success" href="<?=Url::current(['reset' => 1]);?>" title="重置全部搜索条件"> 重置 </button>
<a class="btn btn-info btn-sm" href="<?= Url::toRoute('order/new')?>">新增运单</a>
<button type="button" value="export" class="btn btn-sm btn-success" href="<?=Url::current(['export' => 'all']);?>" w="50%;" h="50%;" title="导出当前全部数据" mini="load"> 导出</button>
</div>
</div>
</form>
</div>
<!--分页-->
<div class="ibox-content" style="padding:0;text-align: center;">
<div class="f-r">
<?= LinkPager::widget([
'pagination'=>$pager,
'firstPageLabel' => '首页',
'nextPageLabel' => '下一页',
'prevPageLabel' => '上一页',
'lastPageLabel' => '末页',
]) ?>
</div>
</div>
<div class="ibox-title"><?= Html::encode($this->title) ?> <h5 class="pull-right"> 共计 <?=$totalCount?> 条记录</h5></div>
<div class="ibox-content">
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>序号</th>
<th style="width:100px;">车辆</th>
<th style="width:150px;">联系人</th>
<th style="width:180px;">托运信息</th>
<th style="width:260px;">关联信息</th>
<th style="width:150px;">网点员工</th>
<th style="width:100px;">状态</th>
<th style="width:180px;">操作</th>
</tr>
</thead>
<tbody>
<?php foreach($orders as $vo):?>
<tr>
<td><?=$vo['id']?></td>
<td style="width:100px;overflow-x: hidden;">
<p><kbd><?=isset($cars[$vo['car_id']]['title']) ? $cars[$vo['car_id']]['title']:''?></kbd></p>
<p>
<?=isset($cars[$vo['car_id']]['number2']) ? $cars[$vo['car_id']]['number2']:''?>
</p>
</td>
<td>
【发车人】<?=isset($vo['sender_name']) ? $vo['sender_name']:''?><br>
<!-- 【手机】<?=isset($vo['sender_mobiles']) ? $vo['sender_mobiles']:''?><br> -->
<!-- 【身份证号】<?=isset($vo['sender_idcard']) ? $vo['sender_idcard']:''?><br> -->
【接车人】<?=isset($vo['receiver_name']) ? $vo['receiver_name']:''?><br>
<!-- 【手机】<?=isset($vo['receiver_mobiles']) ? $vo['receiver_mobiles']:''?><br> -->
<!-- 【身份证号】<?=isset($vo['receiver_idcard']) ? $vo['receiver_idcard']:''?><br> -->
【委托方】<?=isset($vo['signer']) ? $vo['signer'] : ''?>
</td>
<td>
【签约时间】<?=isset($vo['sign_date']) && $vo['sign_date']>0 ? date('Y-m-d',$vo['sign_date']) : '未记录'?><br>
【始发地】<?=isset(Yii::$app->params['regionAreas'][$vo['start_province']]) ? Yii::$app->params['regionAreas'][$vo['start_province']] : ''?> <?=isset($vo['start_city']) ? $vo['start_city'] : ''?><br>
【目的地】<?=isset(Yii::$app->params['regionAreas'][$vo['aim_province']]) ? Yii::$app->params['regionAreas'][$vo['aim_province']] : ''?> <?=isset($vo['aim_city']) ? $vo['aim_city'] : ''?><br>
</td>
<td>
【保险】保价<code><?=isset($vo['car_value']) ? $vo['car_value'] : 0?></code><kbd>万元</kbd>; 保费<code><?=isset($vo['fee_insurance']) ? $vo['fee_insurance'] : 0?></code><kbd>元</kbd>; <br>
【费用】运费<code><?=isset($vo['fee_truck']) ? $vo['fee_truck'] : 0?></code><kbd>元</kbd>
总费用<code><?=isset($vo['fee_total']) ? $vo['fee_total'] : 0?></code><kbd>元</kbd> <br>
【收款】现付<code><?=isset($vo['pay_send']) ? $vo['pay_send'] : 0?></code><kbd>元</kbd>;到收<code><?=isset($vo['pay_receive']) ? $vo['pay_receive'] : 0?></code><kbd>元</kbd>
</td>
<td>
【<?=isset($stores[$vo['store_id']]['title'])?$stores[$vo['store_id']]['title']:'未设置'?>】
<code><?=isset($employees[$vo['employee_id']]['name'])?$employees[$vo['employee_id']]['name']:'未关联'?></code><br>
【介绍人】<CODE><?=isset($vo['bind']) ? $vo['bind']:''?></CODE><br>
【验车人】<CODE><?=isset($vo['checker']) ? $vo['checker']:''?></CODE>
</td>
<td>
<p>
<?php if($vo['status_code']<=0){?>
<label class="btn btn-default btn-xs"><?=$status[$vo['status_code']]?></label>
<?php }else{?>
<label class="btn btn-info btn-xs"><?=$status[$vo['status_code']]?></label>
<?php }?>
</p>
<p>
<?php if($vo['is_cwqr']==0){?>
<label class="btn btn-default btn-xs">待财务确认</label>
<?php }else{?>
<label class="btn btn-info btn-xs">财务已确认</label>
<?php }?>
</p>
</td>
<td <?php if($vo['is_cwqr']==0){?>style="background-color:#0095f626;"<?php }?>>
<p>
<a class="btn btn-info btn-sm" href="<?=Yii::$app->params['H5Links'];?>pages/order/detail.html?oid=<?=$vo['id']?>" data-toggle="tooltip" data-placement="top" data-title="手机端查看" trigger="hover|focus" target="_blank"> <i class="fa fa-link"></i>预览 </a>
<a class="btn btn-primary btn-sm" href="<?=Url::toRoute(['order/edit','id'=>$vo['id']])?>" data-toggle="tooltip" data-placement="top" data-title="编辑修改订单" trigger="hover|focus"> <i class="fa fa-edit hidden"></i>改 </a>
<a title="点击将删除" href="<?=Url::toRoute(['order/delete','id'=>$vo['id']])?>" class="btn btn-danger btn-sm" mini="act" data-toggle="tooltip" data-placement="top" data-title="点击删除该订单" trigger="hover|focus"> <i class="fa fa-trash hidden"></i>删 </a>
<a title="点击将取消这张订单" href="<?=Url::toRoute(['order/ajax','id'=>$vo['id'],'do'=>'cancel'])?>" class="btn btn-warning btn-sm" mini="ajax" data-toggle="tooltip" data-placement="top" data-title="点击取消该订单" trigger="hover|focus"> <i class="fa fa-recycle bigger-120"></i> </a>
</p>
<p>
<a class="btn btn-success btn-sm" href="<?=Url::toRoute(['order/caiwu','id'=>$vo['id']])?>" w="100%;" h="90%;" title="财务审核" mini="load" data-toggle="tooltip" data-placement="top" data-title="财务审核订单" trigger="hover|focus">审</a>
<a class="btn btn-info btn-sm" href="<?=Url::toRoute(['order/commission','id'=>$vo['id']])?>" w="50%;" h="80%;" title="佣金管理" mini="load" data-toggle="tooltip" data-placement="top" data-title="订单佣金管理" trigger="hover|focus">佣</a>
<a class="btn btn-warning btn-sm" href="<?=Url::toRoute(['feeorder/index','oid'=>$vo['id']])?>" w="100%;" h="90%;" title="费用管理" mini="load" data-toggle="tooltip" data-placement="top" data-title="订单费用管理" trigger="hover|focus"><i class="fa fa-rmb bigger-120"></i></a>
</p>
<p>
<a title="将订单更改为待承运状态" href="<?=Url::toRoute(['order/ajax','id'=>$vo['id'],'do'=>'truckcar'])?>" class="btn btn-warning btn-sm" mini="ajax" data-toggle="tooltip" data-placement="top" data-title="订单车辆转承运" trigger="hover|focus"><i class="fa fa-history bigger-120 hidden"></i>运</a>
<a title="指派承运并创建承运单" href="<?=Url::toRoute(['truckcar/new','order_id'=>$vo['id'],'car_id'=>$vo['car_id']])?>" class="btn btn-danger btn-sm" mini="load" data-toggle="tooltip" data-placement="top" data-title="指派承运" trigger="hover|focus" w="95%" h="95%">派</a>
<a class="btn btn-success btn-sm" href="<?=Url::toRoute(['order/copy','id'=>$vo['id']])?>" w="100%;" h="90%;" title="复制订单" mini="load" data-toggle="tooltip" data-placement="top" data-title="复制为新订单并进行调整" trigger="hover|focus"><i class="fa fa-copy bigger-120"></i></a>
<a class="btn btn-primary btn-sm" href="<?=Url::toRoute(['order/edit','id'=>$vo['id'],'op'=>'print'])?>" w="90%;" h="90%;" title="打印订单" mini="load" data-toggle="tooltip" data-placement="top" data-title="打印订单合同(电子版)" trigger="hover|focus"><i class="fa fa-print"></i> </a>
</p>
</td>
</tr>
<?php endforeach;?>
</tbody>
</table>
</div>
</div>
<!--分页-->
<div class="ibox-content" style="padding:0;text-align: center;">
<div class="f-r">
<?= LinkPager::widget([
'pagination'=>$pager,
'firstPageLabel' => '首页',
'nextPageLabel' => '下一页',
'prevPageLabel' => '上一页',
'lastPageLabel' => '末页',
]) ?>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
laydate.skin('molv');
$(document).ready(function() {
var config = {
".chosen-select": {},
".chosen-select-deselect": {
allow_single_deselect: !0
},
".chosen-select-no-single": {
disable_search_threshold: 10
},
".chosen-select-no-results": {
no_results_text: "Oops, nothing found!"
},
".chosen-select-width": {
width: "95%"
}
};
for (var selector in config) $(selector).chosen(config[selector]);
});
</script>
+818
View File
@@ -0,0 +1,818 @@
<?php
# @Author: 嗨噜客(三亚) <fm453>
# @Date: 2022-05-17T11:01:06+08:00
# @Email: fm453@lukegzs.com
# @Last modified by: fm453
# @Last modified time: 2022-05-21T16:12:05+08:00
# @Copyright: www.hiluker.cn
use yii\helpers\Html;
use yii\helpers\Url;
?>
<!--百度编辑器-->
<?=Html::jsFile('@web/plugins/ueditor/ueditor.config.js')?>
<!--建议手动加在语言,避免在ie下有时因为加载语言失败导致编辑器加载失败-->
<!--这里加载的语言文件会覆盖你在配置项目里添加的语言类型,比如你在配置项目里配置的是英文,这里加载的中文,那最后就是中文-->
<?=Html::jsFile('@web/plugins/ueditor/ueditor.all.min.js')?>
<?=Html::jsFile('@web/plugins/ueditor/lang/zh-cn/zh-cn.js')?>
<!--日期时间选择器-->
<?=Html::jsFile('@web/js/plugins/layer/laydate/laydate.js')?>
<?=Html::cssFile('@web/js/plugins/layer/laydate/need/laydate.css')?>
<?=Html::cssFile('@web/js/plugins/layer/laydate/skins/molv/laydate.css')?>
<!--滑块选择器-->
<?=Html::cssFile('@web/css/plugins/ionRangeSlider/ion.rangeSlider.css')?>
<?=Html::cssFile('@web/css/plugins/ionRangeSlider/ion.rangeSlider.skinFlat.css')?>
<?=Html::jsFile('@web/js/plugins/ionRangeSlider/ion.rangeSlider.min.js')?>
<!--下拉选择、选项框-->
<?=Html::cssFile('@web/css/plugins/chosen/chosen.css')?>
<?=Html::jsFile('@web/js/plugins/chosen/chosen.jquery.js')?>
<?=Html::jsFile('@web/js/plugins/iCheck/icheck.min.js')?>
<script>
$(document).ready(function(){$(".i-checks").iCheck({checkboxClass:"icheckbox_square-green",radioClass:"iradio_square-green",})});
</script>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>运单信息<code>所有项如果留空则不更新</code></h5>
<div class="ibox-tools">
<a class="collapse-link">
<i class="fa fa-chevron-up"></i>
</a>
<a class="close-link">
<i class="fa fa-times"></i>
</a>
</div>
</div>
<div class="ibox-content">
<form role="form" class="form-horizontal m-t" method="post" action="<?=Url::toRoute('order/save')?>" >
<input type="hidden" name="_csrf-backend" value="<?=Yii::$app->getRequest()->getCsrfToken();?>" />
<input type="hidden" name="id" value="<?=isset($detail['id']) ? $detail['id'] : 0;?>">
<div class="alert alert-info">
联系信息等基础资料所有名称类输入框均限10个汉字以内,如姓名、城市名等
</div>
<div class="form-group">
<label class="col-sm-1 control-label"><span class="red">*</span> 委托方:</label>
<div class="col-sm-5">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">单位</button>
</span>
<input class="form-control" type="text" name="wtdw" id="signer-company" placeholder="请输入委托单位的名称(限10个汉字以内)" autocomplete="off" value="<?=isset($detail['wtdw']) ? $detail['wtdw'] : '';?>">
<input class="form-control" type="hidden" name="weituo" id="signer-value" autocomplete="off" value="<?=isset($detail['weituo']) ? $detail['weituo'] : 0;?>">
</div>
</div>
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">姓名</button>
</span>
<input class="form-control" type="text" name="signer" id="signer-name" placeholder="请输入委托人的姓名(限10个汉字以内)" autocomplete="off" value="<?=isset($detail['signer']) ? $detail['signer'] : '';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-warning" href="<?=Url::toRoute(['weituoren/select','callback'=>'signer']);?>" w="80%;" h="90%;" title="从单位名录中选择" mini="load">单位名录</button>
<button type="button" class="btn btn-success" href="<?=Url::toRoute(['contact/select','callback'=>'signer']);?>" w="80%;" h="90%;" title="从通讯录中选择" mini="load">通讯录</button>
<button type="button" class="btn btn-info" onclick="clearSigner('signer')">清除</button>
</span>
</div>
<span class="help-block m-b-none">委托单位及委托人姓名限10个汉字以内</span>
</div>
<script>
function selectWeituoren(company,name,mobile,id,callback)
{
layer.closeAll();
layer.msg('已选择');
$('#'+callback+'-company').val(company);
$('#'+callback+'-mobile').val(mobile);
$('#'+callback+'-name').val(name);
$('#'+callback+'-value').val(id);
}
function selectContactor(company,name,mobile,idcard,id,callback)
{
layer.closeAll();
layer.msg('已选择');
$('#'+callback+'-company').val(company);
$('#'+callback+'-mobile').val(mobile);
$('#'+callback+'-name').val(name);
$('#'+callback+'-idcard').val(idcard);
$('#'+callback+'-value').val('');
}
function clearContactor(id)
{
$('#'+id+'-idcard').val('');
$('#'+id+'-mobile').val('');
$('#'+id+'-name').val('');
}
function clearSigner(id)
{
$('#'+id+'-value').val('');
$('#'+id+'-company').val('');
$('#'+id+'-name').val('');
}
</script>
</div>
<div class="form-group">
<label class="col-sm-1 control-label"><span class="red">*</span>起运地:</label>
<div class="col-sm-2">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">省</button>
</span>
<select data-placeholder="选择省份..." class="form-control chosen-select" name="start_province">
<option value="">请选择省份</option>
<?php foreach (Yii::$app->params['regionAreas'] as $key=>$val) {?>
<option value="<?=$key?>" hassubinfo="true" <?=isset($detail['start_province']) && $detail['start_province']==$key ? 'selected' : '';?>><?=$val?></option>
<?php }?>
</select>
</div>
</div>
<div class="col-sm-3">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">市</button>
</span>
<input class="form-control" type="text" name="start_city" placeholder="如:乌兰浩特" autocomplete="off" value="<?=isset($detail['start_city']) ? $detail['start_city'] : '';?>">
</div>
</div>
<label class="col-sm-1 control-label"><span class="red">*</span>目的地:</label>
<div class="col-sm-2">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">省</button>
</span>
<select data-placeholder="选择省份..." class="form-control chosen-select" name="aim_province">
<option value="">请选择省份</option>
<?php foreach (Yii::$app->params['regionAreas'] as $key=>$val) {?>
<option value="<?=$key?>" hassubinfo="true" <?=isset($detail['aim_province']) && $detail['aim_province']==$key ? 'selected' : '';?>><?=$val?></option>
<?php }?>
</select>
</div>
</div>
<div class="col-sm-3">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">市</button>
</span>
<input class="form-control" type="text" name="aim_city" placeholder="如:西双版纳" autocomplete="off" value="<?=isset($detail['aim_city']) ? $detail['aim_city'] : '';?>">
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label"><span class="red">*</span> 发车人信息:</label>
<div class="col-sm-2">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">姓名</button>
</span>
<input class="form-control" type="text" name="sender_name" id="sender-name" placeholder="请输入发车人的姓名" autocomplete="off" value="<?=isset($detail['sender_name']) ? $detail['sender_name'] : '';?>">
</div>
</div>
<div class="col-sm-3">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">手机号</button>
</span>
<input class="form-control" type="text" name="sender_mobiles" id="sender-mobile" placeholder="请输入发车人的联系方式" autocomplete="off" value="<?=isset($detail['sender_mobiles']) ? $detail['sender_mobiles'] : '';?>">
</div>
</div>
<div class="col-sm-3">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">身份证号</button>
</span>
<input class="form-control" type="text" name="sender_idcard" id="sender-idcard" placeholder="请输入发车人的身份证号" autocomplete="off" value="<?=isset($detail['sender_idcard']) ? $detail['sender_idcard'] : '';?>">
</div>
</div>
<div class="col-sm-2">
<span class="input-group-btn">
<button type="button" class="btn btn-success" href="<?=Url::toRoute(['contact/select','callback'=>'sender']);?>" w="80%;" h="90%;" title="从通讯录中选择" mini="load">通讯录</button>
<button type="button" class="btn btn-info" onclick="clearContactor('sender')">清除</button>
</span>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label"><span class="red">*</span> 收车人信息:</label>
<div class="col-sm-2">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">姓名</button>
</span>
<input class="form-control" type="text" name="receiver_name" id="receiver-name" placeholder="请输入收车人的姓名" autocomplete="off" value="<?=isset($detail['receiver_name']) ? $detail['receiver_name'] : '';?>">
</div>
</div>
<div class="col-sm-3">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">手机号</button>
</span>
<input class="form-control" type="text" name="receiver_mobiles" id="receiver-mobile" placeholder="请输入收车人的联系方式" autocomplete="off" value="<?=isset($detail['receiver_mobiles']) ? $detail['receiver_mobiles'] : '';?>">
</div>
</div>
<div class="col-sm-3">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">身份证号</button>
</span>
<input class="form-control" type="text" name="receiver_idcard" id="receiver-idcard" placeholder="请输入收车人的身份证号" autocomplete="off" value="<?=isset($detail['receiver_idcard']) ? $detail['receiver_idcard'] : '';?>">
</div>
</div>
<div class="col-sm-2">
<span class="input-group-btn">
<button type="button" class="btn btn-success" href="<?=Url::toRoute(['contact/select','callback'=>'receiver']);?>" w="80%;" h="90%;" title="从通讯录中选择" mini="load">通讯录</button>
<button type="button" class="btn btn-info" onclick="clearContactor('receiver')">清除</button>
<button type="button" class="btn btn-warning" onclick="copySender()">复制发车人</button>
</span>
</div>
<script>
function copySender()
{
var tid="receiver",sid="sender";
$('#'+tid+'-idcard').val($('#'+sid+'-idcard').val());
$('#'+tid+'-mobile').val($('#'+sid+'-mobile').val());
$('#'+tid+'-name').val($('#'+sid+'-name').val());
}
</script>
</div>
<div class="form-group">
<label class="col-sm-1 control-label"> 送车地址:</label>
<div class="col-sm-7">
<input class="form-control" type="text" name="aim_address" placeholder="请输入另行指定的送车地址" autocomplete="off" value="<?=isset($detail['aim_address']) ? $detail['aim_address'] : '';?>">
<span class="help-block m-b-none">通常送车为收费有偿服务,请谨慎确认是否需要为客户送车</span>
</div>
<label class="col-sm-1 control-label">签约日期:</label>
<div class="col-sm-3">
<input class="form-control layer-date" type="text" name="sign_date" placeholder="请选择日期" autocomplete="off" onclick="laydate({istime: false, format: 'YYYY-MM-DD'})" value="<?=isset($detail['sign_date']) ? date('Y-m-d', $detail['sign_date']) : ''?>">
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label"><span class="red">*</span>指派经办人:</label>
<div class="col-sm-2">
<div class="input-group">
<input type="text" class="form-control" name="employee_title" id="employee-title" value="<?=isset($detail['employee_title']) ? $detail['employee_title'] : '';?>" placeholder="点击选择员工" autocomplete="off" href="<?=Url::toRoute(['employee/select','callback'=>'employee']);?>" w="80%;" h="90%;" title="选择员工" mini="load">
<input type="hidden" class="form-control" name="employee_id" id="employee-value" value="<?=isset($detail['employee_id']) ? $detail['employee_id'] : 0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info" onclick="clearEmployee('employee')">清除</button>
</span>
</div>
<script>
function selectEmployee(title,id,callback)
{
layer.closeAll();
layer.msg('已选择');
$('#'+callback+'-value').val(id);
$('#'+callback+'-title').val(title);
}
function clearEmployee(id)
{
$('#'+id+'-value').val('');
$('#'+id+'-title').val('');
}
</script>
</div>
<label class="col-sm-1 control-label"> 介绍人:</label>
<div class="col-sm-3">
<div class="input-group">
<input class="form-control" type="text" name="bind" id="bind-name" placeholder="请输入介绍人的姓名(限10个汉字以内)" autocomplete="off" value="<?=isset($detail['bind']) ? $detail['bind'] : '';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-success" href="<?=Url::toRoute(['contact/select','callback'=>'bind']);?>" w="80%;" h="90%;" title="从通讯录中选择" mini="load">通讯录</button>
<button type="button" class="btn btn-info" onclick="clearBind('bind-name')">清除</button>
</span>
</div>
<span class="help-block m-b-none">根据实际情况填写</span>
</div>
<script>
function clearBind(id)
{
$('#'+id).val('');
}
</script>
</div>
<div class="alert alert-danger">
车辆费用明细等相关资料;通常情况下总费用至少保险费、运费两部分,如有上门提车或送车服务的还应考虑额外加收相应费用;
</div>
<div class="form-group draggable">
<label class="col-sm-1 control-label"> <span class="red">*</span> 托运车辆:</label>
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-info" href="<?=Url::toRoute(['car/select','callback'=>'car']);?>" w="80%;" h="90%;" title="选择车辆" mini="load">选择车辆</button>
</span>
<input type="text" class="form-control" name="car_title" id="car-title" value="<?=isset($detail['car_title']) ? $detail['car_title'] : '';?>" placeholder="点击选择需要托运的车辆(如无,可新创建)" autocomplete="off" href="<?=Url::toRoute(['car/select','callback'=>'car']);?>" w="80%;" h="90%;" title="选择车辆" mini="load">
<input type="hidden" class="form-control" name="car_id" id="car-id" value="<?=isset($detail['car_id']) ? $detail['car_id'] : 0;?>">
</div>
</div>
<script>
function selectCar(title,car_id,numbers,carowner,callback)
{
/*车品牌+车型组成的车名;车ID;车牌或车架号;车主信息;回调标识*/
layer.closeAll();
layer.msg('已选择');
$('#'+callback+'-id').val(car_id);
$('#'+callback+'-title').val(title);
$('#'+callback+'-number').val(numbers);
$('#'+callback+'-owner').val(carowner);
}
</script>
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">车牌或车架号</button>
</span>
<input class="form-control" type="text" name="car_number" id="car-number" placeholder="自动关联;无须手动填写" autocomplete="off" disabled="true" value="<?=isset($detail['car_number']) ? $detail['car_number'] : '';?>">
</div>
</div>
<div class="col-sm-3">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">对应车主</button>
</span>
<input class="form-control" type="text" name="car_owner" id="car-owner" placeholder="自动关联;无须手动填写" autocomplete="off" disabled="true" value="<?=isset($detail['car_owner']) ? $detail['car_owner'] : '';?>">
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label"><span class="red">*</span> 保险:</label>
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">车辆价值</button>
</span>
<input class="form-control" type="number" name="car_value" id="car-value" placeholder="请输入保价" autocomplete="off" value="<?=isset($detail['car_value']) ? $detail['car_value'] : '';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-default">万元</button>
</span>
</div>
<span class="help-block m-b-none">按保价购买保险;不买保险的需要单独注明</span>
</div>
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">保险费</button>
</span>
<input class="form-control" type="number" name="fee_insurance" id="fee_insurance" placeholder="实际收取的保险费" autocomplete="off" value="<?=isset($detail['fee_insurance']) ? $detail['fee_insurance'] : 0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-default">元</button>
</span>
</div>
<span class="help-block m-b-none">通常为100元保10万元</span>
</div>
<div class="col-sm-3">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-warning">不投保</button>
</span>
<select data-placeholder="选择是否不投保..." class="form-control" tabindex="2" name="not_insurance">
<option value="0" <?=isset($detail['not_insurance']) && $detail['not_insurance']==0 ? 'selected' : '';?>>正常投保</option>
<option value="1" <?=isset($detail['not_insurance']) && $detail['not_insurance']==1 ? 'selected' : '';?>>客户要求不投保</option>
</select>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label"><span class="red">*</span> 费用:</label>
<div class="col-sm-3">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">送车费</button>
</span>
<input class="form-control" type="number" name="fee_deliver" id="fee_deliver" placeholder="送车费用" autocomplete="off" value="<?=isset($detail['fee_deliver']) ? $detail['fee_deliver'] : 0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-default">元</button>
</span>
</div>
<span class="help-block m-b-none">送到指定位置需加收的费用</span>
</div>
<div class="col-sm-3">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">提车费</button>
</span>
<input class="form-control" type="number" name="fee_pickup" id="fee_pickup" placeholder="提车费用" autocomplete="off" value="<?=isset($detail['fee_pickup']) ? $detail['fee_pickup'] : 0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-default">元</button>
</span>
</div>
<span class="help-block m-b-none">上门取车需加收的费用</span>
</div>
<div class="col-sm-2">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">加急费</button>
</span>
<input class="form-control" type="number" name="fee_urgent" id="fee_urgent" placeholder="加急费用" autocomplete="off" value="<?=isset($detail['fee_urgent']) ? $detail['fee_urgent'] : 0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-default">元</button>
</span>
</div>
<span class="help-block m-b-none">加收费用、优先上板</span>
</div>
<div class="col-sm-3">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">其他费用</button>
</span>
<input class="form-control" type="number" name="fee_extra" id="fee_extra" placeholder="" autocomplete="off" value="<?=isset($detail['fee_extra']) ? $detail['fee_extra'] : 0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-default">元</button>
</span>
</div>
<span class="help-block m-b-none">其他额外向客户收取的费用</span>
</div>
<!-- line2 -->
<label class="col-sm-1 control-label"></label>
<div class="col-sm-3">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">运费</button>
</span>
<input class="form-control" type="number" name="fee_truck" id="fee_truck" placeholder="运费" autocomplete="off" value="<?=isset($detail['fee_truck']) ? $detail['fee_truck'] : '';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-default">元</button>
</span>
</div>
</div>
<div class="col-sm-2">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">预付</button>
</span>
<input class="form-control" type="number" name="pay_send" id="pay_send" placeholder="预付费用" autocomplete="off" value="<?=isset($detail['pay_send']) ? $detail['pay_send'] : 0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-default">元</button>
</span>
</div>
<span class="help-block m-b-none">预收的费用(通常是在起运地预收的)</span>
</div>
<div class="col-sm-3">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-warning">到付</button>
</span>
<input class="form-control" type="number" name="pay_receive" id="pay_receive" placeholder="到收费用" autocomplete="off" value="<?=isset($detail['pay_receive']) ? $detail['pay_receive'] : 0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-default">元</button>
</span>
</div>
<span class="help-block m-b-none">需要到付的费用(通常是在目的地再收的)</span>
</div>
<div class="col-sm-3">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-danger">总费用</button>
</span>
<input class="form-control" type="number" name="fee_total" id="fee_total" placeholder="客人所付的总费用" autocomplete="off" value="<?=isset($detail['fee_total']) ? $detail['fee_total'] : 0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-default">元</button>
</span>
</div>
<span class="help-block m-b-none">总共要向客户收取的费用金额</span>
</div>
</div>
<div class="alert alert-success">
验车信息;发车上板前要求对车辆进行验视拍照,以便备查;
</div>
<div class="form-group">
<label class="col-sm-1 control-label">公里数:</label>
<div class="col-sm-3">
<div class="input-group">
<input class="form-control" type="number" name="start_km" id="start_km" placeholder="" autocomplete="off" value="<?=isset($detail['start_km']) ? $detail['start_km'] : '';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-default">Km(公里)</button>
</span>
</div>
<span class="help-block m-b-none">起运地记录,发车时的公里数</span>
</div>
<label class="col-sm-2 control-label i-checks"><input <?=isset($detail['no_driving_lisence'])&&$detail['no_driving_lisence']==1 ? 'checked' : ''?> type="checkbox" name="no_driving_lisence" value="1" > 行驶证未随车
<span class="help-block m-b-none">未随车时请拍照备查</span>
</label>
<label class="col-sm-1 control-label">验车人:</label>
<div class="col-sm-2">
<input class="form-control" type="text" name="checker" id="checker" placeholder="" autocomplete="off" value="<?=isset($detail['checker']) ? $detail['checker'] : '';?>">
</div>
<label class="col-sm-1 control-label i-checks"><input <?=isset($detail['is_checked'])&&$detail['is_checked']==1 ? 'checked' : ''?> type="checkbox" name="is_checked" value="1" > 已验视
</label>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">行驶证照片:</label>
<div class="col-sm-9">
<div class="input-group">
<input type="text" class="form-control" name="driving_lisence" id="driving_lisence-value" placeholder="" autocomplete="off" value="<?=isset($detail['driving_lisence']) ? $detail['driving_lisence'] : '';?>"> <span class="input-group-btn"> <button type="button" class="btn btn-primary" data-id="driving_lisence-value" href="<?= Url::toRoute(['upload/image','multi'=>false,'callback'=>'driving_lisence']);?>" w="80%;" h="90%;" title="选择或上传图片" mini="load">选择图片
</button> </span>
</div>
<div class="input-group " style="margin-top:.5em;">
<img id="driving_lisence-preview" src="<?=isset($detail['driving_lisence']) ? $detail['driving_lisence_url'] : Url::to('@web/img/nopic.jpg');?>" onerror="this.src='<?=Yii::getAlias("@web")?>/img/nopic.jpg'; this.title='图片未找到.'" class="img-responsive img-driving_lisencenail" width="150">
<em class="close" style="position:absolute; top: 0px; right: -14px;" title="删除这张图片" onclick="deleteImage(this)">×</em>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">车前正面照:</label>
<div class="col-sm-5">
<div class="input-group">
<input type="text" class="form-control" name="thumb_f" id="thumb_f-value" placeholder="" autocomplete="off" value="<?=isset($detail['thumb_f']) ? $detail['thumb_f'] : '';?>"> <span class="input-group-btn"> <button type="button" class="btn btn-primary" data-id="thumb_f-value" href="<?= Url::toRoute(['upload/image','multi'=>false,'callback'=>'thumb_f']);?>" w="80%;" h="90%;" title="选择或上传图片" mini="load">选择图片
</button> </span>
</div>
<div class="input-group " style="margin-top:.5em;">
<img id="thumb_f-preview" src="<?=isset($detail['thumb_f']) ? $detail['thumb_f_url'] : Url::to('@web/img/nopic.jpg');?>" onerror="this.src='<?=Yii::getAlias("@web")?>/img/nopic.jpg'; this.title='图片未找到.'" class="img-responsive img-thumb_fnail" width="150">
<em class="close" style="position:absolute; top: 0px; right: -14px;" title="删除这张图片" onclick="deleteImage(this)">×</em>
</div>
</div>
<label class="col-sm-1 control-label">车尾照片:</label>
<div class="col-sm-5">
<div class="input-group">
<input type="text" class="form-control" name="thumb_b" id="thumb_b-value" placeholder="" autocomplete="off" value="<?=isset($detail['thumb_b']) ? $detail['thumb_b'] : '';?>"> <span class="input-group-btn"> <button type="button" class="btn btn-primary" data-id="thumb_b-value" href="<?= Url::toRoute(['upload/image','multi'=>false,'callback'=>'thumb_b']);?>" w="80%;" h="90%;" title="选择或上传图片" mini="load">选择图片
</button> </span>
</div>
<div class="input-group " style="margin-top:.5em;">
<img id="thumb_b-preview" src="<?=isset($detail['thumb_b']) ? $detail['thumb_b_url'] : Url::to('@web/img/nopic.jpg');?>" onerror="this.src='<?=Yii::getAlias("@web")?>/img/nopic.jpg'; this.title='图片未找到.'" class="img-responsive img-thumb_bnail" width="150">
<em class="close" style="position:absolute; top: 0px; right: -14px;" title="删除这张图片" onclick="deleteImage(this)">×</em>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">车身左侧照:</label>
<div class="col-sm-5">
<div class="input-group">
<input type="text" class="form-control" name="thumb_l" id="thumb_l-value" placeholder="" autocomplete="off" value="<?=isset($detail['thumb_l']) ? $detail['thumb_l'] : '';?>"> <span class="input-group-btn"> <button type="button" class="btn btn-primary" data-id="thumb_l-value" href="<?= Url::toRoute(['upload/image','multi'=>false,'callback'=>'thumb_l']);?>" w="80%;" h="90%;" title="选择或上传图片" mini="load">选择图片
</button> </span>
</div>
<div class="input-group " style="margin-top:.5em;">
<img id="thumb_l-preview" src="<?=isset($detail['thumb_l']) ? $detail['thumb_l_url'] : Url::to('@web/img/nopic.jpg');?>" onerror="this.src='<?=Yii::getAlias("@web")?>/img/nopic.jpg'; this.title='图片未找到.'" class="img-responsive img-thumb_lnail" width="150">
<em class="close" style="position:absolute; top: 0px; right: -14px;" title="删除这张图片" onclick="deleteImage(this)">×</em>
</div>
</div>
<label class="col-sm-1 control-label">车身右侧照:</label>
<div class="col-sm-5">
<div class="input-group">
<input type="text" class="form-control" name="thumb_r" id="thumb_r-value" placeholder="" autocomplete="off" value="<?=isset($detail['thumb_r']) ? $detail['thumb_r'] : '';?>"> <span class="input-group-btn"> <button type="button" class="btn btn-primary" data-id="thumb_r-value" href="<?= Url::toRoute(['upload/image','multi'=>false,'callback'=>'thumb_r']);?>" w="80%;" h="90%;" title="选择或上传图片" mini="load">选择图片
</button> </span>
</div>
<div class="input-group " style="margin-top:.5em;">
<img id="thumb_r-preview" src="<?=isset($detail['thumb_r']) ? $detail['thumb_r_url'] : Url::to('@web/img/nopic.jpg');?>" onerror="this.src='<?=Yii::getAlias("@web")?>/img/nopic.jpg'; this.title='图片未找到.'" class="img-responsive img-thumb_rnail" width="150">
<em class="close" style="position:absolute; top: 0px; right: -14px;" title="删除这张图片" onclick="deleteImage(this)">×</em>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">更多验车照片:</label>
<div class="col-sm-11">
<div class="input-group">
<input type="text" class="form-control" value="一共选择了<?=isset($detail['thumbs']) ? count($detail['thumbs']) : 0?>张图片" readonly="true" id="thumbs" data-length="<?=isset($detail['thumbs']) ? count($detail['thumbs']) : 0?>">
<span class="input-group-btn"> <button type="button" class="btn btn-primary" data-id="thumbs-value" href="<?= Url::toRoute(['upload/images','multi'=>true,'callback'=>'thumbs']);?>" w="80%;" h="90%;" title="选择或上传图片" mini="load">选择图片</button> </span>
</div>
<section id="thumbs-PREVIEWER" style="display: inline-flex;overflow-x: scroll;">
<?php if (isset($detail['thumbs']) && isset($detail['thumbs_url'])):?>
<?php foreach ($detail['thumbs_url'] as $k=>$val):?>
<div onclick="deleteImg(this);" style="width:150px;max-height:200px;margin-right:30px;">
<div class="input-group " style="margin-top:.5em;">
<img id="thumbs-preview" src="<?=isset($val['url']) ? $val['url'] : $val['src'];?>" onerror="this.src='<?=Yii::getAlias("@web")?>/img/nopic.jpg'; this.title='图片未找到.'" class="img-responsive img-thumbsnail imgs-PREVIEWER" width="150" height="auto">
<em class="close" style="position:absolute; top: 0px; right: -14px;" title="删除这张图片" onclick="deleteImage(this)">×</em>
<input type="hidden" name="thumbs[]" value="<?=$detail['thumbs'][$k]?>">
</div>
</div>
<?php endforeach;?>
<?php endif;?>
</section>
</div>
</div>
<script type="text/javascript" >
//响应多图点选事件
function selectImages(imgs,targId){
layer.closeAll();
layer.msg('操作成功!');
targId = !targId ? 'thumbs' : targId;
var html = '',_html = '',x;
for(x in imgs){
_html = '<div onclick="deleteImg(this);" style="width:150px;max-height:200px;margin-right:30px;">'+
'<div class="input-group " style="margin-top:.5em;">'+
'<img class="imagePreview '+ targId +'-PREVIEWER" src="<?=Yii::$app->params['attachSrc'].Yii::$app->params['attachDir']?>'+imgs[x]+'" width="150" height="auto" onerror="javascript:this.src=\'<?=Yii::getAlias("@web")?>/img/nopic.jpg\';" style="margin-right:10px;">'+
'<em class="close" style="position:absolute; top: 0px; right: -14px;" title="删除这张图片" onclick="deleteImage(this)">×</em>'+
'<input type="hidden" name="'+targId+'[]" value="'+imgs[x]+'">'+
'</div></div>';
html += _html;
}
$('#'+targId+'-PREVIEWER').prepend(html);
$('#'+targId).val('一共新选择了'+imgs.length+'张图片');
var l = $('#'+targId).attr('data-length');
$('#'+targId).attr('data-length',l+imgs.length);
}
//针对多图选择的 图片层删除函数
function deleteImg(obj){
$(obj).remove();
}
</script>
<div class="form-group">
<label class="col-sm-1 control-label">随车物品说明:</label>
<div class="col-sm-11">
<textarea class="form-control" col="3" length="1000" name="car_extra" id="car_extra"><?=isset($detail['car_extra']) ? $detail['car_extra'] : ''?></textarea>
<span class="help-block m-b-none red">请向客户强调申明:勿随车放置贵重物品尤其是钱包、眼镜、火机、U盘、精密仪器设备等;</span>
</div>
</div>
<div class="alert alert-info">
更多补充信息
</div>
<!-- <div class="form-group">
<label class="col-sm-1 control-label">运单状态:
</label>
<div class="col-sm-3">
<select data-placeholder="" class="form-control chosen-select" tabindex="4" name="status_code">
<option value=""></option>
<?php foreach (Yii::$app->params['OrderStatus'] as $k=>$val) {?>
<option value="<?=$k?>" hassubinfo="true" <?=isset($detail['status_code']) && $detail['status_code']==$k ? 'selected' : '';?>><?=$val?></option>
<?php }?>
</select>
</div>
</div> -->
<div class="form-group">
<label class="col-sm-1 control-label">订单备注:</label>
<div class="col-sm-10">
<textarea id="editor" name="editor" style="min-height:300px;"><?=isset($detail['remark']) ? $detail['remark'] : ''?></textarea>
<script type="text/javascript">
//实例化编辑器
//建议使用工厂方法getEditor创建和引用编辑器实例,如果在某个闭包下引用该编辑器,直接调用UE.getEditor('editor')就能拿到相关的实例
var ue = UE.getEditor('editor');
/* 传入参数表,添加到已有参数表里 */
ue.ready(function() {
ue.execCommand('serverparam', {
'siteId': "<?=Yii::$app->params['siteId']?>",
'pid': "<?=Yii::$app->session->get('pid')?>",
'attachSrc': "<?=Yii::$app->params['attachSrc']?>",
'attachDir': "<?=Yii::$app->params['attachDir']?>"
});
});
</script>
</div>
</div>
<div class="hr-line-dashed"></div>
<div class="form-group">
<label class="col-sm-1 control-label red"> 特殊标记
</label>
<label class="checkbox i-checks">
<input <?=isset($detail['is_turnover'])&&$detail['is_turnover']==1 ? 'checked' : ''?> type="checkbox" name="is_turnover" value="1" ><i></i> 交车单;补录信息</label>
</div>
<div class="hr-line-dashed"></div>
<div class="hr-line-dashed"></div>
<div class="form-group">
<div class="col-sm-11 col-sm-offset-1">
<span class="help-block m-b-none">本订单创建于:<?=isset($detail['create_at']) ? date('Y-m-d H:i:s', $detail['create_at']) : '';?>;最近更新时间:<?=isset($detail['update_at']) ? date('Y-m-d H:i:s', $detail['update_at']) : '';?>; 创建者工号:<?=isset($detail['create_by']) ? $detail['create_by'] : Yii::$app->user->identity->id;?></span>
</div>
</div>
<div class="hr-line-dashed"></div>
<div class="form-group">
<div class="col-sm-12 col-sm-offset-3">
<?php if (isset($detail['create_by']) && $detail['create_by'] != Yii::$app->user->identity->id) { ?>
<button class="btn btn-white" mini="submit" type="button">该运单不是您创建的</button>
<?php } else { ?>
<button class="btn btn-primary" type="submit">保存内容</button>
<?php }?>
<?php if (Yii::$app->user->identity->id==1) {?>
<button class="btn btn-primary" type="submit">保存内容</button>
<?php }?>
<a class="btn btn-white" href="<?=Yii::$app->request->referrer?>">取消并返回</a>
<a class="btn btn-info" href="<?=Url::toRoute('order/list')?>">运单列表</a>
<?php if (isset($detail['id'])) {?>
<a class="btn btn-info" href="<?=Url::toRoute(['order/edit','id'=>$detail['id'],'op'=>'print'])?>" w="90%;" h="90%;" title="打印订单" mini="load"> <i class="fa fa-print"></i> 打印订单 </a>
<a class="btn btn-success" href="<?=Url::toRoute(['order/copy','id'=>$detail['id']])?>" title="复制订单" data-toggle="tooltip" data-placement="top" data-title="复制为新订单并进行调整" trigger="hover|focus"><i class="fa fa-copy bigger-120"></i> 复制订单</a>
<?php }?>
</div>
</div>
</form>
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
function showImageFrame(obj){
//取预设参数
var id,title,width,height,url;
id = $(obj).attr('data-id');
title = $(obj).attr('data-title');
width = $(obj).attr('data-width');
height = $(obj).attr('data-height');
url = $(obj).attr('data-src');
//iframe层
parent.layer.open({
type: 2,
title: title,
shadeClose: true,
shade: 0.8,
area: [width, height],
content: url //iframe的url
});
}
function deleteImage(elm){
$(elm).prev().attr("src", "../img/nopic.jpg");
$(elm).parent().prev().find("input").val("");
parent.layer.msg('图片已删除;您可重新上传');
}
function selectImage(title,path,src,callback)
{
layer.closeAll();
layer.msg('图片已选择');
$('#'+callback+'-value').val(path);
$('#'+callback+'-preview').attr('src',src);
}
</script>
<script>
laydate.skin('molv');
$(document).ready(function() {
var config = {
".chosen-select": {},
".chosen-select-deselect": {
allow_single_deselect: !0
},
".chosen-select-no-single": {
disable_search_threshold: 10
},
".chosen-select-no-results": {
no_results_text: "Oops, nothing found!"
},
".chosen-select-width": {
width: "95%"
}
};
for (var selector in config) $(selector).chosen(config[selector]);
});
</script>
<style>
.laydate_body .laydate_top{
padding:0;
}
.laydate_body .laydate_ym{
/*margin:0;
padding:5px;*/
}
.laydate_body .laydate_table{
border:0;
border-bottom: 1px solid rgb(204, 204, 204);
}
.laydate_body .laydate_bottom {
border: 0;
margin-bottom: 10px;
}
</style>
<style>
.chosen-container-single .chosen-single{
line-height:30px;
}
</style>
+125
View File
@@ -0,0 +1,125 @@
<?php
use yii\helpers\Html;
use yii\helpers\Url;
?>
<!--下拉选择、选项框-->
<?=Html::cssFile('@web/css/plugins/chosen/chosen.css')?>
<?=Html::jsFile('@web/js/plugins/chosen/chosen.jquery.js')?>
<div class="wrapper wrapper-content p-xl">
<div class="ibox-content p-xl" contenteditable="true">
<div class="row">
<div class="col-sm-6">
<address>
<strong>北京安诚捷顺物流有限公司车辆运输合同</strong><br>
<abbr>办事处/分公司:</abbr><?=isset($store->title)?$store->title:'';?><br>
<abbr>经办人:</abbr><?=isset($employee->name)?$employee->name:'';?><br>
<abbr>业务电话:</abbr> <?=isset($employee->mobile)?$employee->mobile:'';?>
</address>
</div>
<div class="col-sm-6 text-right">
<h4>单据编号:</h4>
<h4 class="text-navy"><?=isset($detail['sn'])?$detail['sn']:'';?></h4>
<address>委托方:<?=isset($detail['signer'])?$detail['signer']:'';?></address>
<p>
<span><strong>日期:<?=isset($detail['sign_date'])?date('Y-m-d',$detail['sign_date']):''?></span>
</p>
</div>
</div>
<table class="table" style="border:1px solid #ddd;">
<tbody>
<tr>
<td>发车人:</td>
<td><?=isset($detail['sender_name'])?$detail['sender_name']:'';?></td>
<td>手机号:</td>
<td><?=isset($detail['sender_mobiles'])?$detail['sender_mobiles']:'';?></td>
<td>身份证号:</td>
<td><?=isset($detail['sender_idcard'])?$detail['sender_idcard']:'';?></td>
</tr>
<tr>
<td>收车人:</td>
<td><?=isset($detail['receiver_name'])?$detail['receiver_name']:'';?></td>
<td>手机号:</td>
<td><?=isset($detail['receiver_mobiles'])?$detail['receiver_mobiles']:'';?></td>
<td>身份证号:</td>
<td><?=isset($detail['receiver_idcard'])?$detail['receiver_idcard']:'';?></td>
</tr>
<tr>
<td>送车地址:</td>
<td colspan="5"><?=isset($detail['aim_address'])?$detail['aim_address']:'';?></td>
</tr>
</tbody>
</table>
<div class="hr-line-dashed"></div>
<div class="table-responsive m-t">
<table class="table invoice-table">
<thead>
<tr>
<th>起运地</th>
<th>目的地</th>
<th>车辆品牌及型号</th>
<th>车牌号/车架号</th>
<th>保价</th>
<th>保费</th>
<th>运费</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div><?=isset(Yii::$app->params['regionAreas'][$detail['start_province']]) ? Yii::$app->params['regionAreas'][$detail['start_province']] : ''?>-<?=isset($detail['start_city']) ? $detail['start_city'] : ''?>
</div>
</td>
<td><?=isset(Yii::$app->params['regionAreas'][$detail['aim_province']]) ? Yii::$app->params['regionAreas'][$detail['aim_province']] : ''?>-<?=isset($detail['aim_city']) ? $detail['aim_city'] : ''?></td>
<td><?=isset($detail['car_title'])?$detail['car_title']:'';?></td>
<td><?=isset($detail['car_number'])?$detail['car_number']:'';?></td>
<td>&yen;<?=isset($detail['car_value'])?$detail['car_value']:'';?>万元</td>
<td>&yen;<?=isset($detail['fee_insurance'])?$detail['fee_insurance']:'';?>元</td>
<td>&yen;<?=isset($detail['fee_truck'])?$detail['fee_truck']:'';?>元</td>
</tr>
<tr>
<td>现付:</td>
<td colspan="1"><code><?=isset($detail['pay_send'])?$detail['pay_send']:0;?></code>元</td>
<td>到收:</td>
<td><code><?=isset($detail['pay_receive'])?$detail['pay_receive']:0;?></code>元</td>
<td colspan="3">
<label class="control-label"><input <?=isset($detail['no_driving_lisence'])&&$detail['no_driving_lisence']==1 ? 'checked' : ''?> type="checkbox" > 行驶证未随车
</label>
<label class="control-label"><input <?=isset($detail['not_insurance'])&&$detail['not_insurance']==1 ? 'checked' : ''?> type="checkbox"> 不投保
</label>
</td>
</tr>
</tbody>
</table>
</div>
<!-- /table-responsive -->
<table class="table invoice-total">
<tbody>
<tr>
<td><strong>其他费用:</strong>
</td>
<td>&yen;<?=isset($detail['fee_extra'])?$detail['fee_extra']:0;?>元</td>
</tr>
<tr>
<td><strong>总价:</strong>
</td>
<td>&yen;<?=isset($detail['fee_total'])?$detail['fee_total']:'';?>元</td>
</tr>
</tbody>
</table>
<div class="well m-t"><strong>随车物品:</strong> <?=isset($detail['car_extra'])?$detail['car_extra']:''?>
</div>
<div class="">备注:
<?=isset($detail['remark'])?htmlspecialchars_decode($detail['remark']):''?>
</div>
</div>
<div class="ibox-content" style="text-align: center;">
<button class="btn btn-primary" onclick="window.print();"><i class="fa fa-print"></i> 打印</button>
</div>
</div>
+419
View File
@@ -0,0 +1,419 @@
<?php
/**
* @Author: fm453
* @Date: 2018-11-23 12:17:02
* @Last Modified by: fm453
* @Last Modified time: 2020-09-14 11:54:24
* @Email: fm453@lukegzs.com
*/
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
use yii\helpers\Url;
use yii\widgets\LinkPager;
$this->title = '运单列表';
$this->params['breadcrumbs'][] = $this->title;
?>
<!--日期时间选择器-->
<?=Html::jsFile('@web/js/plugins/layer/laydate/laydate.js')?>
<?=Html::cssFile('@web/js/plugins/layer/laydate/need/laydate.css')?>
<?=Html::cssFile('@web/js/plugins/layer/laydate/skins/molv/laydate.css')?>
<style>
.laydate_body .laydate_top{
padding:0;
}
.laydate_body .laydate_ym{
/*margin:0;
padding:5px;*/
}
.laydate_body .laydate_table{
border:0;
border-bottom: 1px solid rgb(204, 204, 204);
}
.laydate_body .laydate_bottom {
border: 0;
margin-bottom: 10px;
}
</style>
<!--滑块选择器-->
<?=Html::cssFile('@web/css/plugins/ionRangeSlider/ion.rangeSlider.css')?>
<?=Html::cssFile('@web/css/plugins/ionRangeSlider/ion.rangeSlider.skinFlat.css')?>
<?=Html::jsFile('@web/js/plugins/ionRangeSlider/ion.rangeSlider.min.js')?>
<!--下拉选择、选项框-->
<?=Html::cssFile('@web/css/plugins/chosen/chosen.css')?>
<?=Html::jsFile('@web/js/plugins/chosen/chosen.jquery.js')?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-content" style="text-align: center;">
<h1>搜索与筛选</h1>
<form role="form" class="form-horizontal m-t" action="<?=Url::current(['pid' => Yii::$app->session->get('pid')], false);?>" method="post">
<input type="hidden" name="_csrf-backend" value="<?= Yii::$app->getRequest()->getCsrfToken();?>" />
<div class="form-group">
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-sm btn-primary">签约月份</button>
</span>
<input class="input-sm form-control layer-date" type="text" name="search[sign_m]" placeholder="请选择月份" autocomplete="off" onclick="laydate({istime: false, format: 'YYYY-MM'})" value="<?=isset($search['sign_m'])?$search['sign_m']:''?>">
</div>
</div>
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-sm btn-primary">签约时间不早于</button>
</span>
<input class="input-sm form-control layer-date" type="text" name="search[sign_after]" placeholder="请选择日期" autocomplete="off" onclick="laydate({istime: false, format: 'YYYY-MM-DD'})" value="<?=isset($search['sign_after'])?$search['sign_after']:''?>">
</div>
</div>
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-sm btn-primary">签约时间不晚于</button>
</span>
<input class="input-sm form-control layer-date" type="text" name="search[sign_before]" placeholder="请选择日期" autocomplete="off" onclick="laydate({istime: false, format: 'YYYY-MM-DD'})" value="<?=isset($search['sign_before'])?$search['sign_before']:''?>">
</div>
</div>
</div>
<div class="form-group">
<div class="col-sm-3">
<select data-placeholder="选择订单状态..." class="select-sm form-control chosen-select" tabindex="2" name="search[status_code]">
<option value="all">选择订单状态</option>
<?php foreach($status as $key=>$val){?>
<option value="<?=$key?>" hassubinfo="true" <?=isset($search['status_code']) && $search['status_code']==$key ? 'selected':'';?>><?=$val?></option>
<?php }?>
</select>
</div>
<div class="col-sm-3">
<div class="input-group">
<input type="text" class="form-control" name="store_title" id="store-title" value="<?=isset($search['store_title'])?$search['store_title']:'';?>" placeholder="点击选择接单网点" autocomplete="off" href="<?=Url::toRoute(['store/select','callback'=>'store']);?>" w="80%;" h="90%;" title="选择接单网点" mini="load">
<input type="hidden" class="form-control" name="search[store_id]" id="store-value" value="<?=isset($search['store_id'])?$search['store_id']:0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info" onclick="clearStore('store')">清除选择</button>
</span>
</div>
<script>
function selectStore(title,id,callback)
{
layer.closeAll();
layer.msg('已选择');
$('#'+callback+'-value').val(id);
$('#'+callback+'-title').val(title);
}
function clearStore(id)
{
$('#'+id+'-value').val('');
$('#'+id+'-title').val('');
}
</script>
</div>
<div class="col-sm-3">
<div class="input-group">
<input type="text" class="form-control" name="employee_title" id="employee-title" value="<?=isset($search['employee_title'])?$search['employee_title']:'';?>" placeholder="点击选择该运单的派单员工" autocomplete="off" href="<?=Url::toRoute(['employee/select','callback'=>'employee']);?>" w="80%;" h="90%;" title="选择派单员工" mini="load">
<input type="hidden" class="form-control" name="search[employee]" id="employee-value" value="<?=isset($search['employee'])?$search['employee']:0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info" onclick="clearEmployee('employee')">清除选择</button>
</span>
</div>
<script>
function selectEmployee(title,id,callback)
{
layer.closeAll();
layer.msg('已选择');
$('#'+callback+'-value').val(id);
$('#'+callback+'-title').val(title);
}
function clearEmployee(id)
{
$('#'+id+'-value').val('');
$('#'+id+'-title').val('');
}
</script>
</div>
<div class="col-sm-3">
<div class="input-group">
<input type="text" class="form-control" name="car_title" id="car-title" value="<?=isset($search['car_title'])?$search['car_title']:'';?>" placeholder="点击选择关联客户车辆" autocomplete="off" href="<?=Url::toRoute(['car/select','callback'=>'car']);?>" w="80%;" h="90%;" title="选择关联客户车辆" mini="load">
<input type="hidden" class="form-control" name="search[car_id]" id="car-value" value="<?=isset($search['car_id'])?$search['car_id']:0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info" onclick="clearCar('car')">清除选择</button>
</span>
</div>
</div>
<script>
function selectCar(title,id,number,username,callback)
{
layer.closeAll();
layer.msg('已选择');
$('#'+callback+'-value').val(id);
$('#'+callback+'-title').val(title+number);
}
function clearCar(id)
{
$('#'+id+'-value').val('');
$('#'+id+'-title').val('');
}
</script>
</div>
<div class="form-group">
<div class="col-sm-3">
<div class="input-group">
<input class="form-control" type="text" placeholder="模糊检索介绍人名字" name="search[bind]" id="search-bind-name" value="<?=isset($search['bind'])?$search['bind']:'';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-success" href="<?=Url::toRoute(['contact/select','callback'=>'search-bind']);?>" w="80%;" h="90%;" title="从通讯录中选择" mini="load">通讯录</button>
<button type="button" class="btn btn-info" onclick="clearBind('search-bind-name')">清除</button>
</span>
</div>
</div>
<script>
function selectContactor(company,name,mobile,idcard,id,callback)
{
layer.closeAll();
layer.msg('已选择');
$('#'+callback+'-company').val(company);
$('#'+callback+'-mobile').val(mobile);
$('#'+callback+'-name').val(name);
$('#'+callback+'-idcard').val(idcard);
$('#'+callback+'-value').val(id);
}
function clearBind(id)
{
$('#'+id).val('');
}
</script>
<div class="col-sm-3">
<div class="input-group">
<input class="form-control" type="text" placeholder="模糊检索委托人名字" name="search[signer]" id="signer-name" value="<?=isset($search['signer'])?$search['signer']:'';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-success" href="<?=Url::toRoute(['contact/select','callback'=>'signer']);?>" w="80%;" h="90%;" title="从通讯录中选择" mini="load">通讯录</button>
<button type="button" class="btn btn-info" onclick="clearSigner('signer-name')">清除</button>
</span>
</div>
</div>
<script>
function clearSigner(id)
{
$('#'+id).val('');
}
</script>
<div class="col-sm-3">
<div class="input-group">
<input class="form-control" type="text" placeholder="模糊检索发车人名字" name="search[sender_name]" id="sender-name" value="<?=isset($search['sender_name'])?$search['sender_name']:'';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-success" href="<?=Url::toRoute(['contact/select','callback'=>'sender']);?>" w="80%;" h="90%;" title="从通讯录中选择" mini="load">通讯录</button>
<button type="button" class="btn btn-info" onclick="clearSender('sender-name')">清除</button>
</span>
</div>
</div>
<script>
function clearSender(id)
{
$('#'+id).val('');
}
</script>
<div class="col-sm-3">
<div class="input-group">
<input class="form-control" type="text" placeholder="模糊检索接车人名字" name="search[receiver_name]" id="receiver-name" value="<?=isset($search['receiver_name'])?$search['receiver_name']:'';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-success" href="<?=Url::toRoute(['contact/select','callback'=>'receiver']);?>" w="80%;" h="90%;" title="从通讯录中选择" mini="load">通讯录</button>
<button type="button" class="btn btn-info" onclick="clearReceiver('receiver-name')">清除</button>
</span>
</div>
</div>
<script>
function clearReceiver(id)
{
$('#'+id).val('');
}
</script>
</div>
<div class="form-group">
<div class="col-sm-3">
<select data-placeholder="选择起运省份..." class="form-control chosen-select" tabindex="2" name="search[start_province]">
<option value="">选择起运省份</option>
<?php foreach(Yii::$app->params['regionAreas'] as $key=>$val){?>
<option value="<?=$key?>" hassubinfo="true" <?=isset($search['start_province']) && $search['start_province']==$key ? 'selected':'';?>><?=$val?></option>
<?php }?>
</select>
</div>
<div class="col-sm-3">
<div class="input-group">
<input class="form-control" type="text" placeholder="检索起运城市名称" name="search[start_city]" id="start_city" value="<?=isset($search['start_city'])?$search['start_city']:'';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info" onclick="clearInput(this)">清除</button>
</span>
</div>
</div>
<div class="col-sm-3">
<select data-placeholder="选择运达省份..." class="select-sm form-control chosen-select" tabindex="2" name="search[aim_province]">
<option value="">选择运达省份</option>
<?php foreach(Yii::$app->params['regionAreas'] as $key=>$val){?>
<option value="<?=$key?>" hassubinfo="true" <?=isset($search['aim_province']) && $search['aim_province']==$key ? 'selected':'';?>><?=$val?></option>
<?php }?>
</select>
</div>
<div class="col-sm-3">
<div class="input-group">
<input class="form-control" type="text" placeholder="检索目标运达城市名称" name="search[aim_city]" id="aim_city" value="<?=isset($search['aim_city'])?$search['aim_city']:'';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info" onclick="clearInput(this)">清除</button>
</span>
</div>
</div>
</div>
<script>
function clearInput(obj)
{
$(obj).parent().prev().val('');
}
</script>
<div class="form-group">
<div class="col-sm-12">
<button type="submit" class="btn btn-sm btn-warning dim"> 搜索</button>
</div>
</div>
</form>
</div>
<!--分页-->
<div class="ibox-content" style="padding:0;text-align: center;">
<div class="f-r">
<?= LinkPager::widget([
'pagination'=>$pager,
'firstPageLabel' => '首页',
'nextPageLabel' => '下一页',
'prevPageLabel' => '上一页',
'lastPageLabel' => '末页',
]) ?>
</div>
</div>
<div class="ibox-title"><?= Html::encode($this->title) ?></div>
<div class="ibox-content">
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>序号</th>
<th>车辆</th>
<th style="width:120px;">联系人</th>
<th style="width:180px;">托运信息</th>
<th style="width:150px;">网点员工</th>
<th style="width:260px;">关联信息</th>
<th>状态</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<?php foreach($orders as $vo):?>
<tr>
<td><?=$vo['id']?></td>
<td>
<kbd><?=isset($cars[$vo['car_id']]['title']) ? $cars[$vo['car_id']]['title']:''?></kbd><br>
<?=isset($cars[$vo['car_id']]['number2']) ? $cars[$vo['car_id']]['number2']:''?>
</td>
<td>
【发车人】<?=isset($vo['sender_name']) ? $vo['sender_name']:''?><br>
<!-- 【手机】<?=isset($vo['sender_mobiles']) ? $vo['sender_mobiles']:''?><br> -->
<!-- 【身份证号】<?=isset($vo['sender_idcard']) ? $vo['sender_idcard']:''?><br> -->
【接车人】<?=isset($vo['receiver_name']) ? $vo['receiver_name']:''?><br>
<!-- 【手机】<?=isset($vo['receiver_mobiles']) ? $vo['receiver_mobiles']:''?><br> -->
<!-- 【身份证号】<?=isset($vo['receiver_idcard']) ? $vo['receiver_idcard']:''?><br> -->
【委托方】<?=isset($vo['signer']) ? $vo['signer'] : ''?>
</td>
<td>
【签约时间】<?=isset($vo['sign_date']) && $vo['sign_date']>0 ? date('Y-m-d',$vo['sign_date']) : '未记录'?><br>
【始发地】<?=isset(Yii::$app->params['regionAreas'][$vo['start_province']]) ? Yii::$app->params['regionAreas'][$vo['start_province']] : ''?> <?=isset($vo['start_city']) ? $vo['start_city'] : ''?><br>
【目的地】<?=isset(Yii::$app->params['regionAreas'][$vo['aim_province']]) ? Yii::$app->params['regionAreas'][$vo['aim_province']] : ''?> <?=isset($vo['aim_city']) ? $vo['aim_city'] : ''?><br>
</td>
<td>
【<?=isset($stores[$vo['store_id']]['title'])?$stores[$vo['store_id']]['title']:'未设置'?>】
<code><?=isset($employees[$vo['employee_id']]['name'])?$employees[$vo['employee_id']]['name']:'未关联'?></code><br>
【介绍人】<CODE><?=isset($vo['bind']) ? $vo['bind']:''?></CODE>
</td>
<td>
【保险】保价<code><?=isset($vo['car_value']) ? $vo['car_value'] : 0?></code><kbd>万元</kbd>; 保费<code><?=isset($vo['fee_insurance']) ? $vo['fee_insurance'] : 0?></code><kbd>元</kbd>; <br>
【费用】运费<code><?=isset($vo['fee_truck']) ? $vo['fee_truck'] : 0?></code><kbd>元</kbd>
总费用<code><?=isset($vo['fee_total']) ? $vo['fee_total'] : 0?></code><kbd>元</kbd> <br>
【收款】现付<code><?=isset($vo['pay_send']) ? $vo['pay_send'] : 0?></code><kbd>元</kbd>;到收<code><?=isset($vo['pay_receive']) ? $vo['pay_receive'] : 0?></code><kbd>元</kbd>
</td>
<td>
<?php if($vo['status_code']<=0){?>
<label class="btn btn-default btn-xs"><?=$status[$vo['status_code']]?></label>
<?php }else{?>
<label class="btn btn-info btn-xs"><?=$status[$vo['status_code']]?></label>
<?php }?>
<?php if($vo['is_cwqr']==0){?>
<label class="btn btn-default btn-xs">待财务确认</label>
<?php }else{?>
<label class="btn btn-info btn-xs">财务已确认</label>
<?php }?>
</td>
<td>
<a class="btn btn-primary btn-xs" onclick="parent.selectOrder('<?=$vo['car_id']?>','<?=$vo['id']?>','<?=isset($cars[$vo['car_id']]['title']) ? $cars[$vo['car_id']]['title']:''?>','<?=isset($cars[$vo['car_id']]['num_p']) ? $cars[$vo['car_id']]['num_p']:''?><?=isset($cars[$vo['car_id']]['num_area']) ? $cars[$vo['car_id']]['num_area']:''?><?=isset($cars[$vo['car_id']]['num_left']) ? $cars[$vo['car_id']]['num_left']:''?>','<?=isset($cars[$vo['car_id']]['num_frame']) ? $cars[$vo['car_id']]['num_frame']:''?>','<?=isset($vo['start_city']) ? $vo['start_city'] : ''?>','<?=isset($vo['aim_city']) ? $vo['aim_city'] : ''?>','<?=isset($employees[$vo['employee_id']]['name'])?$employees[$vo['employee_id']]['name']:'未关联'?>','<?=$callback?>');">选择</a>
</td>
</tr>
<?php endforeach;?>
</tbody>
</table>
</div>
</div>
<!--分页-->
<div class="ibox-content" style="padding:0;text-align: center;">
<div class="f-r">
<?= LinkPager::widget([
'pagination'=>$pager,
'firstPageLabel' => '首页',
'nextPageLabel' => '下一页',
'prevPageLabel' => '上一页',
'lastPageLabel' => '末页',
]) ?>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
laydate.skin('molv');
$(document).ready(function() {
var config = {
".chosen-select": {},
".chosen-select-deselect": {
allow_single_deselect: !0
},
".chosen-select-no-single": {
disable_search_threshold: 10
},
".chosen-select-no-results": {
no_results_text: "Oops, nothing found!"
},
".chosen-select-width": {
width: "95%"
}
};
for (var selector in config) $(selector).chosen(config[selector]);
});
</script>
+321
View File
@@ -0,0 +1,321 @@
<?php
/**
* @Author: fm453
* @Date: 2018-11-23 12:17:02
* @Email: 1280880631@qq.com
*/
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
use yii\helpers\Url;
use yii\widgets\LinkPager;
$this->title = '预约列表';
$this->params['breadcrumbs'][] = $this->title;
?>
<!--日期时间选择器-->
<?=Html::jsFile('@web/js/plugins/layer/laydate/laydate.js')?>
<?=Html::cssFile('@web/js/plugins/layer/laydate/need/laydate.css')?>
<?=Html::cssFile('@web/js/plugins/layer/laydate/skins/molv/laydate.css')?>
<!--选项框-->
<?=Html::jsFile('@web/js/plugins/iCheck/icheck.min.js')?>
<script>
$(document).ready(function(){$(".i-checks").iCheck({checkboxClass:"icheckbox_square-green",radioClass:"iradio_square-green",})});
</script>
<style>
.laydate_body .laydate_top{
padding:0;
}
.laydate_body .laydate_ym{
/*margin:0;
padding:5px;*/
}
.laydate_body .laydate_table{
border:0;
border-bottom: 1px solid rgb(204, 204, 204);
}
.laydate_body .laydate_bottom {
border: 0;
margin-bottom: 10px;
}
</style>
<!--滑块选择器-->
<?=Html::cssFile('@web/css/plugins/ionRangeSlider/ion.rangeSlider.css')?>
<?=Html::cssFile('@web/css/plugins/ionRangeSlider/ion.rangeSlider.skinFlat.css')?>
<?=Html::jsFile('@web/js/plugins/ionRangeSlider/ion.rangeSlider.min.js')?>
<!--下拉选择、选项框-->
<?=Html::cssFile('@web/css/plugins/chosen/chosen.css')?>
<?=Html::jsFile('@web/js/plugins/chosen/chosen.jquery.js')?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-content" style="text-align: center;">
<h1>搜索与筛选</h1>
<form role="form" class="form-horizontal m-t" action="<?=Url::current(['pid' => Yii::$app->session->get('pid')], false);?>" method="post">
<input type="hidden" name="_csrf-backend" value="<?= Yii::$app->getRequest()->getCsrfToken();?>" />
<div class="form-group">
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-sm btn-primary">计划月份</button>
</span>
<input class="input-sm form-control layer-date" type="text" name="search[sign_m]" placeholder="请选择月份" autocomplete="off" onclick="laydate({istime: false, format: 'YYYY-MM'})" value="<?=isset($search['sign_m'])?$search['sign_m']:''?>">
</div>
</div>
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-sm btn-primary">计划时间不早于</button>
</span>
<input class="input-sm form-control layer-date" type="text" name="search[sign_after]" placeholder="请选择日期" autocomplete="off" onclick="laydate({istime: false, format: 'YYYY-MM-DD'})" value="<?=isset($search['sign_after'])?$search['sign_after']:''?>">
</div>
</div>
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-sm btn-primary">计划时间不晚于</button>
</span>
<input class="input-sm form-control layer-date" type="text" name="search[sign_before]" placeholder="请选择日期" autocomplete="off" onclick="laydate({istime: false, format: 'YYYY-MM-DD'})" value="<?=isset($search['sign_before'])?$search['sign_before']:''?>">
</div>
</div>
</div>
<div class="form-group">
<div class="col-sm-3">
<div class="input-group">
<input class="form-control" type="text" placeholder="检索联系人姓名" name="search[from_name]" id="search-from_name-name" value="<?=isset($search['from_name'])?$search['from_name']:'';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-success" href="<?=Url::toRoute(['contact/select','callback'=>'search-from_name']);?>" w="80%;" h="90%;" title="从通讯录中选择" mini="load">通讯录</button>
<button type="button" class="btn btn-info" onclick="clearBind('search-from_name-name')">清除</button>
</span>
</div>
</div>
<script>
function selectContactor(company,name,mobile,idcard,id,callback)
{
layer.closeAll();
layer.msg('已选择');
$('#'+callback+'-company').val(company);
$('#'+callback+'-mobile').val(mobile);
$('#'+callback+'-name').val(name);
$('#'+callback+'-idcard').val(idcard);
$('#'+callback+'-value').val(id);
}
function clearBind(id)
{
$('#'+id).val('');
}
</script>
<div class="col-sm-3">
<div class="input-group">
<input class="form-control" type="text" placeholder="检索联系手机" name="search[from_mobile]" id="from_mobile" value="<?=isset($search['from_mobile'])?$search['from_mobile']:'';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info" onclick="clearInput(this)">清除</button>
</span>
</div>
</div>
</div>
<div class="form-group">
<div class="col-sm-3">
<select data-placeholder="选择起运省份..." class="form-control chosen-select" tabindex="2" name="search[start_province]">
<option value="">选择起运省份</option>
<?php foreach(Yii::$app->params['regionAreas'] as $key=>$val){?>
<option value="<?=$key?>" hassubinfo="true" <?=isset($search['start_province']) && $search['start_province']==$key ? 'selected':'';?>><?=$val?></option>
<?php }?>
</select>
</div>
<div class="col-sm-3">
<div class="input-group">
<input class="form-control" type="text" placeholder="检索起运城市名称" name="search[start_city]" id="start_city" value="<?=isset($search['start_city'])?$search['start_city']:'';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info" onclick="clearInput(this)">清除</button>
</span>
</div>
</div>
<div class="col-sm-3">
<select data-placeholder="选择运达省份..." class="select-sm form-control chosen-select" tabindex="2" name="search[aim_province]">
<option value="">选择运达省份</option>
<?php foreach(Yii::$app->params['regionAreas'] as $key=>$val){?>
<option value="<?=$key?>" hassubinfo="true" <?=isset($search['aim_province']) && $search['aim_province']==$key ? 'selected':'';?>><?=$val?></option>
<?php }?>
</select>
</div>
<div class="col-sm-3">
<div class="input-group">
<input class="form-control" type="text" placeholder="检索目标城市名称" name="search[aim_city]" id="aim_city" value="<?=isset($search['aim_city'])?$search['aim_city']:'';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info" onclick="clearInput(this)">清除</button>
</span>
</div>
</div>
</div>
<script>
function clearInput(obj)
{
$(obj).parent().prev().val('');
}
</script>
<div class="form-group">
<div class="col-sm-3">
<select data-placeholder="选择订单状态..." class="select-sm form-control chosen-select" tabindex="2" name="search[status_code]">
<option value="all">选择订单状态</option>
<?php foreach($status as $key=>$val){?>
<option value="<?=$key?>" hassubinfo="true" <?=isset($search['status_code']) && $search['status_code']==$key ? 'selected':'';?>><?=$val?></option>
<?php }?>
</select>
</div>
<label class="col-sm-2 control-label i-checks"><input <?=isset($search['orderby'])&&$search['orderby']=='sign_date' ? 'checked' : ''?> type="checkbox" name="search[orderby]" value="sign_date" > 按签约日期排序
</label>
<label class="col-sm-2 control-label i-checks"><input <?=isset($search['onlyme'])&&$search['onlyme']==1 ? 'checked' : ''?> type="checkbox" name="search[onlyme]" value="1" > 仅查看我录入的记录
</label>
</div>
<div class="form-group">
<div class="col-sm-12">
<button type="submit" value="submit" class="btn btn-sm btn-warning"> 搜索</button>
<button type="reset" value="reset" class="btn btn-sm btn-success" href="<?=Url::current(['reset' => 1]);?>" title="重置全部搜索条件"> 重置 </button>
<a class="btn btn-info btn-sm" href="<?= Url::toRoute('orderpre/new')?>" target="_blank">新增预约</a>
<button type="button" value="export" class="btn btn-sm btn-success" href="<?=Url::current(['export' => 'all']);?>" w="50%;" h="50%;" title="导出当前全部数据" mini="load"> 导出</button>
</div>
</div>
</form>
</div>
<!--分页-->
<div class="ibox-content" style="padding:0;text-align: center;">
<div class="f-r">
<?= LinkPager::widget([
'pagination'=>$pager,
'firstPageLabel' => '首页',
'nextPageLabel' => '下一页',
'prevPageLabel' => '上一页',
'lastPageLabel' => '末页',
]) ?>
</div>
</div>
<div class="ibox-title"><?= Html::encode($this->title) ?> <h5 class="pull-right"> 共计 <?=$totalCount?> 条记录</h5></div>
<div class="ibox-content">
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>序号</th>
<th style="width:100px;">车辆</th>
<th style="width:150px;">联系人</th>
<th style="width:180px;">托运信息</th>
<th style="width:260px;">关联信息</th>
<th style="width:150px;">跟进人员</th>
<th style="width:100px;">状态</th>
<th style="width:180px;">操作</th>
</tr>
</thead>
<tbody>
<?php foreach($orders as $vo):?>
<tr>
<td><?=$vo['id']?></td>
<td style="width:100px;overflow-x: hidden;">
<p><kbd><?=isset($vo['car_title']) ? $vo['car_title']:''?></kbd></p>
<p>
<?=isset($vo['car_no']) ? $vo['car_no']:''?>
</p>
</td>
<td>
【联系人】<?=isset($vo['from_name']) ? $vo['from_name']:''?><br>
【手机】<?= $vo['from_mobile'] ?? '' ?><br>
</td>
<td>
【计划时间】<?=isset($vo['date']) && $vo['date']>0 ? date('Y-m-d',$vo['date']) : '未记录'?><br>
【始发地】<?=isset(Yii::$app->params['regionAreas'][$vo['start_province']]) ? Yii::$app->params['regionAreas'][$vo['start_province']] : ''?> <?=isset($vo['start_city']) ? $vo['start_city'] : ''?><br>
【目的地】<?=isset(Yii::$app->params['regionAreas'][$vo['aim_province']]) ? Yii::$app->params['regionAreas'][$vo['aim_province']] : ''?> <?=isset($vo['aim_city']) ? $vo['aim_city'] : ''?><br>
</td>
<td>
保价<code><?=isset($vo['car_value']) ? $vo['car_value'] : 0?></code><kbd>万元</kbd>; <br>
【备注】<?= $vo['car'] ?? '' ?>
</td>
<td>
【指派网点】<kbd><?=isset($stores[$vo['store_id']]['title'])?$stores[$vo['store_id']]['title']:'未设置'?></kbd>-
<code><?=isset($employees[$vo['employee_id']]['name'])?$employees[$vo['employee_id']]['name']:'未关联'?></code><br>
【接待员】<CODE><?=isset($vo['receptionist']) ? $vo['receptionist']:''?></CODE><br>
【介绍人】<CODE><?=isset($vo['bind']) ? $vo['bind']:''?></CODE><br>
</td>
<td>
<p>
<?php if($vo['status_code']<=0){?>
<label class="btn btn-default btn-xs"><?=$status[$vo['status_code']]?></label>
<?php }else{?>
<label class="btn btn-info btn-xs"><?=$status[$vo['status_code']]?></label>
<?php }?>
</p>
</td>
<td style="background-color:#0095f626;">
<p>
<a class="btn btn-primary btn-sm" href="<?=Url::toRoute(['edit','id'=>$vo['id']])?>" data-toggle="tooltip" data-placement="top" data-title="编辑修改订单" trigger="hover|focus"> <i class="fa fa-edit hidden"></i>改 </a>
<a title="点击将删除" href="<?=Url::toRoute(['delete','id'=>$vo['id']])?>" class="btn btn-danger btn-sm" mini="act" data-toggle="tooltip" data-placement="top" data-title="点击删除该订单" trigger="hover|focus"> <i class="fa fa-trash hidden"></i>删 </a>
<a title="点击将取消这张订单" href="<?=Url::toRoute(['ajax','id'=>$vo['id'],'do'=>'cancel'])?>" class="btn btn-warning btn-sm" mini="ajax" data-toggle="tooltip" data-placement="top" data-title="点击取消该订单" trigger="hover|focus"> <i class="fa fa-recycle bigger-120"></i> </a>
</p>
<p>
<a class="btn btn-success btn-sm" href="<?=Url::toRoute(['copy','id'=>$vo['id']])?>" w="100%;" h="90%;" title="复制订单" mini="load" data-toggle="tooltip" data-placement="top" data-title="复制为新订单并进行调整" trigger="hover|focus"><i class="fa fa-copy bigger-120"></i></a>
</p>
</td>
</tr>
<?php endforeach;?>
</tbody>
</table>
</div>
</div>
<!--分页-->
<div class="ibox-content" style="padding:0;text-align: center;">
<div class="f-r">
<?= LinkPager::widget([
'pagination'=>$pager,
'firstPageLabel' => '首页',
'nextPageLabel' => '下一页',
'prevPageLabel' => '上一页',
'lastPageLabel' => '末页',
]) ?>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
laydate.skin('molv');
$(document).ready(function() {
var config = {
".chosen-select": {},
".chosen-select-deselect": {
allow_single_deselect: !0
},
".chosen-select-no-single": {
disable_search_threshold: 10
},
".chosen-select-no-results": {
no_results_text: "Oops, nothing found!"
},
".chosen-select-width": {
width: "95%"
}
};
for (var selector in config) $(selector).chosen(config[selector]);
});
</script>
+298
View File
@@ -0,0 +1,298 @@
<?php
use yii\helpers\Html;
use yii\helpers\Url;
?>
<!--日期时间选择器-->
<?=Html::jsFile('@web/js/plugins/layer/laydate/laydate.js')?>
<?=Html::cssFile('@web/js/plugins/layer/laydate/need/laydate.css')?>
<?=Html::cssFile('@web/js/plugins/layer/laydate/skins/molv/laydate.css')?>
<!--滑块选择器-->
<?=Html::cssFile('@web/css/plugins/ionRangeSlider/ion.rangeSlider.css')?>
<?=Html::cssFile('@web/css/plugins/ionRangeSlider/ion.rangeSlider.skinFlat.css')?>
<?=Html::jsFile('@web/js/plugins/ionRangeSlider/ion.rangeSlider.min.js')?>
<!--下拉选择、选项框-->
<?=Html::cssFile('@web/css/plugins/chosen/chosen.css')?>
<?=Html::jsFile('@web/js/plugins/chosen/chosen.jquery.js')?>
<?=Html::jsFile('@web/js/plugins/iCheck/icheck.min.js')?>
<script>
$(document).ready(function(){$(".i-checks").iCheck({checkboxClass:"icheckbox_square-green",radioClass:"iradio_square-green",})});
</script>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>运单信息<code>所有项如果留空则不更新</code></h5>
<div class="ibox-tools">
<a class="collapse-link">
<i class="fa fa-chevron-up"></i>
</a>
<a class="close-link">
<i class="fa fa-times"></i>
</a>
</div>
</div>
<div class="ibox-content">
<form role="form" class="form-horizontal m-t" method="post" action="<?=Url::toRoute('save')?>" >
<input type="hidden" name="_csrf-backend" value="<?=Yii::$app->getRequest()->getCsrfToken();?>" />
<input type="hidden" name="id" value="<?=isset($detail['id'])?$detail['id']:0;?>">
<div class="alert alert-info">
联系信息等基础资料所有名称类输入框均限10个汉字以内,如姓名、城市名等
</div>
<div class="form-group">
<label class="col-sm-1 control-label"><span class="red">*</span>起运地:</label>
<div class="col-sm-2">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">省</button>
</span>
<select data-placeholder="选择省份..." class="form-control chosen-select" name="start_province">
<option value="">请选择省份</option>
<?php foreach(Yii::$app->params['regionAreas'] as $key=>$val){?>
<option value="<?=$key?>" hassubinfo="true" <?=isset($detail['start_province']) && $detail['start_province']==$key ? 'selected':'';?>><?=$val?></option>
<?php }?>
</select>
</div>
</div>
<div class="col-sm-3">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">市</button>
</span>
<input class="form-control" type="text" name="start_city" placeholder="如:乌兰浩特" autocomplete="off" value="<?=isset($detail['start_city'])?$detail['start_city']:'';?>">
</div>
</div>
<label class="col-sm-1 control-label"><span class="red">*</span>目的地:</label>
<div class="col-sm-2">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">省</button>
</span>
<select data-placeholder="选择省份..." class="form-control chosen-select" name="aim_province">
<option value="">请选择省份</option>
<?php foreach(Yii::$app->params['regionAreas'] as $key=>$val){?>
<option value="<?=$key?>" hassubinfo="true" <?=isset($detail['aim_province']) && $detail['aim_province']==$key ? 'selected':'';?>><?=$val?></option>
<?php }?>
</select>
</div>
</div>
<div class="col-sm-3">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">市</button>
</span>
<input class="form-control" type="text" name="aim_city" placeholder="如:西双版纳" autocomplete="off" value="<?=isset($detail['aim_city'])?$detail['aim_city']:'';?>">
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label"><span class="red">*</span> 联系人信息:</label>
<div class="col-sm-2">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">姓名</button>
</span>
<input class="form-control" type="text" name="from_name" id="from-name" placeholder="请输入姓名" autocomplete="off" value="<?=isset($detail['from_name'])?$detail['from_name']:'';?>">
</div>
</div>
<div class="col-sm-3">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">手机号</button>
</span>
<input class="form-control" type="text" name="from_mobile" id="from-mobile" placeholder="请输入联系方式" autocomplete="off" value="<?=isset($detail['from_mobile'])?$detail['from_mobile']:'';?>">
</div>
</div>
<label class="col-sm-1 control-label">计划日期:</label>
<div class="col-sm-3">
<input class="form-control layer-date" type="text" name="date" placeholder="请选择日期" autocomplete="off" onclick="laydate({istime: false, format: 'YYYY-MM-DD'})" value="<?=isset($detail['date'])?date('Y-m-d',$detail['date']):''?>">
</div>
</div>
<div class="alert alert-danger">
车辆费用明细等相关资料;通常情况下总费用至少保险费、运费两部分,如有上门提车或送车服务的还应考虑额外加收相应费用;
</div>
<div class="form-group">
<label class="col-sm-1 control-label"> <span class="red">*</span> 托运车辆:</label>
<div class="col-sm-2">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">品牌车型</button>
</span>
<input class="form-control" type="text" name="car_title" id="car-title" placeholder="车辆品牌车型" autocomplete="off" value="<?=isset($detail['car_title'])?$detail['car_title']:'';?>">
</div>
</div>
<div class="col-sm-3">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">车牌或车架号</button>
</span>
<input class="form-control" type="text" name="car_no" id="car-no" placeholder="车架号需至少填写后6位" autocomplete="off" value="<?=isset($detail['car_no'])?$detail['car_no']:'';?>">
</div>
</div>
<div class="col-sm-2">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">车辆价值</button>
</span>
<input class="form-control" type="number" name="car_value" id="car-value" placeholder="请输入保价" autocomplete="off" value="<?=isset($detail['car_value'])?$detail['car_value']:'';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-default">万元</button>
</span>
</div>
<span class="help-block m-b-none">按保价购买保险;不买保险的需要单独注明</span>
</div>
<label class="col-sm-1 control-label"></label>
<div class="col-sm-3">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-warning">运费</button>
</span>
<input class="form-control" type="number" name="price" id="price" placeholder="报价" autocomplete="off" value="<?=isset($detail['price'])?$detail['price']:'';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-default">元</button>
</span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">客户备注:</label>
<div class="col-sm-11">
<textarea class="form-control" col="3" length="1000" name="car" id="car"><?=isset($detail['car'])?$detail['car']:''?></textarea>
<span class="help-block m-b-none red">客户在下单时自行做的备注;</span>
</div>
</div>
<div class="alert alert-info">
更多补充信息
</div>
<div class="form-group">
<label class="col-sm-1 control-label">指派经办人:</label>
<div class="col-sm-2">
<div class="input-group">
<input type="text" class="form-control" name="employee_title" id="employee-title" value="<?=isset($detail['employee_title'])?$detail['employee_title']:'';?>" placeholder="点击选择员工" autocomplete="off" href="<?=Url::toRoute(['employee/select','callback'=>'employee']);?>" w="80%;" h="90%;" title="选择员工" mini="load">
<input type="hidden" class="form-control" name="employee_id" id="employee-value" value="<?=isset($detail['employee_id'])?$detail['employee_id']:0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info" onclick="clearEmployee('employee')">清除</button>
</span>
</div>
<script>
function selectEmployee(title,id,callback)
{
layer.closeAll();
layer.msg('已选择');
$('#'+callback+'-value').val(id);
$('#'+callback+'-title').val(title);
}
function clearEmployee(id)
{
$('#'+id+'-value').val('');
$('#'+id+'-title').val('');
}
</script>
</div>
<label class="col-sm-1 control-label"> 接待员:</label>
<div class="col-sm-2">
<div class="input-group">
<input class="form-control" type="text" name="receptionist" id="receptionist-name" placeholder="请输入接待员的姓名" autocomplete="off" value="<?=isset($detail['receptionist']) ? $detail['receptionist'] : '';?>">
</div>
</div>
<label class="col-sm-1 control-label"> 介绍人:</label>
<div class="col-sm-2">
<div class="input-group">
<input class="form-control" type="text" name="bind" id="bind-name" placeholder="请输入介绍人的姓名" autocomplete="off" value="<?=isset($detail['bind']) ? $detail['bind'] : '';?>">
</div>
<span class="help-block m-b-none">根据实际情况填写</span>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">说明:</label>
<div class="col-sm-11">
<textarea class="form-control" col="3" length="1000" name="remark" id="remark"><?=isset($detail['remark'])?$detail['remark']:''?></textarea>
<span class="help-block m-b-none red">本说明仅供后台管理人员查看</span>
</div>
</div>
<div class="hr-line-dashed"></div>
<div class="form-group">
<div class="col-sm-12 col-sm-offset-3">
<button class="btn btn-primary" type="submit">保存内容</button>
<a class="btn btn-white" href="<?=Yii::$app->request->referrer?>">取消并返回</a>
<a class="btn btn-info" href="<?=Url::toRoute('list')?>">预约列表</a>
<?php if(isset($detail['id'])){?>
<a class="btn btn-success" href="<?=Url::toRoute(['copy','id'=>$detail['id']])?>" title="复制订单" data-toggle="tooltip" data-placement="top" data-title="复制为新订单并进行调整" trigger="hover|focus"><i class="fa fa-copy bigger-120"></i> 复制订单</a>
<?php }?>
</div>
</div>
</form>
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
</div>
<script>
laydate.skin('molv');
$(document).ready(function() {
var config = {
".chosen-select": {},
".chosen-select-deselect": {
allow_single_deselect: !0
},
".chosen-select-no-single": {
disable_search_threshold: 10
},
".chosen-select-no-results": {
no_results_text: "Oops, nothing found!"
},
".chosen-select-width": {
width: "95%"
}
};
for (var selector in config) $(selector).chosen(config[selector]);
});
</script>
<style>
.laydate_body .laydate_top{
padding:0;
}
.laydate_body .laydate_ym{
/*margin:0;
padding:5px;*/
}
.laydate_body .laydate_table{
border:0;
border-bottom: 1px solid rgb(204, 204, 204);
}
.laydate_body .laydate_bottom {
border: 0;
margin-bottom: 10px;
}
</style>
<style>
.chosen-container-single .chosen-single{
line-height:30px;
}
</style>
+419
View File
@@ -0,0 +1,419 @@
<?php
/**
* @Author: fm453
* @Date: 2018-11-23 12:17:02
* @Last Modified by: fm453
* @Last Modified time: 2020-09-14 11:54:24
* @Email: fm453@lukegzs.com
*/
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
use yii\helpers\Url;
use yii\widgets\LinkPager;
$this->title = '运单列表';
$this->params['breadcrumbs'][] = $this->title;
?>
<!--日期时间选择器-->
<?=Html::jsFile('@web/js/plugins/layer/laydate/laydate.js')?>
<?=Html::cssFile('@web/js/plugins/layer/laydate/need/laydate.css')?>
<?=Html::cssFile('@web/js/plugins/layer/laydate/skins/molv/laydate.css')?>
<style>
.laydate_body .laydate_top{
padding:0;
}
.laydate_body .laydate_ym{
/*margin:0;
padding:5px;*/
}
.laydate_body .laydate_table{
border:0;
border-bottom: 1px solid rgb(204, 204, 204);
}
.laydate_body .laydate_bottom {
border: 0;
margin-bottom: 10px;
}
</style>
<!--滑块选择器-->
<?=Html::cssFile('@web/css/plugins/ionRangeSlider/ion.rangeSlider.css')?>
<?=Html::cssFile('@web/css/plugins/ionRangeSlider/ion.rangeSlider.skinFlat.css')?>
<?=Html::jsFile('@web/js/plugins/ionRangeSlider/ion.rangeSlider.min.js')?>
<!--下拉选择、选项框-->
<?=Html::cssFile('@web/css/plugins/chosen/chosen.css')?>
<?=Html::jsFile('@web/js/plugins/chosen/chosen.jquery.js')?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-content" style="text-align: center;">
<h1>搜索与筛选</h1>
<form role="form" class="form-horizontal m-t" action="<?=Url::current(['pid' => Yii::$app->session->get('pid')], false);?>" method="post">
<input type="hidden" name="_csrf-backend" value="<?= Yii::$app->getRequest()->getCsrfToken();?>" />
<div class="form-group">
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-sm btn-primary">签约月份</button>
</span>
<input class="input-sm form-control layer-date" type="text" name="search[sign_m]" placeholder="请选择月份" autocomplete="off" onclick="laydate({istime: false, format: 'YYYY-MM'})" value="<?=isset($search['sign_m'])?$search['sign_m']:''?>">
</div>
</div>
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-sm btn-primary">签约时间不早于</button>
</span>
<input class="input-sm form-control layer-date" type="text" name="search[sign_after]" placeholder="请选择日期" autocomplete="off" onclick="laydate({istime: false, format: 'YYYY-MM-DD'})" value="<?=isset($search['sign_after'])?$search['sign_after']:''?>">
</div>
</div>
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-sm btn-primary">签约时间不晚于</button>
</span>
<input class="input-sm form-control layer-date" type="text" name="search[sign_before]" placeholder="请选择日期" autocomplete="off" onclick="laydate({istime: false, format: 'YYYY-MM-DD'})" value="<?=isset($search['sign_before'])?$search['sign_before']:''?>">
</div>
</div>
</div>
<div class="form-group">
<div class="col-sm-3">
<select data-placeholder="选择订单状态..." class="select-sm form-control chosen-select" tabindex="2" name="search[status_code]">
<option value="all">选择订单状态</option>
<?php foreach($status as $key=>$val){?>
<option value="<?=$key?>" hassubinfo="true" <?=isset($search['status_code']) && $search['status_code']==$key ? 'selected':'';?>><?=$val?></option>
<?php }?>
</select>
</div>
<div class="col-sm-3">
<div class="input-group">
<input type="text" class="form-control" name="store_title" id="store-title" value="<?=isset($search['store_title'])?$search['store_title']:'';?>" placeholder="点击选择接单网点" autocomplete="off" href="<?=Url::toRoute(['store/select','callback'=>'store']);?>" w="80%;" h="90%;" title="选择接单网点" mini="load">
<input type="hidden" class="form-control" name="search[store_id]" id="store-value" value="<?=isset($search['store_id'])?$search['store_id']:0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info" onclick="clearStore('store')">清除选择</button>
</span>
</div>
<script>
function selectStore(title,id,callback)
{
layer.closeAll();
layer.msg('已选择');
$('#'+callback+'-value').val(id);
$('#'+callback+'-title').val(title);
}
function clearStore(id)
{
$('#'+id+'-value').val('');
$('#'+id+'-title').val('');
}
</script>
</div>
<div class="col-sm-3">
<div class="input-group">
<input type="text" class="form-control" name="employee_title" id="employee-title" value="<?=isset($search['employee_title'])?$search['employee_title']:'';?>" placeholder="点击选择该运单的派单员工" autocomplete="off" href="<?=Url::toRoute(['employee/select','callback'=>'employee']);?>" w="80%;" h="90%;" title="选择派单员工" mini="load">
<input type="hidden" class="form-control" name="search[employee]" id="employee-value" value="<?=isset($search['employee'])?$search['employee']:0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info" onclick="clearEmployee('employee')">清除选择</button>
</span>
</div>
<script>
function selectEmployee(title,id,callback)
{
layer.closeAll();
layer.msg('已选择');
$('#'+callback+'-value').val(id);
$('#'+callback+'-title').val(title);
}
function clearEmployee(id)
{
$('#'+id+'-value').val('');
$('#'+id+'-title').val('');
}
</script>
</div>
<div class="col-sm-3">
<div class="input-group">
<input type="text" class="form-control" name="car_title" id="car-title" value="<?=isset($search['car_title'])?$search['car_title']:'';?>" placeholder="点击选择关联客户车辆" autocomplete="off" href="<?=Url::toRoute(['car/select','callback'=>'car']);?>" w="80%;" h="90%;" title="选择关联客户车辆" mini="load">
<input type="hidden" class="form-control" name="search[car_id]" id="car-value" value="<?=isset($search['car_id'])?$search['car_id']:0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info" onclick="clearCar('car')">清除选择</button>
</span>
</div>
</div>
<script>
function selectCar(title,id,number,username,callback)
{
layer.closeAll();
layer.msg('已选择');
$('#'+callback+'-value').val(id);
$('#'+callback+'-title').val(title+number);
}
function clearCar(id)
{
$('#'+id+'-value').val('');
$('#'+id+'-title').val('');
}
</script>
</div>
<div class="form-group">
<div class="col-sm-3">
<div class="input-group">
<input class="form-control" type="text" placeholder="模糊检索介绍人名字" name="search[bind]" id="search-bind-name" value="<?=isset($search['bind'])?$search['bind']:'';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-success" href="<?=Url::toRoute(['contact/select','callback'=>'search-bind']);?>" w="80%;" h="90%;" title="从通讯录中选择" mini="load">通讯录</button>
<button type="button" class="btn btn-info" onclick="clearBind('search-bind-name')">清除</button>
</span>
</div>
</div>
<script>
function selectContactor(company,name,mobile,idcard,id,callback)
{
layer.closeAll();
layer.msg('已选择');
$('#'+callback+'-company').val(company);
$('#'+callback+'-mobile').val(mobile);
$('#'+callback+'-name').val(name);
$('#'+callback+'-idcard').val(idcard);
$('#'+callback+'-value').val(id);
}
function clearBind(id)
{
$('#'+id).val('');
}
</script>
<div class="col-sm-3">
<div class="input-group">
<input class="form-control" type="text" placeholder="模糊检索委托人名字" name="search[signer]" id="signer-name" value="<?=isset($search['signer'])?$search['signer']:'';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-success" href="<?=Url::toRoute(['contact/select','callback'=>'signer']);?>" w="80%;" h="90%;" title="从通讯录中选择" mini="load">通讯录</button>
<button type="button" class="btn btn-info" onclick="clearSigner('signer-name')">清除</button>
</span>
</div>
</div>
<script>
function clearSigner(id)
{
$('#'+id).val('');
}
</script>
<div class="col-sm-3">
<div class="input-group">
<input class="form-control" type="text" placeholder="模糊检索发车人名字" name="search[sender_name]" id="sender-name" value="<?=isset($search['sender_name'])?$search['sender_name']:'';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-success" href="<?=Url::toRoute(['contact/select','callback'=>'sender']);?>" w="80%;" h="90%;" title="从通讯录中选择" mini="load">通讯录</button>
<button type="button" class="btn btn-info" onclick="clearSender('sender-name')">清除</button>
</span>
</div>
</div>
<script>
function clearSender(id)
{
$('#'+id).val('');
}
</script>
<div class="col-sm-3">
<div class="input-group">
<input class="form-control" type="text" placeholder="模糊检索接车人名字" name="search[receiver_name]" id="receiver-name" value="<?=isset($search['receiver_name'])?$search['receiver_name']:'';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-success" href="<?=Url::toRoute(['contact/select','callback'=>'receiver']);?>" w="80%;" h="90%;" title="从通讯录中选择" mini="load">通讯录</button>
<button type="button" class="btn btn-info" onclick="clearReceiver('receiver-name')">清除</button>
</span>
</div>
</div>
<script>
function clearReceiver(id)
{
$('#'+id).val('');
}
</script>
</div>
<div class="form-group">
<div class="col-sm-3">
<select data-placeholder="选择起运省份..." class="form-control chosen-select" tabindex="2" name="search[start_province]">
<option value="">选择起运省份</option>
<?php foreach(Yii::$app->params['regionAreas'] as $key=>$val){?>
<option value="<?=$key?>" hassubinfo="true" <?=isset($search['start_province']) && $search['start_province']==$key ? 'selected':'';?>><?=$val?></option>
<?php }?>
</select>
</div>
<div class="col-sm-3">
<div class="input-group">
<input class="form-control" type="text" placeholder="检索起运城市名称" name="search[start_city]" id="start_city" value="<?=isset($search['start_city'])?$search['start_city']:'';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info" onclick="clearInput(this)">清除</button>
</span>
</div>
</div>
<div class="col-sm-3">
<select data-placeholder="选择运达省份..." class="select-sm form-control chosen-select" tabindex="2" name="search[aim_province]">
<option value="">选择运达省份</option>
<?php foreach(Yii::$app->params['regionAreas'] as $key=>$val){?>
<option value="<?=$key?>" hassubinfo="true" <?=isset($search['aim_province']) && $search['aim_province']==$key ? 'selected':'';?>><?=$val?></option>
<?php }?>
</select>
</div>
<div class="col-sm-3">
<div class="input-group">
<input class="form-control" type="text" placeholder="检索目标运达城市名称" name="search[aim_city]" id="aim_city" value="<?=isset($search['aim_city'])?$search['aim_city']:'';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info" onclick="clearInput(this)">清除</button>
</span>
</div>
</div>
</div>
<script>
function clearInput(obj)
{
$(obj).parent().prev().val('');
}
</script>
<div class="form-group">
<div class="col-sm-12">
<button type="submit" class="btn btn-sm btn-warning dim"> 搜索</button>
</div>
</div>
</form>
</div>
<!--分页-->
<div class="ibox-content" style="padding:0;text-align: center;">
<div class="f-r">
<?= LinkPager::widget([
'pagination'=>$pager,
'firstPageLabel' => '首页',
'nextPageLabel' => '下一页',
'prevPageLabel' => '上一页',
'lastPageLabel' => '末页',
]) ?>
</div>
</div>
<div class="ibox-title"><?= Html::encode($this->title) ?></div>
<div class="ibox-content">
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>序号</th>
<th>车辆</th>
<th style="width:120px;">联系人</th>
<th style="width:180px;">托运信息</th>
<th style="width:150px;">网点员工</th>
<th style="width:260px;">关联信息</th>
<th>状态</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<?php foreach($orders as $vo):?>
<tr>
<td><?=$vo['id']?></td>
<td>
<kbd><?=isset($cars[$vo['car_id']]['title']) ? $cars[$vo['car_id']]['title']:''?></kbd><br>
<?=isset($cars[$vo['car_id']]['number2']) ? $cars[$vo['car_id']]['number2']:''?>
</td>
<td>
【发车人】<?=isset($vo['sender_name']) ? $vo['sender_name']:''?><br>
<!-- 【手机】<?=isset($vo['sender_mobiles']) ? $vo['sender_mobiles']:''?><br> -->
<!-- 【身份证号】<?=isset($vo['sender_idcard']) ? $vo['sender_idcard']:''?><br> -->
【接车人】<?=isset($vo['receiver_name']) ? $vo['receiver_name']:''?><br>
<!-- 【手机】<?=isset($vo['receiver_mobiles']) ? $vo['receiver_mobiles']:''?><br> -->
<!-- 【身份证号】<?=isset($vo['receiver_idcard']) ? $vo['receiver_idcard']:''?><br> -->
【委托方】<?=isset($vo['signer']) ? $vo['signer'] : ''?>
</td>
<td>
【签约时间】<?=isset($vo['sign_date']) && $vo['sign_date']>0 ? date('Y-m-d',$vo['sign_date']) : '未记录'?><br>
【始发地】<?=isset(Yii::$app->params['regionAreas'][$vo['start_province']]) ? Yii::$app->params['regionAreas'][$vo['start_province']] : ''?> <?=isset($vo['start_city']) ? $vo['start_city'] : ''?><br>
【目的地】<?=isset(Yii::$app->params['regionAreas'][$vo['aim_province']]) ? Yii::$app->params['regionAreas'][$vo['aim_province']] : ''?> <?=isset($vo['aim_city']) ? $vo['aim_city'] : ''?><br>
</td>
<td>
【<?=isset($stores[$vo['store_id']]['title'])?$stores[$vo['store_id']]['title']:'未设置'?>】
<code><?=isset($employees[$vo['employee_id']]['name'])?$employees[$vo['employee_id']]['name']:'未关联'?></code><br>
【介绍人】<CODE><?=isset($vo['bind']) ? $vo['bind']:''?></CODE>
</td>
<td>
【保险】保价<code><?=isset($vo['car_value']) ? $vo['car_value'] : 0?></code><kbd>万元</kbd>; 保费<code><?=isset($vo['fee_insurance']) ? $vo['fee_insurance'] : 0?></code><kbd>元</kbd>; <br>
【费用】运费<code><?=isset($vo['fee_truck']) ? $vo['fee_truck'] : 0?></code><kbd>元</kbd>
总费用<code><?=isset($vo['fee_total']) ? $vo['fee_total'] : 0?></code><kbd>元</kbd> <br>
【收款】现付<code><?=isset($vo['pay_send']) ? $vo['pay_send'] : 0?></code><kbd>元</kbd>;到收<code><?=isset($vo['pay_receive']) ? $vo['pay_receive'] : 0?></code><kbd>元</kbd>
</td>
<td>
<?php if($vo['status_code']<=0){?>
<label class="btn btn-default btn-xs"><?=$status[$vo['status_code']]?></label>
<?php }else{?>
<label class="btn btn-info btn-xs"><?=$status[$vo['status_code']]?></label>
<?php }?>
<?php if($vo['is_cwqr']==0){?>
<label class="btn btn-default btn-xs">待财务确认</label>
<?php }else{?>
<label class="btn btn-info btn-xs">财务已确认</label>
<?php }?>
</td>
<td>
<a class="btn btn-primary btn-xs" onclick="parent.selectOrder('<?=$vo['car_id']?>','<?=$vo['id']?>','<?=isset($cars[$vo['car_id']]['title']) ? $cars[$vo['car_id']]['title']:''?>','<?=isset($cars[$vo['car_id']]['num_p']) ? $cars[$vo['car_id']]['num_p']:''?><?=isset($cars[$vo['car_id']]['num_area']) ? $cars[$vo['car_id']]['num_area']:''?><?=isset($cars[$vo['car_id']]['num_left']) ? $cars[$vo['car_id']]['num_left']:''?>','<?=isset($cars[$vo['car_id']]['num_frame']) ? $cars[$vo['car_id']]['num_frame']:''?>','<?=isset($vo['start_city']) ? $vo['start_city'] : ''?>','<?=isset($vo['aim_city']) ? $vo['aim_city'] : ''?>','<?=isset($employees[$vo['employee_id']]['name'])?$employees[$vo['employee_id']]['name']:'未关联'?>','<?=$callback?>');">选择</a>
</td>
</tr>
<?php endforeach;?>
</tbody>
</table>
</div>
</div>
<!--分页-->
<div class="ibox-content" style="padding:0;text-align: center;">
<div class="f-r">
<?= LinkPager::widget([
'pagination'=>$pager,
'firstPageLabel' => '首页',
'nextPageLabel' => '下一页',
'prevPageLabel' => '上一页',
'lastPageLabel' => '末页',
]) ?>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
laydate.skin('molv');
$(document).ready(function() {
var config = {
".chosen-select": {},
".chosen-select-deselect": {
allow_single_deselect: !0
},
".chosen-select-no-single": {
disable_search_threshold: 10
},
".chosen-select-no-results": {
no_results_text: "Oops, nothing found!"
},
".chosen-select-width": {
width: "95%"
}
};
for (var selector in config) $(selector).chosen(config[selector]);
});
</script>
+47
View File
@@ -0,0 +1,47 @@
<?php
use yii\helpers\Html;
use yii\helpers\Url;
?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>平台参数配置(仅超级管理员可操作)</h5>
<div class="ibox-tools">
<a class="collapse-link">
<i class="fa fa-chevron-up"></i>
</a>
<a class="close-link">
<i class="fa fa-times"></i>
</a>
</div>
</div>
<div class="ibox-content">
<form class="form-horizontal m-t" method="post" action="<?=Url::toRoute('plat/extsave')?>" role="form">
<input type="hidden" name="_csrf-backend" value="<?=Yii::$app->getRequest()->getCsrfToken();?>" />
<input type="hidden" name="id" value="<?=isset($detail['id'])?$detail['id']:0;?>">
<div class="form-group draggable">
<label class="col-sm-1 control-label"><span class="red">*</span> 财务手机:</label>
<div class="col-sm-9">
<input class="form-control" type="text" name="cw_phone" value="<?=isset($detail['cw_phone'])?$detail['cw_phone']:'';?>" placeholder="输入手机号" autocomplete="on">
<span class="help-block m-b-none">如:进行财务操作时需要该手机号接收验证码</span>
</div>
</div>
<div class="hr-line-dashed"></div>
<div class="form-group draggable">
<div class="col-sm-12 col-sm-offset-3">
<button class="btn btn-primary" type="submit">保存</button>
<button class="btn btn-white" type="reset">取消</button>
</div>
</div>
</form>
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
</div>
+93
View File
@@ -0,0 +1,93 @@
<?php
/**
* @Author: fm453
* @Date: 2018-11-23 12:17:02
* @Last Modified by: fm453
* @Last Modified time: 2019-10-05 11:18:09
* @Email: fm453@lukegzs.com
*/
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
use yii\helpers\Url;
use yii\widgets\LinkPager;
$this->title = '平台配置参数';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-content">
<h1><?= Html::encode($this->title) ?></h1>
<div class="row">
<div class="col-sm-3">
<a class="btn btn-info btn-sm" href="<?= Url::toRoute('index/index')?>">切换平台</a>
</div>
<div class="col-sm-3 pull-right">
<form action="<?=Url::toRoute('plat/list')?>" method="post">
<input type="hidden" name="_csrf-backend" value="<?= Yii::$app->getRequest()->getCsrfToken();?>" />
<div class="input-group">
<input type="text" placeholder="请输入平台名" name="title" class="input-sm form-control" value="<?=isset($search['title'])?$search['title']:'';?>">
<span class="input-group-btn">
<button type="submit" class="btn btn-sm btn-primary"> 搜索</button>
</span>
</div>
</form>
</div>
</div>
<hr>
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>序号</th>
<th>图像</th>
<th>名称</th>
<th>状态</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<?php foreach($plats as $vo):?>
<tr>
<td><?=$vo['id']?></td>
<td><image src="<?=isset($vo['thumb'])? Yii::$app->params['attachSrc'].Yii::$app->params['attachDir'].$vo['thumb']: Url::to('@web/img/nopic.jpg');?>" class="pthumb"></td>
<td><?=$vo['title']?></td>
<td>
<?php if($vo['status_code']==1){?>
<a class="btn btn-info btn-xs" href="<?=Url::toRoute(['plat/ajax','id'=>$vo['id'],'do'=>'hide'])?>" mini="ajax"><?=$status[$vo['status_code']]?></a>
<?php }else{?>
<a class="btn btn-default btn-xs" href="<?=Url::toRoute(['plat/ajax','id'=>$vo['id'],'do'=>'show'])?>" mini="ajax"><?=$status[$vo['status_code']]?></a>
<?php }?>
</td>
<td>
<a class="btn btn-primary btn-xs" href="<?=Url::toRoute(['plat/edit','id'=>$vo['id']])?>"><i class="fa fa-edit"></i>编辑</a>
<a class="btn btn-info btn-xs" href="<?=Url::toRoute(['plat/ext','id'=>$vo['id']])?>">平台配置</a>
<a title="点击将删除" href="<?=Url::toRoute(['plat/delete','id'=>$vo['id']])?>" class="btn btn-xs btn-danger" mini="act"><i class="fa fa-trash bigger-120"></i>删除</a>
</td>
</tr>
<?php endforeach;?>
</tbody>
</table>
<!--分页-->
<div class="f-r">
<?= LinkPager::widget([
'pagination'=>$pager,
'firstPageLabel' => '首页',
'nextPageLabel' => '下一页',
'prevPageLabel' => '上一页',
'lastPageLabel' => '末页',
]) ?>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
+130
View File
@@ -0,0 +1,130 @@
<?php
use yii\helpers\Html;
use yii\helpers\Url;
?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>平台管理</h5>
<div class="ibox-tools">
<a class="collapse-link">
<i class="fa fa-chevron-up"></i>
</a>
<a class="close-link">
<i class="fa fa-times"></i>
</a>
</div>
</div>
<div class="ibox-content">
<form class="form-horizontal m-t" method="post" action="<?=Url::toRoute('plat/save')?>" role="form">
<input type="hidden" name="_csrf-backend" value="<?=Yii::$app->getRequest()->getCsrfToken();?>" />
<input type="hidden" name="id" value="<?=isset($detail['id'])?$detail['id']:0;?>">
<div class="form-group draggable">
<label class="col-sm-1 control-label"><span class="red">*</span> 名称:</label>
<div class="col-sm-9">
<input class="form-control" type="text" name="title" value="<?=isset($detail['title'])?$detail['title']:'';?>" placeholder="请输入平台名称" autocomplete="on">
<span class="help-block m-b-none">如:嗨噜运车</span>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">形象图:</label>
<div class="col-sm-9">
<div class="input-group">
<input type="text" class="form-control" name="thumb" id="thumb-value" placeholder="" autocomplete="off" value="<?=isset($detail['thumb'])?$detail['thumb']:'';?>"> <span class="input-group-btn"> <button type="button" class="btn btn-primary" data-id="thumb-value" href="<?= Url::toRoute(['upload/image','multi'=>false,'callback'=>'thumb']);?>" w="80%;" h="90%;" title="选择或上传图片" mini="load">选择图片
</button> </span>
</div>
<div class="input-group " style="margin-top:.5em;">
<img id="thumb-preview" src="<?=isset($detail['thumb'])? Yii::$app->params['attachSrc'].Yii::$app->params['attachDir'].$detail['thumb']: Url::to('@web/img/nopic.jpg');?>" onerror="this.src='<?=Yii::getAlias("@web")?>/img/nopic.jpg'; this.title='图片未找到.'" class="img-responsive img-thumbnail" width="150">
<em class="close" style="position:absolute; top: 0px; right: -14px;" title="删除这张图片" onclick="deleteImage(this)">×</em>
</div>
</div>
</div>
<script type="text/javascript">
function deleteImage(elm){
$(elm).prev().attr("src", "../img/nopic.jpg");
$(elm).parent().prev().find("input").val("");
parent.layer.msg('图片已删除;您可重新上传');
}
function selectImage(title,path,src,callback)
{
layer.closeAll();
layer.msg('图片已选择');
$('#'+callback+'-value').val(path);
$('#'+callback+'-preview').attr('src',src);
}
</script>
<div class="form-group">
<label for="orderby" class="col-sm-1 control-label">排序</label>
<div class="col-sm-9">
<input type="number" name="orderby" class="form-control" id="orderby" required="required" value="<?=isset($detail['orderby'])?$detail['orderby']:'';?>" placeholder="数字越大越靠前"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">是否删除:
</label>
<div class="col-sm-9">
<label class="radio-inline">
<input type="radio" <?=(isset($detail['deleted'])&&$detail['deleted']==1)?'checked':'';?> value="1" id="deleted1" name="deleted">是</label>
<label class="radio-inline">
<input type="radio" <?=((!isset($detail['deleted']))||isset($detail['deleted'])&&$detail['deleted']==0)?'checked':'';?> value="0" id="deleted2" name="deleted">否</label>
</div>
</div>
<div class="hr-line-dashed"></div>
<div class="form-group draggable">
<div class="col-sm-12 col-sm-offset-3">
<button class="btn btn-primary" type="submit">保存</button>
<button class="btn btn-white" type="reset">取消</button>
<a class="btn btn-info" href="<?=Url::toRoute('plat/list')?>">全部平台</a>
</div>
</div>
</form>
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
function showImageFrame(obj){
//取预设参数
var id,title,width,height,url;
id = $(obj).attr('data-id');
title = $(obj).attr('data-title');
width = $(obj).attr('data-width');
height = $(obj).attr('data-height');
url = $(obj).attr('data-src');
//iframe层
parent.layer.open({
type: 2,
title: title,
shadeClose: true,
shade: 0.8,
area: [width, height],
content: url //iframe的url
});
}
function deleteImage(elm){
$(elm).prev().attr("src", "../img/nopic.jpg");
$(elm).parent().prev().find("input").val("");
parent.layer.msg('图片已删除;您可重新上传');
}
function selectImage(title,path,src,callback)
{
layer.closeAll();
layer.msg('图片已选择');
$('#'+callback+'-value').val(path);
$('#'+callback+'-preview').attr('src',src);
}
</script>
+18
View File
@@ -0,0 +1,18 @@
<?php
/* @var $this yii\web\View */
/* @var $name string */
/* @var $message string */
/* @var $exception Exception */
use yii\helpers\Html;
$this->title = $name;
?>
<div class="site-error">
<div style="margin-top: 100px;text-align: center;">
<h1><?= Html::encode($this->title) ?></h1><br>
</div>
<h4 style="margin: 10px auto;text-align: center;background-color: #1ab394; color: #ffffff;width: 500px;height: 50px;line-height: 50px;border-radius: 5px;"><?= nl2br(Html::encode($message)) ?></h4>
</div>
+298
View File
@@ -0,0 +1,298 @@
<?php
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
use yii\helpers\Url;
use mdm\admin\components\MenuHelper;
$this->title = Yii::t('backend' ,'System Name');
$keywords = '';
$description = '';
$this->params['breadcrumbs'][] = $this->title;
?>
<div id="wrapper">
<!--左侧导航开始-->
<nav class="navbar-default navbar-static-side" role="navigation">
<div class="nav-close"><i class="fa fa-times-circle"></i>
</div>
<div class="sidebar-collapse">
<ul class="nav" id="side-menu">
<li class="nav-header">
<div class="dropdown profile-element">
<span><img alt="image" class="img-circle" src="<?php echo Url::to(Yii::$app->user->identity->avatar);?>" /></span>
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
<span class="clear">
<span class="block m-t-xs"><strong class="font-bold"><?= Yii::$app->user->identity->username ?></strong></span>
<span class="text-muted text-xs block"><?= $user_info?><b class="caret"></b></span>
</span>
</a>
<ul class="dropdown-menu animated fadeInRight m-t-xs">
<li><a class="J_menuItem" href="<?= Url::toRoute(['adminer/update','id'=>Yii::$app->user->identity->getId()])?>">个人资料</a>
</li>
<li class="divider"></li>
<li><a href="<?=Url::toRoute('site/logout')?>">安全退出</a>
</li>
</ul>
</div>
<div class="logo-element">Hi
</div>
</li>
<?php foreach($menu as $v1):?>
<?php $data = json_decode($v1['data'], true);?>
<li><!--一级级菜单-->
<a href="#">
<i class="<?=$data['icon']?>"></i>
<span class="nav-label"><?= $v1['name']?></span>
<span class="fa arrow"></span>
</a>
<?php if(array_key_exists('_child',$v1)):?>
<ul class="nav nav-second-level">
<?php foreach($v1['_child'] as $v2):?>
<?php $data2 = json_decode($v2['data'], true);?>
<?php if(array_key_exists('_child',$v2)):?>
<li><!--二级菜单-->
<a href="#">
<?php if($data2['icon']):?><i class="<?=$data2['icon']?>"></i><?php endif;?><?= $v2['name']?>
<span class="fa arrow"></span>
</a>
<?php if(!empty($v2['_child'])):?>
<ul class="nav nav-third-level collapse">
<?php foreach($v2['_child'] as $v3):?>
<li><!--三级菜单-->
<a class="J_menuItem" href="<?= Url::toRoute($v3['route']);?>" data-index="0" onclick="active(this)"><?= $v3['name']?></a>
</li>
<?php endforeach;?>
</ul>
<?php endif;?>
</li>
<?php else:?>
<li><!--二级菜单-->
<a class="J_menuItem" href="<?= Url::toRoute($v2['route']);?>" data-index="0" onclick="active(this)"><?= $v2['name']?></a>
</li>
<?php endif;?>
<?php endforeach;?>
</ul>
<?php endif;?>
</li>
<?php endforeach;?>
</ul>
</div>
</nav>
<script>
function active(obj){
$('a.J_menuItem').css({'background-color':'','color':''});
$(obj).css({'background-color':'#0095f6','color':'#fff'});
}
</script>
<!--左侧导航结束-->
<!--右侧部分开始-->
<div id="page-wrapper" class="gray-bg dashbard-1">
<div class="row border-bottom">
<nav class="navbar navbar-static-top" role="navigation" style="margin-bottom: 0">
<div class="navbar-header"><a class="navbar-minimalize minimalize-styl-2 btn btn-primary " href="#"><i class="fa fa-bars"></i> </a>
<form role="search" class="navbar-form-custom" method="post" action="#">
<div class="form-group">
<input type="text" placeholder="快速查找(该功能暂未开放) …" class="form-control" name="top-search" id="top-search" style="border-bottom: 1px solid rgb(204, 204, 204);">
</div>
</form>
</div>
<ul class="nav navbar-top-links navbar-right">
<li class="dropdown">
<a class="dropdown-toggle count-info" data-toggle="dropdown" href="#">
<i class="fa fa-bell"></i> <span class="label label-warning">8</span>
</a>
<ul class="dropdown-menu dropdown-alerts">
<li>
<a href="#">
<div>
<i class="fa fa-envelope fa-fw"></i> 还只是测试
<span class="pull-right text-muted small">4分钟前</span>
</div>
</a>
</li>
<li class="divider"></li>
<li>
<a href="#">
<div>
<i class="fa fa-qq fa-fw"></i> 请忽略我
<span class="pull-right text-muted small">12分钟前</span>
</div>
</a>
</li>
<li class="divider"></li>
<li>
<div class="text-center link-block">
<a class="J_menuItem" href="#">
<strong>查看所有 </strong>
<i class="fa fa-angle-right"></i>
</a>
</div>
</li>
</ul>
</li>
<li class="dropdown hidden-xs">
<a class="right-sidebar-toggle" aria-expanded="false">
<i class="fa fa-tasks"></i> 主题
</a>
</li>
</ul>
</nav>
</div>
<!--页卡导航-->
<div class="row content-tabs">
<button class="roll-nav roll-left J_tabLeft"><i class="fa fa-backward"></i>
</button>
<nav class="page-tabs J_menuTabs">
<div class="page-tabs-content">
<a href="javascript:;" class="active J_menuTab" data-id="">首页</a>
</div>
</nav>
<button class="roll-nav roll-right J_tabRight"><i class="fa fa-forward"></i>
</button>
<div class="btn-group roll-nav roll-right">
<button class="dropdown J_tabClose" data-toggle="dropdown">关闭操作<span class="caret"></span>
</button>
<ul role="menu" class="dropdown-menu dropdown-menu-right">
<li class="J_tabShowActive"><a>定位当前选项卡</a>
</li>
<li class="divider"></li>
<li class="J_tabCloseAll"><a>关闭全部选项卡</a>
</li>
<li class="J_tabCloseOther"><a>关闭其他选项卡</a>
</li>
</ul>
</div>
<a href="<?=Url::toRoute('site/logout')?>" class="roll-nav roll-right J_tabExit"><i class="fa fa fa-sign-out"></i> 退出</a>
</div>
<div class="row J_mainContent" id="content-main">
<iframe class="J_iframe" name="iframe0" width="100%" height="100%" src="<?= Url::toRoute('index/welcome')?>" frameborder="0" data-id="" seamless></iframe>
</div>
<div class="footer">
<div class="pull-left">
version:<?= HI_VERSION;?>
</div>
<div class="pull-right">
Copyright &copy; <?= Yii::t('common' ,'Company Create Time') ?>-<?php echo date('Y',time()); ?> <a href="https://www.hiluker.com" target="_blank">嗨路客电商</a> -Based On V<?php echo Yii::getVersion();?>
</div>
</div>
</div>
<!--右侧部分结束-->
<!--右侧边栏开始-->
<div id="right-sidebar">
<div class="sidebar-container">
<ul class="nav nav-tabs navs-3">
<li class="active ">
<a data-toggle="tab" href="#tab-1">
<i class="fa fa-gear"></i> 主题
</a>
</li>
</ul>
<div class="tab-content">
<div id="tab-1" class="tab-pane active">
<div class="sidebar-title ">
<h3> <i class="fa fa-comments-o"></i> 主题设置</h3>
<small><i class="fa fa-tim"></i> 你可以从这里选择和预览主题的布局和样式;刷新后或重新登陆后即会重置。</small>
</div>
<div class="skin-setttings">
<div class="title">主题设置</div>
<div class="setings-item">
<span>收起左侧菜单</span>
<div class="switch">
<div class="onoffswitch">
<input type="checkbox" name="collapsemenu" class="onoffswitch-checkbox" id="collapsemenu">
<label class="onoffswitch-label" for="collapsemenu" onclick="changeStyle('leftMenu');">
<span class="onoffswitch-inner"></span>
<span class="onoffswitch-switch"></span>
</label>
</div>
</div>
</div>
<div class="setings-item">
<span>固定顶部</span>
<div class="switch">
<div class="onoffswitch">
<input type="checkbox" name="fixednavbar" class="onoffswitch-checkbox" id="fixednavbar">
<label class="onoffswitch-label" for="fixednavbar">
<span class="onoffswitch-inner"></span>
<span class="onoffswitch-switch"></span>
</label>
</div>
</div>
</div>
<div class="setings-item">
<span>
固定宽度
</span>
<div class="switch">
<div class="onoffswitch">
<input type="checkbox" name="boxedlayout" class="onoffswitch-checkbox" id="boxedlayout">
<label class="onoffswitch-label" for="boxedlayout">
<span class="onoffswitch-inner"></span>
<span class="onoffswitch-switch"></span>
</label>
</div>
</div>
</div>
<div class="title">皮肤选择</div>
<div class="setings-item default-skin nb">
<span class="skin-name ">
<a href="#" class="s-skin-0">
默认皮肤
</a>
</span>
</div>
<div class="setings-item blue-skin nb">
<span class="skin-name ">
<a href="#" class="s-skin-1">
蓝色主题
</a>
</span>
</div>
<div class="setings-item yellow-skin nb">
<span class="skin-name ">
<a href="#" class="s-skin-3">
黄色主题
</a>
</span>
</div>
<div class="setings-item red-skin nb">
<span class="skin-name ">
<a href="#" class="s-skin-2">
红色主题
</a>
</span>
</div>
<div class="title">
<a class="right-sidebar-toggle" aria-expanded="false">
<i class="fa fa-close"></i> 关闭
</a>
</div>
</div>
</div>
</div>
</div>
</div>
<!--右侧边栏结束-->
</div>
<?=Html::jsFile('@web/js/jquery-3.7.1.slim.min.js')?>
<?=Html::jsFile('@web/js/plugins/metisMenu/jquery.metisMenu.js')?>
<?=Html::jsFile('@web/js/plugins/slimscroll/jquery.slimscroll.min.js')?>
<?=Html::jsFile('@web/js/hplus.min.js')?>
<?=Html::jsFile('@web/js/contabs.min.js')?>
<?=Html::jsFile('@web/js/plugins/pace/pace.min.js')?>
<?=Html::jsFile('@web/bootstrap5.2.3/js/bootstrap.min.js')?>
<?=Html::jsFile('@web/js/plugins/layer/layer.js')?>
+297
View File
@@ -0,0 +1,297 @@
<?php
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
use yii\helpers\Url;
use mdm\admin\components\MenuHelper;
$this->title = Yii::t('backend' ,'System Name');
$keywords = '';
$description = '';
$this->params['breadcrumbs'][] = $this->title;
?>
<div id="wrapper">
<!--左侧导航开始-->
<nav class="navbar-default navbar-static-side" role="navigation">
<div class="nav-close"><i class="fa fa-times-circle"></i>
</div>
<div class="sidebar-collapse">
<ul class="nav" id="side-menu">
<li class="nav-header">
<div class="dropdown profile-element">
<span><img alt="image" class="img-circle" src="<?php echo Url::to(Yii::$app->user->identity->avatar);?>" /></span>
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
<span class="clear">
<span class="block m-t-xs"><strong class="font-bold"><?= Yii::$app->user->identity->username ?></strong></span>
<span class="text-muted text-xs block"><?= $user_info?><b class="caret"></b></span>
</span>
</a>
<ul class="dropdown-menu animated fadeInRight m-t-xs">
<li><a class="J_menuItem" href="<?= Url::toRoute(['adminer/update','id'=>Yii::$app->user->identity->getId()])?>">个人资料</a>
</li>
<li class="divider"></li>
<li><a href="<?=Url::toRoute('site/logout')?>">安全退出</a>
</li>
</ul>
</div>
<div class="logo-element">Hi
</div>
</li>
<?php foreach($menu as $v1):?>
<?php $data = json_decode($v1['data'], true);?>
<li><!--一级级菜单-->
<a href="#">
<i class="<?=$data['icon']?>"></i>
<span class="nav-label"><?= $v1['name']?></span>
<span class="fa arrow"></span>
</a>
<?php if(array_key_exists('_child',$v1)):?>
<ul class="nav nav-second-level">
<?php foreach($v1['_child'] as $v2):?>
<?php $data2 = json_decode($v2['data'], true);?>
<?php if(array_key_exists('_child',$v2)):?>
<li><!--二级菜单-->
<a href="#">
<?php if($data2['icon']):?><i class="<?=$data2['icon']?>"></i><?php endif;?><?= $v2['name']?>
<span class="fa arrow"></span>
</a>
<?php if(!empty($v2['_child'])):?>
<ul class="nav nav-third-level collapse">
<?php foreach($v2['_child'] as $v3):?>
<li><!--三级菜单-->
<a class="J_menuItem" href="<?= Url::toRoute($v3['route']);?>" data-index="0" onclick="active(this)"><?= $v3['name']?></a>
</li>
<?php endforeach;?>
</ul>
<?php endif;?>
</li>
<?php else:?>
<li><!--二级菜单-->
<a class="J_menuItem" href="<?= Url::toRoute($v2['route']);?>" data-index="0" onclick="active(this)"><?= $v2['name']?></a>
</li>
<?php endif;?>
<?php endforeach;?>
</ul>
<?php endif;?>
</li>
<?php endforeach;?>
</ul>
</div>
</nav>
<script>
function active(obj){
$('a.J_menuItem').css({'background-color':'','color':''});
$(obj).css({'background-color':'#0095f6','color':'#fff'});
}
</script>
<!--左侧导航结束-->
<!--右侧部分开始-->
<div id="page-wrapper" class="gray-bg dashbard-1">
<div class="row border-bottom">
<nav class="navbar navbar-static-top" role="navigation" style="margin-bottom: 0">
<div class="navbar-header"><a class="navbar-minimalize minimalize-styl-2 btn btn-primary " href="#"><i class="fa fa-bars"></i> </a>
<form role="search" class="navbar-form-custom" method="post" action="#">
<div class="form-group">
<input type="text" placeholder="快速查找(该功能暂未开放) …" class="form-control" name="top-search" id="top-search" style="border-bottom: 1px solid rgb(204, 204, 204);">
</div>
</form>
</div>
<ul class="nav navbar-top-links navbar-right">
<li class="dropdown">
<a class="dropdown-toggle count-info" data-toggle="dropdown" href="#">
<i class="fa fa-bell"></i> <span class="label label-warning">8</span>
</a>
<ul class="dropdown-menu dropdown-alerts">
<li>
<a href="#">
<div>
<i class="fa fa-envelope fa-fw"></i> 还只是测试
<span class="pull-right text-muted small">4分钟前</span>
</div>
</a>
</li>
<li class="divider"></li>
<li>
<a href="#">
<div>
<i class="fa fa-qq fa-fw"></i> 请忽略我
<span class="pull-right text-muted small">12分钟前</span>
</div>
</a>
</li>
<li class="divider"></li>
<li>
<div class="text-center link-block">
<a class="J_menuItem" href="#">
<strong>查看所有 </strong>
<i class="fa fa-angle-right"></i>
</a>
</div>
</li>
</ul>
</li>
<li class="dropdown hidden-xs">
<a class="right-sidebar-toggle" aria-expanded="false">
<i class="fa fa-tasks"></i> 主题
</a>
</li>
</ul>
</nav>
</div>
<!--页卡导航-->
<div class="row content-tabs">
<button class="roll-nav roll-left J_tabLeft"><i class="fa fa-backward"></i>
</button>
<nav class="page-tabs J_menuTabs">
<div class="page-tabs-content">
<a href="javascript:;" class="active J_menuTab" data-id="">首页</a>
</div>
</nav>
<button class="roll-nav roll-right J_tabRight"><i class="fa fa-forward"></i>
</button>
<div class="btn-group roll-nav roll-right">
<button class="dropdown J_tabClose" data-toggle="dropdown">关闭操作<span class="caret"></span>
</button>
<ul role="menu" class="dropdown-menu dropdown-menu-right">
<li class="J_tabShowActive"><a>定位当前选项卡</a>
</li>
<li class="divider"></li>
<li class="J_tabCloseAll"><a>关闭全部选项卡</a>
</li>
<li class="J_tabCloseOther"><a>关闭其他选项卡</a>
</li>
</ul>
</div>
<a href="<?=Url::toRoute('site/logout')?>" class="roll-nav roll-right J_tabExit"><i class="fa fa fa-sign-out"></i> 退出</a>
</div>
<div class="row J_mainContent" id="content-main">
<iframe class="J_iframe" name="iframe0" width="100%" height="100%" src="<?= Url::toRoute('index/welcome')?>" frameborder="0" data-id="" seamless></iframe>
</div>
<div class="footer">
<div class="pull-left">
version:<?= HI_VERSION;?>
</div>
<div class="pull-right">
Copyright &copy; <?= Yii::t('common' ,'Company Create Time') ?>-<?php echo date('Y',time()); ?> <a href="https://www.hiluker.com" target="_blank">嗨路客电商</a> -Based On V<?php echo Yii::getVersion();?>
</div>
</div>
</div>
<!--右侧部分结束-->
<!--右侧边栏开始-->
<div id="right-sidebar">
<div class="sidebar-container">
<ul class="nav nav-tabs navs-3">
<li class="active ">
<a data-toggle="tab" href="#tab-1">
<i class="fa fa-gear"></i> 主题
</a>
</li>
</ul>
<div class="tab-content">
<div id="tab-1" class="tab-pane active">
<div class="sidebar-title ">
<h3> <i class="fa fa-comments-o"></i> 主题设置</h3>
<small><i class="fa fa-tim"></i> 你可以从这里选择和预览主题的布局和样式;刷新后或重新登陆后即会重置。</small>
</div>
<div class="skin-setttings">
<div class="title">主题设置</div>
<div class="setings-item">
<span>收起左侧菜单</span>
<div class="switch">
<div class="onoffswitch">
<input type="checkbox" name="collapsemenu" class="onoffswitch-checkbox" id="collapsemenu">
<label class="onoffswitch-label" for="collapsemenu" onclick="changeStyle('leftMenu');">
<span class="onoffswitch-inner"></span>
<span class="onoffswitch-switch"></span>
</label>
</div>
</div>
</div>
<div class="setings-item">
<span>固定顶部</span>
<div class="switch">
<div class="onoffswitch">
<input type="checkbox" name="fixednavbar" class="onoffswitch-checkbox" id="fixednavbar">
<label class="onoffswitch-label" for="fixednavbar">
<span class="onoffswitch-inner"></span>
<span class="onoffswitch-switch"></span>
</label>
</div>
</div>
</div>
<div class="setings-item">
<span>
固定宽度
</span>
<div class="switch">
<div class="onoffswitch">
<input type="checkbox" name="boxedlayout" class="onoffswitch-checkbox" id="boxedlayout">
<label class="onoffswitch-label" for="boxedlayout">
<span class="onoffswitch-inner"></span>
<span class="onoffswitch-switch"></span>
</label>
</div>
</div>
</div>
<div class="title">皮肤选择</div>
<div class="setings-item default-skin nb">
<span class="skin-name ">
<a href="#" class="s-skin-0">
默认皮肤
</a>
</span>
</div>
<div class="setings-item blue-skin nb">
<span class="skin-name ">
<a href="#" class="s-skin-1">
蓝色主题
</a>
</span>
</div>
<div class="setings-item yellow-skin nb">
<span class="skin-name ">
<a href="#" class="s-skin-3">
黄色主题
</a>
</span>
</div>
<div class="setings-item red-skin nb">
<span class="skin-name ">
<a href="#" class="s-skin-2">
红色主题
</a>
</span>
</div>
<div class="title">
<a class="right-sidebar-toggle" aria-expanded="false">
<i class="fa fa-close"></i> 关闭
</a>
</div>
</div>
</div>
</div>
</div>
</div>
<!--右侧边栏结束-->
</div>
<?=Html::jsFile('@web/js/jquery.min.js')?>
<?=Html::jsFile('@web/js/plugins/metisMenu/jquery.metisMenu.js')?>
<?=Html::jsFile('@web/js/plugins/slimscroll/jquery.slimscroll.min.js')?>
<?=Html::jsFile('@web/js/hplus.min.js')?>
<?=Html::jsFile('@web/js/contabs.min.js')?>
<?=Html::jsFile('@web/js/plugins/pace/pace.min.js')?>
<?=Html::jsFile('@web/js/bootstrap.min.js')?>
<?=Html::jsFile('@web/js/plugins/layer/layer.js')?>
+47
View File
@@ -0,0 +1,47 @@
<?php
/* @var $this yii\web\View */
/* @var $form yii\bootstrap\ActiveForm */
/* @var $model \common\models\LoginForm */
use yii\helpers\Html;
use yii\bootstrap5\ActiveForm;
$this->title = Yii::t('backend' ,'System Name');
$keywords = '';
$description = '';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="middle-box text-center loginscreen animated fadeInDown">
<div>
<div>
<h1 class="logo-name">Hi</h1>
</div>
<h3><?php echo $this->title ?></h3>
<div class="row">
<div class="">
<?php $form = ActiveForm::begin(['id' => 'login-form']); ?>
<?= $form->field($model, 'username')->textInput(['autofocus' => true])->label(Yii::t('common' ,'Username')) ?>
<?= $form->field($model, 'password')->passwordInput()->label(Yii::t('common' ,'Password')) ?>
<?= $form->field($model, 'rememberMe')->checkbox()->label(Yii::t('common' ,'Remember Me')) ?>
<div class="form-group">
<?= Html::submitButton(Yii::t('common' ,'Login'), ['class' => 'btn btn-primary', 'name' => 'login-button']) ?>
</div>
<?php ActiveForm::end(); ?>
</div>
</div>
</div>
<div class="footer">
<div class="">Copyright &copy; <?=Yii::t('common' ,'Company Create Time') ?>-<?php echo date('Y',time()); ?> <a href="https://www.hiluker.com" target="_blank">嗨路客电商</a>
</div>
</div>
</div>
+19
View File
@@ -0,0 +1,19 @@
<?php
/**
* @Author: fm453
* @Date: 2018-12-08 20:34:24
* @Last Modified by: fm453
* @Last Modified time: 2019-10-05 16:26:39
* @Email: fm453@lukegzs.com
*/
/* @var $this yii\web\View */
use yii\helpers\Url;
?>
<meta http-equiv="refresh" content="1;URL=<?php echo Url::toRoute('sms/send');?>">
<div class='container' style='margin-top:50px;'>
<p><h3 style="text-align: center;">阿里大鱼短信群发自动跳转</h3></p>
<hr>
</div>
+79
View File
@@ -0,0 +1,79 @@
<?php
/**
* @Author: fm453
* @Date: 2018-12-08 20:34:24
* @Last Modified by: fm453
* @Last Modified time: 2020-08-23 13:30:34
* @Email: fm453@lukegzs.com
*/
/* @var $this yii\web\View */
use yii\helpers\Url;
$username = Yii::$app->user->identity->username;
$accessKeyId = 'LTAIQrJFtHfqsyOt';
$accessKeySecret = 'tvGieI3vNI7Si3imauCB4rJ3OX4AR8';
$sign = '嗨路客';
$smsTpl = 'SMS_152288813';
$tplContent = '尊敬的${name}客户,您好,安诚捷顺物流有限公司三亚站(宫雪15203070080)感谢您一直以来的关注与支持;我们将持续努力,给您更好的运车体验。送车/接车地址:${address}';
?>
<div class='container' style='margin-top:50px;'>
<p><h3 style="text-align: center;">阿里大鱼短信群发</h3></p>
<form class="form-horizontal" action="<?php echo Url::toRoute('sms/send');?>" method="post">
<div class="form-group">
<div class="col-sm-offset-3 col-sm-8">
<button type="submit" class="btn btn-success">填写好了,现在发送</button>
</div>
</div>
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">地址</label>
<div class="col-sm-9">
<input type="text" name="address" class="form-control" id="address" value="" placeholder="请填写地址"/>
</div>
</div>
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">客户信息</label>
<div class="col-sm-9">
<textarea type="text" name="guests" class="form-control" id="guests" placeholder="请输入姓名及手机号,每行一个客户;姓名与手机号间用英文(,)分开;"/></textarea>
<span class="help-block">示例:<br>
方少,18608981880<br>
张三,13812345678<br>
</span>
</div>
</div>
<div class="form-group">
<label for="accessKeyId" class="col-sm-2 control-label">accessKeyId</label>
<div class="col-sm-9">
<input type="text" name="accessKeyId" class="form-control" id="accessKeyId" value="<?php echo $accessKeyId;?>" placeholder="输入在阿里云短信获取的accessKeyId"/>
</div>
</div>
<div class="form-group">
<label for="accessKeySecret" class="col-sm-2 control-label">accessKeySecret</label>
<div class="col-sm-9">
<input type="text" name="accessKeySecret" class="form-control" id="accessKeySecret" value="<?php echo $accessKeySecret;?>" placeholder="输入在阿里云短信获取的accessKeySecret"/>
</div>
</div>
<div class="form-group">
<label for="sign" class="col-sm-2 control-label">短信签名</label>
<div class="col-sm-9">
<input type="text" name="sign" class="form-control" id="sign" value="<?php echo $sign;?>" placeholder="填写所申请的短信签名"/>
</div>
</div>
<div class="form-group">
<label for="tmpl" class="col-sm-2 control-label">短信模板</label>
<div class="col-sm-9">
<input type="text" name="tmpl" class="form-control" id="tmpl" value="<?php echo $smsTpl;?>" placeholder="填写所申请的短信模板"/>
</div>
</div>
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">短信内容样式</label>
<div class="col-sm-9">
<span class="help-block"><?php echo $tplContent;?><br>其中,变量为'username'、'address'。</span>
</div>
</div>
</form>
<hr>
</div>
+79
View File
@@ -0,0 +1,79 @@
<?php
/**
* @Author: fm453
* @Date: 2018-12-08 20:34:24
* @Last Modified by: fm453
* @Last Modified time: 2020-08-23 12:58:40
* @Email: fm453@lukegzs.com
*/
/* @var $this yii\web\View */
use yii\helpers\Url;
$username = Yii::$app->user->identity->username;
$accessKeyId = 'LTAIQrJFtHfqsyOt';
$accessKeySecret = 'tvGieI3vNI7Si3imauCB4rJ3OX4AR8';
$sign = '嗨路客';
$smsTpl = 'SMS_152288813';
$tplContent = '尊敬的${name}客户,您好,安诚捷顺物流有限公司三亚站(宫雪15203070080)感谢您一直以来的关注与支持;我们将持续努力,给您更好的运车体验。送车/接车地址:${address}';
?>
<div class='container' style='margin-top:50px;'>
<p><h3 style="text-align: center;">阿里大鱼短信群发</h3></p>
<form class="form-horizontal" action="<?php echo Url::to('sms/send');?>" method="post">
<div class="form-group">
<div class="col-sm-offset-3 col-sm-8">
<button type="submit" class="btn btn-success">填写好了,现在发送</button>
</div>
</div>
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">地址</label>
<div class="col-sm-9">
<input type="text" name="address" class="form-control" id="address" required="required" value="" placeholder="请填写地址"/>
</div>
</div>
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">客户信息</label>
<div class="col-sm-9">
<textarea type="text" name="guests" class="form-control" id="guests" required="required" placeholder="请输入姓名及手机号,每行一个客户;姓名与手机号间用英文(,)分开;"/></textarea>
<span class="help-block">示例:<br>
方少,18608981880<br>
张三,13812345678<br>
</span>
</div>
</div>
<div class="form-group">
<label for="accessKeyId" class="col-sm-2 control-label">accessKeyId</label>
<div class="col-sm-9">
<input type="text" name="accessKeyId" class="form-control" id="accessKeyId" required="required" value="<?php echo $accessKeyId;?>" placeholder="输入在阿里云短信获取的accessKeyId"/>
</div>
</div>
<div class="form-group">
<label for="accessKeySecret" class="col-sm-2 control-label">accessKeySecret</label>
<div class="col-sm-9">
<input type="text" name="accessKeySecret" class="form-control" id="accessKeySecret" required="required" value="<?php echo $accessKeySecret;?>" placeholder="输入在阿里云短信获取的accessKeySecret"/>
</div>
</div>
<div class="form-group">
<label for="sign" class="col-sm-2 control-label">短信签名</label>
<div class="col-sm-9">
<input type="text" name="sign" class="form-control" id="sign" required="required" value="<?php echo $sign;?>" placeholder="填写所申请的短信签名"/>
</div>
</div>
<div class="form-group">
<label for="tmpl" class="col-sm-2 control-label">短信模板</label>
<div class="col-sm-9">
<input type="text" name="tmpl" class="form-control" id="tmpl" required="required" value="<?php echo $smsTpl;?>" placeholder="填写所申请的短信模板"/>
</div>
</div>
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">短信内容样式</label>
<div class="col-sm-9">
<span class="help-block"><?php echo $tplContent;?><br>其中,变量为'username'、'address'。</span>
</div>
</div>
</form>
<hr>
</div>
+91
View File
@@ -0,0 +1,91 @@
<?php
/**
* @Author: fm453
* @Date: 2018-11-23 12:17:02
* @Last Modified by: fm453
* @Last Modified time: 2020-10-07 10:10:02
* @Email: fm453@lukegzs.com
*/
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
use yii\helpers\Url;
use yii\widgets\LinkPager;
$this->title = '网点列表';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-content">
<h1><?= Html::encode($this->title) ?></h1>
<div class="row">
<div class="col-sm-3">
<a class="btn btn-info btn-sm" href="<?= Url::toRoute('store/new')?>">新增网点</a>
</div>
<div class="col-sm-3 pull-right">
<form action="<?=Url::current(['pid' => Yii::$app->session->get('pid')], false);?>" method="post">
<input type="hidden" name="_csrf-backend" value="<?= Yii::$app->getRequest()->getCsrfToken();?>" />
<div class="input-group">
<input type="text" placeholder="请输入网点名" name="title" class="input-sm form-control" value="<?=$search['title']?>">
<span class="input-group-btn">
<button type="submit" class="btn btn-sm btn-primary"> 搜索</button>
</span>
</div>
</form>
</div>
</div>
<hr>
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>序号</th>
<th>区域地址</th>
<th>名称</th>
<th>状态</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<?php foreach($stores as $vo):?>
<tr>
<td><?=$vo['id']?></td>
<td>【<code><?=isset($citys[$vo['city']]['name'])?$citys[$vo['city']]['name']:'未设置'?></code>】<?=$vo['addr']?></td>
<td><?=$vo['title']?></td>
<td>
<?php if($vo['status_code']==1){?>
<a class="btn btn-info btn-xs" href="<?=Url::toRoute(['store/ajax','id'=>$vo['id'],'do'=>'hide'])?>" mini="ajax"><?=$status[$vo['status_code']]?></a>
<?php }else{?>
<a class="btn btn-default btn-xs" href="<?=Url::toRoute(['store/ajax','id'=>$vo['id'],'do'=>'show'])?>" mini="ajax"><?=$status[$vo['status_code']]?></a>
<?php }?>
</td>
<td>
<a class="btn btn-primary btn-xs" href="<?=Url::toRoute(['store/edit','id'=>$vo['id']])?>"><i class="fa fa-edit"></i>编辑</a>
<a title="点击将删除" href="<?=Url::toRoute(['store/delete','id'=>$vo['id']])?>" class="btn btn-xs btn-danger" mini="act"><i class="fa fa-trash bigger-120"></i>删除</a>
</td>
</tr>
<?php endforeach;?>
</tbody>
</table>
<!--分页-->
<div class="f-r">
<?= LinkPager::widget([
'pagination'=>$pager,
'firstPageLabel' => '首页',
'nextPageLabel' => '下一页',
'prevPageLabel' => '上一页',
'lastPageLabel' => '末页',
]) ?>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
+145
View File
@@ -0,0 +1,145 @@
<?php
use yii\helpers\Html;
use yii\helpers\Url;
?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>门店管理</h5>
<div class="ibox-tools">
<a class="collapse-link">
<i class="fa fa-chevron-up"></i>
</a>
<a class="close-link">
<i class="fa fa-times"></i>
</a>
</div>
</div>
<div class="ibox-content">
<div class="alert alert-info">
此处录入各网点/门店/办事处/分公司的基础资料
</div>
<form class="form-horizontal m-t" method="post" action="<?=Url::toRoute('store/save')?>" role="form">
<input type="hidden" name="_csrf-backend" value="<?=Yii::$app->getRequest()->getCsrfToken();?>" />
<input type="hidden" name="id" value="<?=isset($detail['id'])?$detail['id']:0;?>">
<div class="form-group draggable">
<label class="col-sm-1 control-label"><span class="red">*</span> 名称:</label>
<div class="col-sm-7">
<input class="form-control" type="text" name="title" value="<?=isset($detail['title'])?$detail['title']:'';?>" placeholder="请输入网点名称" autocomplete="on">
<span class="help-block m-b-none">如:三亚办事处</span>
</div>
<label class="col-sm-1 control-label">排序:</label>
<div class="col-sm-2">
<input class="form-control" type="text" name="order_by" placeholder="" autocomplete="off" value="<?=isset($detail['order_by'])?$detail['order_by']: ''?>">
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label"><span class="red">*</span> 地理位置:</label>
<div class="col-sm-3" style="margin-right: 0; padding-right: 0;">
<input type="text" class="form-control" value="<?=isset($detail['lat'])?$detail['lat']:'';?>" placeholder="纬度" id="lat" name="lat"/>
</div>
<div class="col-sm-1" style="margin: 0;padding: 0;width: 3rem; line-height: 3rem;text-align: center;">--</div>
<div class="col-sm-3" style="margin-left: 0; padding-left: 0;" >
<input type="text" class="form-control" value="<?=isset($detail['longt'])?$detail['longt']:'';?>" placeholder="经度" id="lng" name="lng"/>
</div>
<div class="col-sm-1">
<button type="button" mini="load" w="90%" h="90%" href="<?=Url::toRoute(['index/map','callback'=>'showLatLng','lat'=>isset($detail['lat'])?$detail['lat']:'0','lng'=>isset($detail['longt'])?$detail['longt']:'0']);?>" class="btn btn-w-m btn-primary">从地图选择</button>
</div>
<script>
function showLatLng(lat,lng,detail){
layer.closeAll();
layer.msg('选取经纬度成功!');
$("#lat").val(lat);
$("#lng").val(lng);
$("#address").val(detail);
}
</script>
</div>
<div class="form-group draggable">
<label class="col-sm-1 control-label"><span class="red">*</span> 办公地址:</label>
<div class="col-sm-2">
<input type="text" class="form-control" name="city_title" id="city-title" value="<?=isset($detail['city_title'])?$detail['city_title']:'';?>" placeholder="点击选择所在城市" autocomplete="off" href="<?=Url::toRoute(['city/select','callback'=>'city']);?>" w="80%;" h="90%;" title="选择所在城市" mini="load">
<input type="hidden" class="form-control" name="city" id="city-value" value="<?=isset($detail['city'])?$detail['city']:0;?>">
</div>
<script>
function selectCity(title,id,callback)
{
layer.closeAll();
layer.msg('已选择');
$('#'+callback+'-value').val(id);
$('#'+callback+'-title').val(title);
}
</script>
<div class="col-sm-7">
<input class="form-control" type="text" name="addr" id="address" placeholder="请填写具体位置,如**路**号**楼**室" value="<?=isset($detail['addr'])?$detail['addr']:'';?>" autocomplete="off">
</div>
</div>
<div class="form-group draggable">
<label class="col-sm-1 control-label">是否删除:
</label>
<div class="col-sm-9">
<label class="radio-inline">
<input type="radio" <?=(isset($detail['deleted'])&&$detail['deleted']==1)?'checked':'';?> value="1" id="deleted1" name="deleted">是</label>
<label class="radio-inline">
<input type="radio" <?=((!isset($detail['deleted']))||isset($detail['deleted'])&&$detail['deleted']==0)?'checked':'';?> value="0" id="deleted2" name="deleted">否</label>
</div>
</div>
<div class="hr-line-dashed"></div>
<div class="form-group draggable">
<div class="col-sm-12 col-sm-offset-3">
<button class="btn btn-primary" type="submit">保存</button>
<button class="btn btn-white" type="reset">取消</button>
<a class="btn btn-info" href="<?=Url::toRoute('store/list')?>">全部网点</a>
</div>
</div>
</form>
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
function showImageFrame(obj){
//取预设参数
var id,title,width,height,url;
id = $(obj).attr('data-id');
title = $(obj).attr('data-title');
width = $(obj).attr('data-width');
height = $(obj).attr('data-height');
url = $(obj).attr('data-src');
//iframe层
parent.layer.open({
type: 2,
title: title,
shadeClose: true,
shade: 0.8,
area: [width, height],
content: url //iframe的url
});
}
function deleteImage(elm){
$(elm).prev().attr("src", "../img/nopic.jpg");
$(elm).parent().prev().find("input").val("");
parent.layer.msg('图片已删除;您可重新上传');
}
function selectImage(title,path,src,callback)
{
layer.closeAll();
layer.msg('图片已选择');
$('#'+callback+'-value').val(path);
$('#'+callback+'-preview').attr('src',src);
}
</script>
+90
View File
@@ -0,0 +1,90 @@
<?php
/**
* @Author: fm453
* @Date: 2018-11-23 12:17:02
* @Last Modified by: fm453
* @Last Modified time: 2020-10-07 10:10:11
* @Email: fm453@lukegzs.com
*/
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
use yii\helpers\Url;
use yii\widgets\LinkPager;
$this->title = '网点列表';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-content">
<h1><?= Html::encode($this->title) ?></h1>
<div class="row">
<div class="col-sm-3">
<a class="btn btn-info btn-sm" href="<?= Url::toRoute('store/new')?>">新增网点</a>
</div>
<div class="col-sm-3 pull-right">
<form action="<?=Url::current(['pid' => Yii::$app->session->get('pid')], false);?>" method="post">
<input type="hidden" name="_csrf-backend" value="<?= Yii::$app->getRequest()->getCsrfToken();?>" />
<div class="input-group">
<input type="text" placeholder="请输入网点名" name="title" class="input-sm form-control" value="<?=$search['title']?>">
<span class="input-group-btn">
<button type="submit" class="btn btn-sm btn-primary"> 搜索</button>
</span>
</div>
</form>
</div>
</div>
<hr>
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>序号</th>
<th>区域地址</th>
<th>名称</th>
<th>状态</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<?php foreach($stores as $vo):?>
<tr>
<td><?=$vo['id']?></td>
<td>【<code><?=isset($citys[$vo['city']]['name'])?$citys[$vo['city']]['name']:'未设置'?></code>】<?=$vo['addr']?></td>
<td><?=$vo['title']?></td>
<td>
<?php if($vo['status_code']==1){?>
<label class="btn btn-info btn-xs"><?=$status[$vo['status_code']]?></label>
<?php }else{?>
<label class="btn btn-default btn-xs"><?=$status[$vo['status_code']]?></label>
<?php }?>
</td>
<td>
<a class="btn btn-primary btn-xs" onclick="parent.selectStore('<?=$vo['title']?>','<?=$vo['id']?>','<?=$callback?>');">选择</a>
</td>
</tr>
<?php endforeach;?>
</tbody>
</table>
<!--分页-->
<div class="f-r">
<?= LinkPager::widget([
'pagination'=>$pager,
'firstPageLabel' => '首页',
'nextPageLabel' => '下一页',
'prevPageLabel' => '上一页',
'lastPageLabel' => '末页',
]) ?>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
+34
View File
@@ -0,0 +1,34 @@
<?php
use yii\helpers\Html;
use yii\helpers\Url;
?>
<div class="wrapper wrapper-content">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>板车资料</h5>
</div>
<div class="ibox-content">
<div class="row">
<div class="col-sm-12">
<table class="table">
<tbody>
<tr>
<td>车牌:</td>
<td>主驾司机</td>
<td>副驾司机</td>
<td>板位</td>
</tr>
<tr>
<td><?=$detail['num_p']?><?=$detail['num_area']?><?=$detail['num_left']?></td>
<td><?=isset($detail['driver_title'])?$detail['driver_title']:'';?> - <code><?=isset($detail['driver_mobile'])?$detail['driver_mobile']:'';?></code></td>
<td><?=isset($detail['driver2_title'])?$detail['driver2_title']:'';?> - <code><?=isset($detail['driver2_mobile'])?$detail['driver2_mobile']:'';?></code></td>
<td><?=isset($detail['max_cars'])?($detail['max_cars']>=10?10:$detail['max_cars']):8?></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
+104
View File
@@ -0,0 +1,104 @@
<?php
/**
* @Author: fm453
* @Date: 2018-11-23 12:17:02
* @Last Modified by: fm453
* @Last Modified time: 2021-07-23 13:21:49
* @Email: fm453@lukegzs.com
*/
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
use yii\helpers\Url;
use yii\widgets\LinkPager;
$this->title = '板车列表';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-content">
<h1><?= Html::encode($this->title) ?></h1>
<div class="row">
<div class="col-sm-3">
<a class="btn btn-info btn-sm" href="<?= Url::toRoute('truck/new')?>">新增板车</a>
</div>
<div class="col-sm-3 pull-right">
<form action="<?=Url::current(['pid' => Yii::$app->session->get('pid')], false);?>" method="post">
<input type="hidden" name="_csrf-backend" value="<?= Yii::$app->getRequest()->getCsrfToken();?>" />
<div class="input-group">
<input class="input-sm form-control" type="text" placeholder="请输入板车车牌尾数" name="title" value="<?=$search['title']?>">
<span class="input-group-btn">
<button type="submit" class="btn btn-sm btn-primary"> 搜索</button>
</span>
</div>
</form>
</div>
</div>
<hr>
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>序号|排序</th>
<th>司机|车牌【板位】</th>
<th>状态</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<?php foreach($trucks as $vo):?>
<tr>
<td>
<p><?=$vo['id']?></p>
<p><code>【<?=$vo['order_by']?>】</code></p>
</td>
<td>
<p>【<code><?=isset($drivers[$vo['driver_id']]['name'])?$drivers[$vo['driver_id']]['name']:'未设置'?></code>】</p>
<p><?=$vo['num_p'].$vo['num_area']?>・<?=$vo['num_left']?><code>【<?=$vo['max_cars']?>】</code>位</p>
</td>
<td>
<?php if($vo['status_code']==1){?>
<label class="btn btn-info btn-xs"><?=isset($status[$vo['status_code']]) ? $status[$vo['status_code']] : '未知'?></label>
<?php }else{?>
<label class="btn btn-default btn-xs"><?=isset($status[$vo['status_code']]) ? $status[$vo['status_code']] : '未知'?></label>
<?php }?>
</td>
<td>
<p>
<a class="btn btn-primary btn-xs" href="<?=Url::toRoute(['truck/ajax','id'=>$vo['id'],'do'=>'show'])?>" mini="ajax">入库</a>
<a class="btn btn-default btn-xs" href="<?=Url::toRoute(['truck/ajax','id'=>$vo['id'],'do'=>'hide'])?>" mini="ajax">停用</a>
<a class="btn btn-danger btn-xs" href="<?=Url::toRoute(['truck/ajax','id'=>$vo['id'],'do'=>'lock'])?>" mini="ajax">锁定</a>
<a class="btn btn-warning btn-xs" href="<?=Url::toRoute(['truck/ajax','id'=>$vo['id'],'do'=>'repair'])?>" mini="ajax">检修</a>
<a class="btn btn-info btn-xs" href="<?=Url::toRoute(['truck/ajax','id'=>$vo['id'],'do'=>'reset'])?>" mini="ajax">保养</a>
<a class="btn btn-success btn-xs" href="<?=Url::toRoute(['truck/ajax','id'=>$vo['id'],'do'=>'working'])?>" mini="ajax">恢复正常</a>
</p>
<a class="btn btn-success btn-xs" href="<?=Url::toRoute(['truck/fache','id'=>$vo['id']])?>" mini="act">发车</a>
<a class="btn btn-primary btn-xs" href="<?=Url::toRoute(['truck/edit','id'=>$vo['id']])?>"><i class="fa fa-edit"></i>编辑</a>
<a title="点击将删除" href="<?=Url::toRoute(['truck/delete','id'=>$vo['id']])?>" class="btn btn-xs btn-danger" mini="act"><i class="fa fa-trash bigger-120"></i>删除</a>
</td>
</tr>
<?php endforeach;?>
</tbody>
</table>
<!--分页-->
<div class="f-r">
<?= LinkPager::widget([
'pagination'=>$pager,
'firstPageLabel' => '首页',
'nextPageLabel' => '下一页',
'prevPageLabel' => '上一页',
'lastPageLabel' => '末页',
]) ?>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
+182
View File
@@ -0,0 +1,182 @@
<?php
use yii\helpers\Html;
use yii\helpers\Url;
?>
<!--日期时间选择器-->
<?=Html::jsFile('@web/js/plugins/layer/laydate/laydate.js')?>
<?=Html::cssFile('@web/js/plugins/layer/laydate/need/laydate.css')?>
<?=Html::cssFile('@web/js/plugins/layer/laydate/skins/molv/laydate.css')?>
<!--滑块选择器-->
<?=Html::cssFile('@web/css/plugins/ionRangeSlider/ion.rangeSlider.css')?>
<?=Html::cssFile('@web/css/plugins/ionRangeSlider/ion.rangeSlider.skinFlat.css')?>
<?=Html::jsFile('@web/js/plugins/ionRangeSlider/ion.rangeSlider.min.js')?>
<!--旋扭输入-->
<?=Html::jsFile('@web/js/plugins/jsKnob/jquery.knob.js')?>
<!--下拉选择、选项框-->
<?=Html::cssFile('@web/css/plugins/chosen/chosen.css')?>
<?=Html::jsFile('@web/js/plugins/chosen/chosen.jquery.js')?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>板车资料</h5>
<div class="ibox-tools">
<a class="collapse-link">
<i class="fa fa-chevron-up"></i>
</a>
<a class="close-link">
<i class="fa fa-times"></i>
</a>
</div>
</div>
<div class="ibox-content">
<div class="alert alert-info">
此处录入公司大板车辆的基础资料
</div>
<form role="form" class="form-horizontal m-t" method="post" action="<?=Url::toRoute('truck/save')?>" >
<input type="hidden" name="_csrf-backend" value="<?=Yii::$app->getRequest()->getCsrfToken();?>" />
<input type="hidden" name="id" value="<?=isset($detail['id'])?$detail['id']:0;?>">
<div class="form-group draggable">
<label class="col-sm-1 control-label"><span class="red">*</span>车牌:</label>
<div class="col-sm-6">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary">省份标识</button>
</span>
<select data-placeholder="" class="form-control chosen-select" tabindex="3" name="num_p">
<option value=""></option>
<?php foreach(Yii::$app->params['carRegion'] as $key=>$val){?>
<option value="<?=$val?>" hassubinfo="true" <?=isset($detail['num_p']) && $detail['num_p']==$val ? 'selected':'';?>><?=$val?></option>
<?php }?>
</select>
<span class="input-group-btn">
<button type="button" class="btn btn-primary">区域代码</button>
</span>
<select data-placeholder="" class="form-control chosen-select" tabindex="4" name="num_area">
<option value=""></option>
<?php foreach(Yii::$app->params['letters'] as $val){?>
<option value="<?=$val?>" hassubinfo="true" <?=isset($detail['num_area']) && $detail['num_area']==$val ? 'selected':'';?>><?=$val?></option>
<?php }?>
</select>
<span class="input-group-btn">
<button type="button" class="btn btn-primary">尾号</button>
</span>
<input class="form-control" type="text" name="num_left" placeholder="车牌尾数" autocomplete="off" value="<?=isset($detail['num_left'])?$detail['num_left']: ''?>">
</div>
</div>
<label class="col-sm-1 control-label">排序:</label>
<div class="col-sm-2">
<input class="form-control" type="text" name="order_by" placeholder="" autocomplete="off" value="<?=isset($detail['order_by'])?$detail['order_by']: ''?>">
</div>
</div>
<div class="form-group draggable">
<label class="col-sm-1 control-label">板位:</label>
<div class="col-sm-9">
<input id="max_cars" name="max_cars" type="number" value="<?=isset($detail['max_cars'])?($detail['max_cars']>=10?10:$detail['max_cars']):8?>">
</div>
<script>
var max_cars = <?=isset($detail['max_cars'])?($detail['max_cars']>=10?10:$detail['max_cars']):8?>;
max_cars = max_cars < 0 ? 0 : max_cars;
$("#max_cars").ionRangeSlider({
min: 0,
max: 10,
postfix: " 位板",
from: max_cars
});
</script>
</div>
<div class="form-group draggable">
<label class="col-sm-1 control-label">主驾司机:</label>
<div class="col-sm-4">
<input type="text" class="form-control" name="driver_title" id="driver-title" value="<?=isset($detail['driver_title'])?$detail['driver_title']:'';?>" placeholder="点击选择关联司机" autocomplete="off" href="<?=Url::toRoute(['driver/select','callback'=>'driver']);?>" w="80%;" h="90%;" title="选择关联司机" mini="load">
<input type="hidden" class="form-control" name="driver" id="driver-value" value="<?=isset($detail['driver_id'])?$detail['driver_id']:0;?>">
</div>
<label class="col-sm-1 control-label">副驾司机:</label>
<div class="col-sm-4">
<input type="text" class="form-control" name="driver2_title" id="driver2-title" value="<?=isset($detail['driver2_title'])?$detail['driver2_title']:'';?>" placeholder="点击选择关联司机" autocomplete="off" href="<?=Url::toRoute(['driver/select','callback'=>'driver2']);?>" w="80%;" h="90%;" title="选择关联司机" mini="load">
<input type="hidden" class="form-control" name="driver2" id="driver2-value" value="<?=isset($detail['driver2_id'])?$detail['driver2_id']:0;?>">
</div>
<script>
function selectDriver(title,id,callback)
{
layer.closeAll();
layer.msg('已选择');
$('#'+callback+'-value').val(id);
$('#'+callback+'-title').val(title);
}
</script>
</div>
<div class="form-group draggable">
<label class="col-sm-1 control-label">板车状态:</label>
<div class="col-sm-9">
<?php foreach($status as $vo=>$ko):?>
<div class="radio radio-primary radio-inline">
<input type="radio" <?=((isset($detail['status_code'])&&$detail['status_code']==$vo)||(!isset($detail['status_code'])&&$vo==1))?'checked':'';?> value="<?=$vo?>" id="status_code" name="status_code" disabled="">
<label for="status_code"><?=$ko?></label>
</div>
<?php endforeach;?>
</div>
</div>
<div class="hr-line-dashed"></div>
<div class="form-group draggable">
<div class="col-sm-12 col-sm-offset-3">
<button class="btn btn-primary" type="submit">保存内容</button>
<button class="btn btn-white" type="submit">取消</button>
</div>
</div>
</form>
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
function showImageFrame(obj){
//取预设参数
var id,title,width,height,url;
id = $(obj).attr('data-id');
title = $(obj).attr('data-title');
width = $(obj).attr('data-width');
height = $(obj).attr('data-height');
url = $(obj).attr('data-src');
//iframe层
parent.layer.open({
type: 2,
title: title,
shadeClose: true,
shade: 0.8,
area: [width, height],
content: url //iframe的url
});
}
function deleteImage(elm){
$(elm).prev().attr("src", "../img/nopic.jpg");
$(elm).parent().prev().find("input").val("");
parent.layer.msg('图片已删除;您可重新上传');
}
function selectImage(title,path,src,callback)
{
layer.closeAll();
layer.msg('图片已选择');
$('#'+callback+'-value').val(path);
$('#'+callback+'-preview').attr('src',src);
}
</script>
+89
View File
@@ -0,0 +1,89 @@
<?php
/**
* @Author: fm453
* @Date: 2018-11-23 12:17:02
* @Last Modified by: fm453
* @Last Modified time: 2020-09-12 22:45:24
* @Email: fm453@lukegzs.com
*/
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
use yii\helpers\Url;
use yii\widgets\LinkPager;
$this->title = '板车列表';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-content">
<h1><?= Html::encode($this->title) ?></h1>
<div class="row">
<div class="col-sm-3 pull-right">
<form action="<?=Url::current(['pid' => Yii::$app->session->get('pid')], false);?>" method="post">
<input type="hidden" name="_csrf-backend" value="<?= Yii::$app->getRequest()->getCsrfToken();?>" />
<div class="input-group">
<input class="input-sm form-control" type="text" placeholder="请输入板车车牌尾数" name="title" value="<?=$search['title']?>">
<span class="input-group-btn">
<button type="submit" class="btn btn-sm btn-primary"> 搜索</button>
</span>
</div>
</form>
</div>
</div>
<hr>
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>序号</th>
<th>司机</th>
<th>车牌</th>
<th>板位</th>
<th>状态</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<?php foreach($trucks as $vo):?>
<tr>
<td><?=$vo['id']?></td>
<td>【<code><?=isset($drivers[$vo['driver_id']]['name'])?$drivers[$vo['driver_id']]['name']:'未设置'?></code>】</td>
<td><?=$vo['num_p'].$vo['num_area']?>・<?=$vo['num_left']?></td>
<td><?=$vo['max_cars']?></td>
<td>
<?php if($vo['status_code']==1){?>
<label class="btn btn-info btn-xs"><?=isset($status[$vo['status_code']]) ? $status[$vo['status_code']] : '未知'?></label>
<?php }else{?>
<label class="btn btn-default btn-xs"><?=isset($status[$vo['status_code']]) ? $status[$vo['status_code']] : '未知'?></label>
<?php }?>
</td>
<td>
<a class="btn btn-primary btn-xs" onclick="parent.selectTruck('<?=$vo['num_p'].$vo['num_area'].$vo['num_left']?>','<?=$vo['id']?>','<?=$callback?>');">选择</a>
</td>
</tr>
<?php endforeach;?>
</tbody>
</table>
<!--分页-->
<div class="f-r">
<?= LinkPager::widget([
'pagination'=>$pager,
'firstPageLabel' => '首页',
'nextPageLabel' => '下一页',
'prevPageLabel' => '上一页',
'lastPageLabel' => '末页',
]) ?>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
+230
View File
@@ -0,0 +1,230 @@
<?php
use yii\helpers\Html;
use yii\helpers\Url;
?>
<!--日期时间选择器-->
<?=Html::jsFile('@web/js/plugins/layer/laydate/laydate.js')?>
<?=Html::cssFile('@web/js/plugins/layer/laydate/need/laydate.css')?>
<?=Html::cssFile('@web/js/plugins/layer/laydate/skins/molv/laydate.css')?>
<!--下拉选择、选项框-->
<?=Html::cssFile('@web/css/plugins/chosen/chosen.css')?>
<?=Html::jsFile('@web/js/plugins/chosen/chosen.jquery.js')?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>客车上板信息 <a title="承运客车详情" class="label label-primary pull-right" href="<?=Url::toRoute(['car/detail','id'=>$detail['car_id']])?>" mini="load" w="80%" h="50%">查看客车详情</a></h5>
<div class="ibox-tools">
<a class="collapse-link">
<i class="fa fa-chevron-up"></i>
</a>
<a class="close-link">
<i class="fa fa-times"></i>
</a>
</div>
</div>
<div class="ibox-content">
<form role="form" class="form-horizontal m-t" method="post" action="<?=Url::toRoute('truckcar/save2')?>" >
<input type="hidden" name="_csrf-backend" value="<?=Yii::$app->getRequest()->getCsrfToken();?>" />
<input type="hidden" name="id" value="<?=isset($detail['id'])?$detail['id']:0;?>">
<input type="hidden" name="order_id" value="<?=isset($detail['order_id'])?$detail['order_id']:0;?>">
<input type="hidden" name="car_id" value="<?=isset($detail['car_id'])?$detail['car_id']:0;?>">
<div class="form-group">
<label class="col-sm-1 control-label"> <span class="red">*</span> 关联板车:</label>
<div class="col-sm-4">
<div class="input-group">
<input type="text" class="form-control" name="truck_num" id="online-title" value="<?=isset($detail['truck_num'])?$detail['truck_num']:'';?>" placeholder="请选择关联的上板板车" autocomplete="off">
<input type="hidden" class="form-control" name="online_id" id="online-value" value="<?=isset($detail['online_id'])?$detail['online_id']:0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-primary" href="<?=Url::toRoute(['truckol/select2','callback'=>'online']);?>" w="80%;" h="90%;" title="选择关联板车" mini="load">选择板车</button>
</span>
</div>
</div>
<script>
function selectTruckol(title,id,callback)
{
layer.closeAll();
layer.msg('已选择');
$('#'+callback+'-value').val(id);
$('#'+callback+'-title').val(title);
}
</script>
<label class="col-sm-1 control-label">承运司机:</label>
<div class="col-sm-2">
<div class="input-group">
<input type="text" class="form-control" name="driver_name" id="driver-title" value="<?=isset($detail['driver_name'])?$detail['driver_name']:'';?>" placeholder="请关联司机" autocomplete="off" readonly="true">
<input type="hidden" class="form-control" name="driver" id="driver-value" value="<?=isset($detail['driver_id'])?$detail['driver_id']:0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-primary" href="<?=Url::toRoute(['driver/select','callback'=>'driver']);?>" w="80%;" h="90%;" title="选择关联司机" mini="load">选择司机</button>
</span>
</div>
</div>
<script>
function selectDriver(title,id,callback)
{
layer.closeAll();
layer.msg('已选择');
$('#'+callback+'-value').val(id);
$('#'+callback+'-title').val(title);
}
</script>
<div class="col-sm-3">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-info">联系电话</button>
</span>
<input type="text" class="form-control" name="driver_mobiles" id="driver_mobiles" value="<?=isset($detail['driver_mobiles'])?$detail['driver_mobiles']:'';?>" >
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">始发日期:</label>
<div class="col-sm-2">
<input class="form-control layer-date" type="text" name="from_time" placeholder="请选择日期" autocomplete="off" onclick="laydate({istime: false, format: 'YYYY-MM-DD'})" value="<?=isset($detail['from_time'])?date('Y-m-d',$detail['from_time']):''?>">
</div>
<label class="col-sm-1 control-label">始发城市:</label>
<div class="col-sm-2">
<input type="text" class="form-control" name="from_city" id="from_city" value="<?=isset($detail['from_city'])?$detail['from_city']:'';?>" placeholder="请输入起运的城市名" autocomplete="off">
</div>
<label class="col-sm-1 control-label">始发网点:</label>
<div class="col-sm-3">
<div class="input-group">
<input type="text" class="form-control" name="fromstore_name" id="store-title" value="<?=isset($detail['fromstore_title'])?$detail['fromstore_title']:'';?>" placeholder="请关联网点" autocomplete="off">
<input type="hidden" class="form-control" name="from_store" id="store-value" value="<?=isset($detail['from_store'])?$detail['from_store']:0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-primary" href="<?=Url::toRoute(['store/select','callback'=>'store']);?>" w="80%;" h="90%;" title="选择始发网点/门店" mini="load">选择网点</button>
</span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">目标城市:</label>
<div class="col-sm-2">
<input type="text" class="form-control" name="to_city" id="to_city" value="<?=isset($detail['to_city'])?$detail['to_city']:'';?>" placeholder="请输入要运达的城市名" autocomplete="off">
</div>
<label class="col-sm-1 control-label">目标网点:</label>
<div class="col-sm-3">
<div class="input-group">
<input type="text" class="form-control" name="endstore_name" id="store2-title" value="<?=isset($detail['endstore_title'])?$detail['endstore_title']:'';?>" placeholder="请关联网点" autocomplete="off">
<input type="hidden" class="form-control" name="to_store" id="store2-value" value="<?=isset($detail['end_store'])?$detail['end_store']:0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-primary" href="<?=Url::toRoute(['store/select','callback'=>'store2']);?>" w="80%;" h="90%;" title="选择运达网点/门店" mini="load">选择网点</button>
</span>
</div>
</div>
</div>
<script>
function selectStore(title,id,callback)
{
layer.closeAll();
layer.msg('已选择');
$('#'+callback+'-value').val(id);
$('#'+callback+'-title').val(title);
}
</script>
<div class="form-group">
<label class="col-sm-1 control-label">备注:</label>
<div class="col-sm-9">
<textarea class="form-control" type="text" name="remark" placeholder="您可在此添加一些备注信息" autocomplete="off" ><?=isset($detail['remark'])?$detail['remark']:'';?></textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">运达日期:</label>
<div class="col-sm-3">
<input class="form-control layer-date" type="text" name="to_time" placeholder="请选择日期" autocomplete="off" onclick="laydate({istime: false, format: 'YYYY-MM-DD'})" value="<?=isset($detail['to_time'])?date('Y-m-d',$detail['to_time']):''?>">
</div>
</div>
<div class="form-group hidden">
<label class="col-sm-1 control-label">状态:</label>
<div class="col-sm-9">
<?php foreach($status as $vo=>$ko):?>
<div class="radio radio-primary radio-inline">
<input type="radio" <?=((isset($detail['status_code'])&&$detail['status_code']==$vo)||(!isset($detail['status_code'])&&$vo==1))?'checked':'';?> value="<?=$vo?>" name="status_code" disabled="disabled">
<label for="status_code"><?=$ko?></label>
</div>
<?php endforeach;?>
</div>
</div>
<div class="hr-line-dashed"></div>
<div class="form-group draggable">
<div class="col-sm-12 col-sm-offset-3">
<button class="btn btn-primary" type="submit">保存内容</button>
<button class="btn btn-white" type="reset">取消</button>
</div>
</div>
</form>
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
function showImageFrame(obj){
//取预设参数
var id,title,width,height,url;
id = $(obj).attr('data-id');
title = $(obj).attr('data-title');
width = $(obj).attr('data-width');
height = $(obj).attr('data-height');
url = $(obj).attr('data-src');
//iframe层
parent.layer.open({
type: 2,
title: title,
shadeClose: true,
shade: 0.8,
area: [width, height],
content: url //iframe的url
});
}
function deleteImage(elm){
$(elm).prev().attr("src", "../img/nopic.jpg");
$(elm).parent().prev().find("input").val("");
parent.layer.msg('图片已删除;您可重新上传');
}
function selectImage(title,path,src,callback)
{
layer.closeAll();
layer.msg('图片已选择');
$('#'+callback+'-value').val(path);
$('#'+callback+'-preview').attr('src',src);
}
</script>
<script>
laydate.skin('molv');
</script>
<style>
.laydate_body .laydate_top{
padding:0;
}
.laydate_body .laydate_ym{
/*margin:0;
padding:5px;*/
}
.laydate_body .laydate_table{
border:0;
border-bottom: 1px solid rgb(204, 204, 204);
}
.laydate_body .laydate_bottom {
border: 0;
margin-bottom: 10px;
}
</style>
+45
View File
@@ -0,0 +1,45 @@
<?php
use yii\helpers\Html;
use yii\helpers\Url;
?>
<div class="wrapper wrapper-content">
<div class="ibox-title">
<h5>板车承运任务摘要信息 <code>【<?=isset($truckol['truck_num'])?$truckol['truck_num']:0;?>】</code></h5>
</div>
<div class="ibox-content">
<div class="row">
<div class="col-sm-6">
<address>
<h4>承运司机</h4>
<abbr>姓 名:</abbr><?=isset($truckol['driver_name'])?$truckol['driver_name']:'';?><br>
<abbr>电 话:</abbr><?=isset($truckol['driver_mobiles'])?$truckol['driver_mobiles']:'';?><br>
<abbr>身份证:</abbr><?=isset($truckol['driver_idcard'])?$truckol['driver_idcard']:'';?><br>
</address>
</div>
<div class="col-sm-6 text-right">
<h4>行程信息:</h4>
<span>始发:<span class="text-navy"><?=isset($truckol['fromstore_title'])?$truckol['fromstore_title']:'';?></span> 【<?=isset($truckol['from_date'])?date('Y-m-d',$truckol['from_date']):''?></span>】<br>
<span>运达:<span class="text-navy"><?=isset($truckol['endstore_title'])?$truckol['endstore_title']:'';?></span>【<?=isset($truckol['end_date'])?date('Y-m-d',$truckol['end_date']):''?>】</span><br>
<span>目的地:<?=isset($truckol['end_city'])?$truckol['end_city']:'';?></span>
</div>
</div>
<div>
备注:<?=isset($truckol['remark'])?$truckol['remark']:'';?>
</div>
<table class="table">
<tbody>
<tr>
<td><a class="btn btn-primary" href="<?= Url::toRoute(['truckcar/new','callback'=>'truckonline'])?>" mini="load" w="100%" h="90%" data-toggle="tooltip" data-placement="right" title="装车完成后请重新打开或手动刷新本页面">新增装车</a></td>
<td>装车任务状态<kbd><?=isset($truckOnLineStatus[(isset($truckol['status_code'])?$truckol['status_code']:0)])?$truckOnLineStatus[(isset($truckol['status_code'])?$truckol['status_code']:0)]:'未知'?></kbd></td>
<td><kbd>共计装车</kbd> <code id="truckol-cars"><?=isset($truckol['cars'])?$truckol['cars']:0;?></code> 辆</td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
</div>
</div>
+235
View File
@@ -0,0 +1,235 @@
<?php
/**
* @Author: fm453
* @Date: 2018-11-23 12:17:02
* @Last Modified by: fm453
* @Last Modified time: 2020-09-13 18:07:21
* @Email: fm453@lukegzs.com
*/
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
use yii\helpers\Url;
use yii\widgets\LinkPager;
$this->title = '板车承运清单汇总';
$this->params['breadcrumbs'][] = $this->title;
?>
<!--日期时间选择器-->
<?=Html::jsFile('@web/js/plugins/layer/laydate/laydate.js')?>
<?=Html::cssFile('@web/js/plugins/layer/laydate/need/laydate.css')?>
<?=Html::cssFile('@web/js/plugins/layer/laydate/skins/molv/laydate.css')?>
<style>
.laydate_body .laydate_top{
padding:0;
}
.laydate_body .laydate_ym{
/*margin:0;
padding:5px;*/
}
.laydate_body .laydate_table{
border:0;
border-bottom: 1px solid rgb(204, 204, 204);
}
.laydate_body .laydate_bottom {
border: 0;
margin-bottom: 10px;
}
</style>
<!--下拉选择、选项框-->
<?=Html::cssFile('@web/css/plugins/chosen/chosen.css')?>
<?=Html::jsFile('@web/js/plugins/chosen/chosen.jquery.js')?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-content" style="text-align: center;">
<h1>搜索与筛选</h1>
<form role="form" class="form-horizontal m-t" action="<?=Url::current(['pid' => Yii::$app->session->get('pid')], false);?>" method="post">
<input type="hidden" name="_csrf-backend" value="<?= Yii::$app->getRequest()->getCsrfToken();?>" />
<div class="form-group">
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-sm btn-primary">承运月份</button>
</span>
<input class="input-sm form-control layer-date" type="text" name="search[start_m]" placeholder="请选择月份" autocomplete="off" onclick="laydate({istime: false, format: 'YYYY-MM'})" value="<?=isset($search['start_m'])?$search['start_m']:''?>">
</div>
</div>
<div class="col-sm-2">
<div class="input-group">
<input class="form-control" type="text" placeholder="起运城市" name="search[start_city]" id="start_city" value="<?=isset($search['start_city'])?$search['start_city']:'';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info" onclick="clearInput(this)">清除</button>
</span>
</div>
</div>
<div class="col-sm-2">
<div class="input-group">
<input class="form-control" type="text" placeholder="目标城市" name="search[aim_city]" id="aim_city" value="<?=isset($search['aim_city'])?$search['aim_city']:'';?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info" onclick="clearInput(this)">清除</button>
</span>
</div>
</div>
<div class="col-sm-3">
<div class="input-group">
<input type="text" class="form-control" name="car_title" id="car-title" value="<?=isset($search['car_title'])?$search['car_title']:'';?>" placeholder="点击选择关联客户车辆" autocomplete="off" href="<?=Url::toRoute(['car/select','callback'=>'car']);?>" w="80%;" h="90%;" title="选择关联客户车辆" mini="load">
<input type="hidden" class="form-control" name="search[car_id]" id="car-value" value="<?=isset($search['car_id'])?$search['car_id']:0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-info" onclick="clearCar('car')">清除选择</button>
</span>
</div>
</div>
<script>
function selectCar(title,id,number,username,callback)
{
layer.closeAll();
layer.msg('已选择');
$('#'+callback+'-value').val(id);
$('#'+callback+'-title').val(title+number);
}
function clearCar(id)
{
$('#'+id+'-value').val('');
$('#'+id+'-title').val('');
}
</script>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">承运状态:</label>
<div class="col-sm-9">
<?php foreach($status as $vo=>$ko):?>
<div class="radio radio-primary radio-inline">
<input type="radio" <?=(isset($search['status_code'])&&$search['status_code']==$vo)?'checked':'';?> value="<?=$vo?>" id="status_code" name="search[status_code]">
<label for="status_code"><?=$ko?></label>
</div>
<?php endforeach;?>
<div class="radio radio-primary radio-inline">
<input type="radio" <?=((isset($search['status_code'])&&$search['status_code']=='all')|| !isset($search['status_code']))? 'checked' : '';?> value="all" id="status_code" name="search[status_code]">
<label for="status_code">全部</label>
</div>
</div>
</div>
<script>
function clearInput(obj)
{
$(obj).parent().prev().val('');
}
</script>
<div class="form-group">
<div class="col-sm-12">
<button type="submit" value="submit" class="btn btn-sm btn-warning dim"> 搜索</button>
<button hidden="true" type="button" value="export" class="btn btn-sm btn-success dim" href="<?=Url::current(['export' => 'all']);?>" w="50%;" h="50%;" title="导出当前全部数据" mini="load"> 导出</button>
</div>
</div>
</form>
</div>
<!--分页-->
<div class="ibox-content" style="padding:0;text-align: center;">
<div class="f-r">
<?= LinkPager::widget([
'pagination'=>$pager,
'firstPageLabel' => '首页',
'nextPageLabel' => '下一页',
'prevPageLabel' => '上一页',
'lastPageLabel' => '末页',
]) ?>
</div>
</div>
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-content"><?= Html::encode($this->title) ?>
<hr>
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>序号</th>
<th>运单与车辆</th>
<th>行程计划</th>
<th>状态</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<?php foreach($list as $vo):?>
<tr>
<td><?=$vo['id']?></td>
<td>【<code><a title="点击查看详情" class="label label-info label-md" href="<?=Url::toRoute(['order/detail','id'=>$vo['order_id']])?>" mini="load" w="80%" h="80%"><?=isset($vo['order_id'])?$vo['order_id']:''?></a></code>】<br>
<a title="点击查看详情" class="label label-primary label-md" href="<?=Url::toRoute(['car/detail','id'=>$vo['car_id']])?>" mini="load" w="80%" h="50%"><code><?=isset($cars[$vo['car_id']]['title'])?$cars[$vo['car_id']]['title']:''?></code><?=isset($cars[$vo['car_id']]['num_p'])?$cars[$vo['car_id']]['num_p']:''?><?=isset($cars[$vo['car_id']]['num_area'])?$cars[$vo['car_id']]['num_area']:''?><?=isset($cars[$vo['car_id']]['num_left'])?$cars[$vo['car_id']]['num_left']:''?> <?=isset($cars[$vo['car_id']]['num_frame'])?$cars[$vo['car_id']]['num_frame']:''?></a>
</td>
<td>
<?=isset($vo['from_city'])?$vo['from_city']:'起运地'?>~<?=isset($vo['to_city'])?$vo['to_city']:'目的地'?><br>
<?=isset($vo['from_time'])?date('Y-m-d',$vo['from_time']):'起运日期'?>~<?=isset($vo['to_time'])?date('Y-m-d',$vo['to_time']):'到达日期'?>
</td>
<td>
<?php if($vo['status_code']==1){?>
<label class="btn btn-info btn-xs"><?=isset($status[$vo['status_code']]) ? $status[$vo['status_code']] : '未知'?></label>
<?php }else{?>
<label class="btn btn-default btn-xs"><?=isset($status[$vo['status_code']]) ? $status[$vo['status_code']] : '未知'?></label>
<?php }?>
</td>
<td>
<p>
<a class="btn btn-primary btn-xs" href="<?=Url::toRoute(['truckcar/ajax','id'=>$vo['id'],'do'=>'intruck'])?>" mini="ajax">上板</a>
<a class="btn btn-success btn-xs" href="<?=Url::toRoute(['truckcar/ajax','id'=>$vo['id'],'do'=>'arrive'])?>" mini="ajax">运达</a>
<a title="车辆出现质损,需要处理;该状态对客人不可见,运单仍显示“运输中”状态" class="btn btn-warning btn-xs" href="<?=Url::toRoute(['truckcar/ajax','id'=>$vo['id'],'do'=>'fix'])?>" mini="act">处理质损</a>
<a class="btn btn-info btn-xs" href="<?=Url::toRoute(['truckol/cars','id'=>$vo['online_id']])?>" mini="load" w="90%" h="90%">全部在板车辆</a>
</p>
<a class="btn btn-primary btn-xs" href="<?=Url::toRoute(['truckcar/edit','id'=>$vo['id']])?>"><i class="fa fa-edit"></i>编辑</a>
<a class="btn btn-info btn-xs" href="<?=Url::toRoute(['truckol/detail','id'=>$vo['online_id']])?>" mini="load" w="80%" h="80%"><i class="fa fa-eye"></i>行程计划</a>
<a title="点击将删除" href="<?=Url::toRoute(['truckcar/delete','id'=>$vo['id']])?>" class="btn btn-xs btn-danger" mini="act"><i class="fa fa-trash bigger-120"></i>删除</a>
</td>
</tr>
<?php endforeach;?>
</tbody>
</table>
<!--分页-->
<div class="f-r">
<?= LinkPager::widget([
'pagination'=>$pager,
'firstPageLabel' => '首页',
'nextPageLabel' => '下一页',
'prevPageLabel' => '上一页',
'lastPageLabel' => '末页',
]) ?>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
laydate.skin('molv');
$(document).ready(function() {
var config = {
".chosen-select": {},
".chosen-select-deselect": {
allow_single_deselect: !0
},
".chosen-select-no-single": {
disable_search_threshold: 10
},
".chosen-select-no-results": {
no_results_text: "Oops, nothing found!"
},
".chosen-select-width": {
width: "95%"
}
};
for (var selector in config) $(selector).chosen(config[selector]);
});
</script>
+229
View File
@@ -0,0 +1,229 @@
<?php
use yii\helpers\Html;
use yii\helpers\Url;
?>
<!--日期时间选择器-->
<?=Html::jsFile('@web/js/plugins/layer/laydate/laydate.js')?>
<?=Html::cssFile('@web/js/plugins/layer/laydate/need/laydate.css')?>
<?=Html::cssFile('@web/js/plugins/layer/laydate/skins/molv/laydate.css')?>
<!--下拉选择、选项框-->
<?=Html::cssFile('@web/css/plugins/chosen/chosen.css')?>
<?=Html::jsFile('@web/js/plugins/chosen/chosen.jquery.js')?>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>客车上板信息 <a title="承运客车详情" class="label label-primary pull-right" href="<?=Url::toRoute(['car/detail','id'=>$detail['car_id']])?>" mini="load" w="80%" h="50%">查看客车详情</a></h5>
<div class="ibox-tools">
<a class="collapse-link">
<i class="fa fa-chevron-up"></i>
</a>
<a class="close-link">
<i class="fa fa-times"></i>
</a>
</div>
</div>
<div class="ibox-content">
<form role="form" class="form-horizontal m-t" method="post" action="<?=Url::toRoute('truckcar/save')?>" >
<input type="hidden" name="_csrf-backend" value="<?=Yii::$app->getRequest()->getCsrfToken();?>" />
<input type="hidden" name="id" value="<?=isset($detail['id'])?$detail['id']:0;?>">
<input type="hidden" name="order_id" value="<?=isset($detail['order_id'])?$detail['order_id']:0;?>">
<div class="form-group">
<label class="col-sm-1 control-label"> <span class="red">*</span> 关联板车:</label>
<div class="col-sm-4">
<div class="input-group">
<input type="text" class="form-control" name="truck_num" id="online-title" value="<?=isset($detail['truck_num'])?$detail['truck_num']:'';?>" placeholder="请选择关联的上板板车" autocomplete="off" readonly="readonly">
<input type="hidden" class="form-control" name="online_id" id="online-value" value="<?=isset($detail['online_id'])?$detail['online_id']:0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-primary" href="<?=Url::toRoute(['truckol/select','callback'=>'online']);?>" w="80%;" h="90%;" title="选择关联板车" mini="load" disabled="true">选择板车</button>
</span>
</div>
</div>
<script>
function selectTruckol(title,id,callback)
{
layer.closeAll();
layer.msg('已选择');
$('#'+callback+'-value').val(id);
$('#'+callback+'-title').val(title);
}
</script>
<label class="col-sm-1 control-label">承运司机:</label>
<div class="col-sm-2">
<div class="input-group">
<input type="text" class="form-control" name="driver_name" id="driver-title" value="<?=isset($detail['driver_name'])?$detail['driver_name']:'';?>" placeholder="请关联司机" autocomplete="off" readonly="true">
<input type="hidden" class="form-control" name="driver" id="driver-value" value="<?=isset($detail['driver_id'])?$detail['driver_id']:0;?>" readonly="true">
<span class="input-group-btn">
<button type="button" class="btn btn-primary" href="<?=Url::toRoute(['driver/select','callback'=>'driver']);?>" w="80%;" h="90%;" title="选择关联司机" mini="load" disabled="true">选择司机</button>
</span>
</div>
</div>
<script>
function selectDriver(title,id,callback)
{
layer.closeAll();
layer.msg('已选择');
$('#'+callback+'-value').val(id);
$('#'+callback+'-title').val(title);
}
</script>
<div class="col-sm-3">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-info">联系电话</button>
</span>
<input type="text" class="form-control" name="driver_mobiles" id="driver_mobiles" value="<?=isset($detail['driver_mobiles'])?$detail['driver_mobiles']:'';?>" readonly="true">
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">始发日期:</label>
<div class="col-sm-2">
<input class="form-control layer-date" type="text" name="from_time" placeholder="请选择日期" autocomplete="off" onclick="laydate({istime: false, format: 'YYYY-MM-DD'})" value="<?=isset($detail['from_time'])?date('Y-m-d',$detail['from_time']):''?>">
</div>
<label class="col-sm-1 control-label">始发城市:</label>
<div class="col-sm-2">
<input type="text" class="form-control" name="from_city" id="from_city" value="<?=isset($detail['from_city'])?$detail['from_city']:'';?>" placeholder="请输入起运的城市名" autocomplete="off">
</div>
<label class="col-sm-1 control-label">始发网点:</label>
<div class="col-sm-3">
<div class="input-group">
<input type="text" class="form-control" name="fromstore_name" id="store-title" value="<?=isset($detail['fromstore_title'])?$detail['fromstore_title']:'';?>" placeholder="请关联网点" autocomplete="off">
<input type="hidden" class="form-control" name="from_store" id="store-value" value="<?=isset($detail['from_store'])?$detail['from_store']:0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-primary" href="<?=Url::toRoute(['store/select','callback'=>'store']);?>" w="80%;" h="90%;" title="选择始发网点/门店" mini="load">选择网点</button>
</span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">目标城市:</label>
<div class="col-sm-2">
<input type="text" class="form-control" name="to_city" id="to_city" value="<?=isset($detail['to_city'])?$detail['to_city']:'';?>" placeholder="请输入要运达的城市名" autocomplete="off">
</div>
<label class="col-sm-1 control-label">目标网点:</label>
<div class="col-sm-3">
<div class="input-group">
<input type="text" class="form-control" name="endstore_name" id="store2-title" value="<?=isset($detail['endstore_title'])?$detail['endstore_title']:'';?>" placeholder="请关联网点" autocomplete="off">
<input type="hidden" class="form-control" name="to_store" id="store2-value" value="<?=isset($detail['end_store'])?$detail['end_store']:0;?>">
<span class="input-group-btn">
<button type="button" class="btn btn-primary" href="<?=Url::toRoute(['store/select','callback'=>'store2']);?>" w="80%;" h="90%;" title="选择运达网点/门店" mini="load">选择网点</button>
</span>
</div>
</div>
</div>
<script>
function selectStore(title,id,callback)
{
layer.closeAll();
layer.msg('已选择');
$('#'+callback+'-value').val(id);
$('#'+callback+'-title').val(title);
}
</script>
<div class="form-group">
<label class="col-sm-1 control-label">备注:</label>
<div class="col-sm-9">
<textarea class="form-control" type="text" name="remark" placeholder="您可在此添加一些备注信息" autocomplete="off" ><?=isset($detail['remark'])?$detail['remark']:'';?></textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">运达日期:</label>
<div class="col-sm-3">
<input class="form-control layer-date" type="text" name="to_time" placeholder="请选择日期" autocomplete="off" onclick="laydate({istime: false, format: 'YYYY-MM-DD'})" value="<?=isset($detail['to_time'])?date('Y-m-d',$detail['to_time']):''?>">
</div>
</div>
<div class="form-group hidden">
<label class="col-sm-1 control-label">状态:</label>
<div class="col-sm-9">
<?php foreach($status as $vo=>$ko):?>
<div class="radio radio-primary radio-inline">
<input type="radio" <?=((isset($detail['status_code'])&&$detail['status_code']==$vo)||(!isset($detail['status_code'])&&$vo==1))?'checked':'';?> value="<?=$vo?>" name="status_code" disabled="disabled">
<label for="status_code"><?=$ko?></label>
</div>
<?php endforeach;?>
</div>
</div>
<div class="hr-line-dashed"></div>
<div class="form-group draggable">
<div class="col-sm-12 col-sm-offset-3">
<button class="btn btn-primary" type="submit">保存内容</button>
<button class="btn btn-white" type="reset">取消</button>
</div>
</div>
</form>
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
function showImageFrame(obj){
//取预设参数
var id,title,width,height,url;
id = $(obj).attr('data-id');
title = $(obj).attr('data-title');
width = $(obj).attr('data-width');
height = $(obj).attr('data-height');
url = $(obj).attr('data-src');
//iframe层
parent.layer.open({
type: 2,
title: title,
shadeClose: true,
shade: 0.8,
area: [width, height],
content: url //iframe的url
});
}
function deleteImage(elm){
$(elm).prev().attr("src", "../img/nopic.jpg");
$(elm).parent().prev().find("input").val("");
parent.layer.msg('图片已删除;您可重新上传');
}
function selectImage(title,path,src,callback)
{
layer.closeAll();
layer.msg('图片已选择');
$('#'+callback+'-value').val(path);
$('#'+callback+'-preview').attr('src',src);
}
</script>
<script>
laydate.skin('molv');
</script>
<style>
.laydate_body .laydate_top{
padding:0;
}
.laydate_body .laydate_ym{
/*margin:0;
padding:5px;*/
}
.laydate_body .laydate_table{
border:0;
border-bottom: 1px solid rgb(204, 204, 204);
}
.laydate_body .laydate_bottom {
border: 0;
margin-bottom: 10px;
}
</style>
+159
View File
@@ -0,0 +1,159 @@
<?php
use yii\helpers\Html;
use yii\helpers\Url;
use yii\widgets\LinkPager;
?>
<?php include('detail.php');?>
<!--下拉选择、选项框-->
<?=Html::cssFile('@web/css/plugins/chosen/chosen.css')?>
<?=Html::jsFile('@web/js/plugins/chosen/chosen.jquery.js')?>
<style>
.table-border > td{
border:1px #bbb solid;
}
.table-border{
border:1px solid #ddd;
}
</style>
<!--日期时间选择器-->
<?=Html::jsFile('@web/js/plugins/layer/laydate/laydate.js')?>
<?=Html::cssFile('@web/js/plugins/layer/laydate/need/laydate.css')?>
<?=Html::cssFile('@web/js/plugins/layer/laydate/skins/molv/laydate.css')?>
<style>
.laydate_body .laydate_top{
padding:0;
}
.laydate_body .laydate_ym{
/*margin:0;
padding:5px;*/
}
.laydate_body .laydate_table{
border:0;
border-bottom: 1px solid rgb(204, 204, 204);
}
.laydate_body .laydate_bottom {
border: 0;
margin-bottom: 10px;
}
</style>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-title"><h5>板车装车清单</h5> </div>
<div class="ibox-content">
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>序号</th>
<th>运单与车辆</th>
<th>行程计划</th>
<th>状态</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<?php foreach($truckcars as $vo):?>
<tr>
<td><?=$vo['id']?></td>
<td>【<code><a title="点击查看详情" class="label label-info label-md" href="<?=Url::toRoute(['order/detail','id'=>$vo['order_id']])?>" mini="load" w="80%" h="80%"><?=isset($vo['order_id'])?$vo['order_id']:''?></a></code>】<br>
<a title="点击查看详情" class="label label-primary label-md" href="<?=Url::toRoute(['car/detail','id'=>$vo['car_id']])?>" mini="load" w="80%" h="50%"><code><?=isset($cars[$vo['car_id']]['title'])?$cars[$vo['car_id']]['title']:''?></code><?=isset($cars[$vo['car_id']]['num_p'])?$cars[$vo['car_id']]['num_p']:''?><?=isset($cars[$vo['car_id']]['num_area'])?$cars[$vo['car_id']]['num_area']:''?><?=isset($cars[$vo['car_id']]['num_left'])?$cars[$vo['car_id']]['num_left']:''?> <?=isset($cars[$vo['car_id']]['num_frame'])?$cars[$vo['car_id']]['num_frame']:''?></a>
</td>
<td>
<?=isset($vo['from_city'])?$vo['from_city']:'起运地'?>~<?=isset($vo['to_city'])?$vo['to_city']:'目的地'?><br>
<?=isset($vo['from_time'])?date('Y-m-d',$vo['from_time']):'起运日期'?>~<?=isset($vo['to_time'])?date('Y-m-d',$vo['to_time']):'到达日期'?>
</td>
<td>
<?php if($vo['status_code']==1){?>
<label class="btn btn-info btn-xs"><?=isset($status[$vo['status_code']]) ? $status[$vo['status_code']] : '未知'?></label>
<?php }else{?>
<label class="btn btn-default btn-xs"><?=isset($status[$vo['status_code']]) ? $status[$vo['status_code']] : '未知'?></label>
<?php }?>
</td>
<td>
<p>
<a class="btn btn-primary btn-xs" href="<?=Url::toRoute(['truckcar/ajax','id'=>$vo['id'],'do'=>'intruck'])?>" mini="ajax">上板</a>
<a class="btn btn-success btn-xs" href="<?=Url::toRoute(['truckcar/ajax','id'=>$vo['id'],'do'=>'arrive'])?>" mini="ajax">运达</a>
<a title="车辆出现质损,需要处理;该状态对客人不可见,运单仍显示“运输中”状态" class="btn btn-warning btn-xs" href="<?=Url::toRoute(['truckcar/ajax','id'=>$vo['id'],'do'=>'fix'])?>" mini="act">处理质损</a>
</p>
<a class="btn btn-primary btn-xs" href="<?=Url::toRoute(['truckcar/edit','id'=>$vo['id']])?>"><i class="fa fa-edit"></i>编辑</a>
<a title="点击将删除" href="<?=Url::toRoute(['truckcar/delete','id'=>$vo['id']])?>" class="btn btn-xs btn-danger" mini="act"><i class="fa fa-trash bigger-120"></i>删除</a>
</td>
</tr>
<?php endforeach;?>
</tbody>
</table>
</div>
</div>
<div class="ibox-content">
<form role="form" class="form-horizontal m-t" method="post" action="<?=Url::toRoute('truckol/carssave')?>" >
<input type="hidden" name="_csrf-backend" value="<?=Yii::$app->getRequest()->getCsrfToken();?>" />
<input type="hidden" name="id" value="<?=isset($truckol['id'])?$truckol['id']:0;?>">
<div class="form-group">
<div class="col-sm-5"></div>
<div class="col-sm-2">
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-primary" href="<?=Url::toRoute(['order/zhuangcheselect','callback'=>'selected-cars']);?>" w="80%;" h="90%;" title="新增要运载的车辆" mini="load"><i class="fa fa-plus-square-o"></i> 新增要运载的车辆</button>
</span>
</div>
</div>
<script>
/*车ID,运单ID,品牌车型,车牌,车架号,始发地,目的地,经办人*/
function selectOrder(car_id,order_id,car_title,car_num,car_frame,start_city,aim_city,employee,callback)
{
layer.closeAll();
layer.msg('已选择');
var ipt = '<div class="col-sm-2"><div class="input-group"><span class="input-group-btn"><button type="button" class="btn btn-info">客车ID</button></span><input type="text" class="form-control" name="car_id[]" value="'+car_id+'" readonly="true"></div></div>';
var ipt2 = '<div class="col-sm-2"><div class="input-group"><span class="input-group-btn"><button type="button" class="btn btn-info">订单ID</button></span><input type="text" class="form-control" name="order_id[]" value="'+order_id+'" readonly="true"></div></div>';
var title = '经办人:' + employee + ';从 ' + start_city + ' 发往 ' + aim_city + ';品牌型号:' + car_title + ';车牌号:' + car_num + ';车架号:' + car_frame;
var span = '<span class="help-block">' + title + '</span>';
var div = '<div class="form-group" onclick="del(this)" title="已选择(点击可删除)"><label class="col-sm-1 control-label"><i class="fa fa-minus-square-o" style="color:red;font-size:2em;font-weight:bold;"></i> </label>' + ipt + ipt2 + span +'</div>';
$('#'+callback).append(div);
}
function del(obj){
$(obj).remove();
}
</script>
</div>
<section id="selected-cars">
</section>
<div class="form-group">
<div class="col-sm-12 col-sm-offset-5">
<button class="btn btn-primary" type="submit" mini="submit">保存内容</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
<script>
laydate.skin('molv');
$(document).ready(function() {
var config = {
".chosen-select": {},
".chosen-select-deselect": {
allow_single_deselect: !0
},
".chosen-select-no-single": {
disable_search_threshold: 10
},
".chosen-select-no-results": {
no_results_text: "Oops, nothing found!"
},
".chosen-select-width": {
width: "95%"
}
};
for (var selector in config) $(selector).chosen(config[selector]);
});
</script>
+45
View File
@@ -0,0 +1,45 @@
<?php
use yii\helpers\Html;
use yii\helpers\Url;
?>
<div class="wrapper wrapper-content">
<div class="ibox-title">
<h5>板车承运任务摘要信息 <code>【<?=isset($truckol['truck_num'])?$truckol['truck_num']:0;?>】</code></h5>
</div>
<div class="ibox-content">
<div class="row">
<div class="col-sm-6">
<address>
<h4>承运司机</h4>
<abbr>姓 名:</abbr><?=isset($truckol['driver_name'])?$truckol['driver_name']:'';?><br>
<abbr>电 话:</abbr><?=isset($truckol['driver_mobiles'])?$truckol['driver_mobiles']:'';?><br>
<abbr>身份证:</abbr><?=isset($truckol['driver_idcard'])?$truckol['driver_idcard']:'';?><br>
</address>
</div>
<div class="col-sm-6 text-right">
<h4>行程信息:</h4>
<span>始发:<span class="text-navy"><?=isset($truckol['fromstore_title'])?$truckol['fromstore_title']:'';?></span> 【<?=(isset($truckol['from_date'])&&$truckol['from_date']!=0)?date('Y-m-d',$truckol['from_date']):''?></span>】<br>
<span>运达:<span class="text-navy"><?=isset($truckol['endstore_title'])?$truckol['endstore_title']:'';?></span>【<?=(isset($truckol['end_date'])&&$truckol['end_date']!=0)?date('Y-m-d',$truckol['end_date']):''?>】</span><br>
<span>目的地:<?=isset($truckol['end_city'])?$truckol['end_city']:'';?></span>
</div>
</div>
<div>
备注:<?=isset($truckol['remark'])?$truckol['remark']:'';?>
</div>
<table class="table">
<tbody>
<tr>
<td></td>
<td>装车任务状态 : <kbd><?=isset(Yii::$app->params['TruckOnlineStatus'][(isset($truckol['status_code'])?$truckol['status_code']:0)])?Yii::$app->params['TruckOnlineStatus'][(isset($truckol['status_code'])?$truckol['status_code']:0)]:'未知'?></kbd></td>
<td><kbd>共计装车</kbd> <code id="truckol-cars"><?=isset($truckol['cars'])?$truckol['cars']:0;?></code> 辆</td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
</div>
</div>

Some files were not shown because too many files have changed in this diff Show More