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