2025-04-10 23:19:13 +08:00

473 lines
33 KiB
PHP
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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>