You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
495 lines
26 KiB
495 lines
26 KiB
{extend name="public/layout" /}
|
|
{block name="header"}
|
|
<style>
|
|
.layui-table-cell {
|
|
padding: 0 5px;
|
|
}
|
|
.layui-input, .layui-select, .layui-textarea {
|
|
height: 28px;
|
|
}
|
|
.layui-input-block {
|
|
height: 28px;
|
|
min-height: auto;
|
|
}
|
|
.layui-form-label {
|
|
padding: 4px 15px;
|
|
}
|
|
.layui-form-item {
|
|
margin-bottom: 4px;
|
|
}
|
|
.layui-form-mid {
|
|
padding: 0 !important;
|
|
}
|
|
.layui-table td, .layui-table th {
|
|
padding: 0 15px;
|
|
}
|
|
</style>
|
|
{/block}
|
|
{block name="body"}
|
|
<div class="layui-card">
|
|
<div class="layui-card-body layui-form" style="padding: 0 10px;">
|
|
<div class="layui-collapse">
|
|
<div class="layui-colla-item">
|
|
<h2 class="layui-colla-title" style="display: flex; justify-content: space-between;">
|
|
<span>筛选</span>
|
|
<div id="tool-bar">
|
|
<button type="button" class="layui-btn layui-btn-sm" id="search-btn">搜索</button>
|
|
<a href="{:url('index/index')}" class="layui-btn layui-btn-sm" id="reset-btn">重置条件</a>
|
|
<button type="button" class="layui-btn layui-btn-sm layui-btn-danger" style="display: none;" id="deletes-btn">批量删除</button>
|
|
<button type="button" class="layui-btn layui-btn-sm layui-btn-danger" style="display: none;" id="reset-car-phone">清空电话</button>
|
|
</div>
|
|
</h2>
|
|
<div class="layui-colla-content layui-form">
|
|
<div class="layui-row">
|
|
<div class="layui-form-item layui-col-md3" style="clear: none;">
|
|
<label class="layui-form-label">车架号</label>
|
|
<div class="layui-input-block">
|
|
<input type="text" name="car_frame_no" id="car_frame_no" autocomplete="off"
|
|
class="layui-input" value="{$params.car_frame_no | default=''}">
|
|
</div>
|
|
</div>
|
|
<div class="layui-form-item layui-col-md3" style="clear: none;">
|
|
<label class="layui-form-label">厂牌型号</label>
|
|
<div class="layui-input-block">
|
|
<input type="text" name="factory_model" id="factory_model" autocomplete="off"
|
|
class="layui-input" value="{$params.factory_model | default=''}">
|
|
</div>
|
|
</div>
|
|
<div class="layui-form-item layui-col-md2" style="clear: none;">
|
|
<label class="layui-form-label">车牌号</label>
|
|
<div class="layui-input-block">
|
|
<input type="text" name="car_no" id="car_no" autocomplete="off" class="layui-input"
|
|
value="{$params.car_no | default=''}">
|
|
</div>
|
|
</div>
|
|
<div class="layui-form-item layui-col-md2" style="clear: none;">
|
|
<label class="layui-form-label">注册日期</label>
|
|
<div class="layui-input-block">
|
|
<input type="text" name="register_date" id="register_date" autocomplete="off"
|
|
class="layui-input layui-date-elem" value="{$params.register_date | default=''}">
|
|
</div>
|
|
</div>
|
|
<div class="layui-form-item layui-col-md2" style="clear: none;">
|
|
<label class="layui-form-label">车主姓名</label>
|
|
<div class="layui-input-block">
|
|
<input type="text" name="car_man" id="car_man" autocomplete="off"
|
|
class="layui-input" value="{$params.car_man | default=''}">
|
|
</div>
|
|
</div>
|
|
<div class="layui-form-item layui-col-md3" style="clear: none;">
|
|
<label class="layui-form-label">身份证号</label>
|
|
<div class="layui-input-block">
|
|
<input type="text" name="car_number" id="car_number" autocomplete="off"
|
|
class="layui-input" value="{$params.car_number | default=''}">
|
|
</div>
|
|
</div>
|
|
<div class="layui-form-item layui-col-md3" style="clear: none;">
|
|
<label class="layui-form-label">导出文件名</label>
|
|
<div class="layui-input-block">
|
|
<input type="text" name="export_name" id="export_name" autocomplete="off"
|
|
class="layui-input" value="{$params.export_name | default=''}">
|
|
</div>
|
|
</div>
|
|
<div class="layui-form-item layui-col-md2" style="clear: none;">
|
|
<label class="layui-form-label">联系电话</label>
|
|
<div class="layui-input-block">
|
|
<input type="text" name="car_phone" id="car_phone" autocomplete="off"
|
|
class="layui-input" value="{$params.car_phone | default=''}">
|
|
</div>
|
|
</div>
|
|
<div class="layui-form-item layui-col-md2" style="clear: none;">
|
|
<label class="layui-form-label">电话检测</label>
|
|
<div class="layui-input-block">
|
|
<select name="car_phone_empty">
|
|
<option value="">全部</option>
|
|
<option value="yes">不为空</option>
|
|
<option value="no">空</option>
|
|
<option value="2">广州</option>
|
|
<option value="3">深圳</option>
|
|
<option value="4">杭州</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="layui-form-item layui-col-md2" style="clear: none;">
|
|
<label class="layui-form-label">重复数据</label>
|
|
<div class="layui-input-block">
|
|
<select name="data_check">
|
|
<option value="">否</option>
|
|
{if $repeat_frame_count > 0 }
|
|
<option value="car_frame_check">车架号</option>
|
|
{/if}
|
|
{if $peer_phone_count > 0 }
|
|
<option value="car_phone_check">个人电话</option>
|
|
{/if}
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="layui-form-item layui-col-md4" style="clear: none;">
|
|
<label class="layui-form-label">初登日期</label>
|
|
<div class="layui-input-inline" style="width: 100px;">
|
|
<input type="text" name="register_date1" id="register-date1" class="layui-input layui-date-elem">
|
|
</div>
|
|
<div class="layui-form-mid">-</div>
|
|
<div class="layui-input-inline" style="width: 100px;">
|
|
<input type="text" name="register_date2" id="register-date2" class="layui-input layui-date-elem">
|
|
</div>
|
|
</div>
|
|
<div class="layui-form-item layui-col-md4" style="clear: none;">
|
|
<label class="layui-form-label">保险日期</label>
|
|
<div class="layui-input-inline" style="width: 110px;">
|
|
<input type="text" name="insurer_month1" class="layui-input" style="display: inline-block; width: 50px;" placeholder="月">
|
|
<input type="text" name="insurer_day1" class="layui-input" style="display: inline-block; width: 50px;" placeholder="日">
|
|
</div>
|
|
<div class="layui-form-mid">-</div>
|
|
<div class="layui-input-inline" style="width: 110px;">
|
|
<input type="text" name="insurer_month2" class="layui-input" style="display: inline-block; width: 50px;" placeholder="月">
|
|
<input type="text" name="insurer_day2" class="layui-input" style="display: inline-block; width: 50px;" placeholder="日">
|
|
</div>
|
|
</div>
|
|
<div class="layui-form-item layui-col-md4" style="clear: none;">
|
|
<label class="layui-form-label">新车购置价</label>
|
|
<div class="layui-input-inline" style="width: 100px;">
|
|
<input type="text" name="price1" class="layui-input" placeholder="万">
|
|
</div>
|
|
<div class="layui-form-mid">-</div>
|
|
<div class="layui-input-inline" style="width: 100px;">
|
|
<input type="text" name="price2" class="layui-input" placeholder="万">
|
|
</div>
|
|
</div>
|
|
<div class="layui-form-item layui-col-md2" style="clear: none;">
|
|
<label class="layui-form-label">标签</label>
|
|
<div class="layui-input-block">
|
|
<input type="text" name="tag" id="tag" autocomplete="off"
|
|
class="layui-input" value="{$params.tag | default=''}">
|
|
</div>
|
|
</div>
|
|
<div class="layui-form-item layui-col-md10" style="clear: none;">
|
|
<label class="layui-form-label">数据状态</label>
|
|
<div class="layui-input-block" style="height: auto;">
|
|
<table class="layui-table">
|
|
<tr>
|
|
<td colspan="3"><input type="checkbox" name="data_filter[]" value="bhx" title="已导出清洗"></td>
|
|
<td colspan="2"><input type="checkbox" name="data_filter[]" value="none" title="未处理"></td>
|
|
</tr>
|
|
<tr>
|
|
<td><input type="checkbox" name="data_filter[]" value="bhx_success" title="已清洗成功"></td>
|
|
<td><input type="checkbox" name="data_filter[]" value="bhx_failed" title="已清洗失败"></td>
|
|
<td><input type="checkbox" name="data_filter[]" value="bhx_none" title="未处理"></td>
|
|
<td><input type="checkbox" name="data_filter[]" value="none_bmc" title="已上传"></td>
|
|
<td><input type="checkbox" name="data_filter[]" value="none_none" title="未处理"></td>
|
|
</tr>
|
|
<tr>
|
|
<td><input type="checkbox" name="data_filter[]" value="bhx_success_bmc" title="已上传">
|
|
<input type="checkbox" name="data_filter[]" value="bhx_success_none" title="未上传"></td>
|
|
<td><input type="checkbox" name="data_filter[]" value="bhx_failed_bmc" title="已上传">
|
|
<input type="checkbox" name="data_filter[]" value="bhx_failed_bhx" title="已导出清洗">
|
|
<input type="checkbox" name="data_filter[]" value="bhx_failed_none" title="未处理"></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<table class="layui-hide" id="car-info" lay-filter="car-info"></table>
|
|
</div>
|
|
</div>
|
|
{/block}
|
|
{block name="script"}
|
|
<!--Core Javascript -->
|
|
<script type="text/html" id="table-bar">
|
|
{{# if(!d.repeat_id){ }}
|
|
<a class="layui-btn layui-btn-xs" lay-event="detail">详情</a>
|
|
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
|
|
{{# } }}
|
|
</script>
|
|
<script type="text/html" id="BmcNameTpl">
|
|
{{# if(d.bmc_download_times > 0){ }}
|
|
<span style="color: #01AAED;">{{ d.export_bmc_name }}</span>
|
|
{{# } else { }}
|
|
<span style="color: #ed0e1b;">{{ d.export_bmc_name }}</span>
|
|
{{# } }}
|
|
</script>
|
|
<script type="text/html" id="BhxNameTpl">
|
|
{{# if(d.bhx_download_times > 0){ }}
|
|
<span style="color: #01AAED;">{{ d.export_bhx_name }}</span>
|
|
{{# } else { }}
|
|
<span style="color: #ed0e1b;">{{ d.export_bhx_name }}</span>
|
|
{{# } }}
|
|
</script>
|
|
<script>
|
|
var tableIns;
|
|
var local_storage_key = 'data_table_col_list';
|
|
$(function () {
|
|
layui.form.on('checkbox(dataStatus)', function(data){
|
|
if(data.elem.checked){
|
|
if(data.value == 'is_none_handle'){
|
|
$(data.elem).siblings().attr('disabled',true);
|
|
}else{
|
|
if(data.value == 'is_update_success'){
|
|
$(data.elem).siblings('[value="is_update_failed"]').removeAttr('checked').attr('disabled',true);
|
|
}
|
|
if(data.value == 'is_update_failed'){
|
|
$(data.elem).siblings('[value="is_update_success"]').removeAttr('checked').attr('disabled',true);
|
|
}
|
|
$(data.elem).siblings('[value="is_none_handle"]').attr('disabled',true);
|
|
}
|
|
}else {
|
|
if(data.value == 'is_none_handle'){
|
|
$(data.elem).siblings().removeAttr('disabled');
|
|
}else{
|
|
if(data.value == 'is_update_success'){
|
|
$(data.elem).siblings('[value="is_update_failed"]').removeAttr('disabled');
|
|
}
|
|
if(data.value == 'is_update_failed'){
|
|
$(data.elem).siblings('[value="is_update_success"]').removeAttr('disabled');
|
|
}
|
|
if($(data.elem).siblings(':checked').length == 0){
|
|
$(data.elem).siblings('[value="is_none_handle"]').removeAttr('disabled');
|
|
}
|
|
}
|
|
}
|
|
});
|
|
tableIns = layui.table.render(tableRender(''));
|
|
|
|
//监听行工具事件
|
|
layui.table.on('tool(car-info)', function(obj){ //注:tool 是工具条事件名,test 是 table 原始容器的属性 lay-filter="对应的值"
|
|
var data = obj.data, //获得当前行数据
|
|
layEvent = obj.event; //获得 lay-event 对应的值
|
|
if(layEvent === 'clear_phone'){
|
|
layer.confirm('确定要清楚此项手机吗', function(index){
|
|
layer.close(index);
|
|
index = layer.load();
|
|
$.post('{:url("index/clearPhone")}', {id: data.id}, function (res) {
|
|
layer.close(index);
|
|
layer.msg(res.msg,function () {
|
|
layui.table.reload('carInfo');
|
|
});
|
|
})
|
|
});
|
|
} else if(layEvent === 'del'){
|
|
layer.confirm('真的删除行么', function(index){
|
|
layer.close(index);
|
|
index = layer.load();
|
|
//向服务端发送删除指令
|
|
$.post('{:url("index/delete")}', {id: data.id}, function (res) {
|
|
layer.close(index);
|
|
layer.msg(res.msg,function () {
|
|
obj.del(); //删除对应行(tr)的DOM结构
|
|
});
|
|
})
|
|
});
|
|
} else if(layEvent === 'detail'){
|
|
layer.open({
|
|
type: 2,
|
|
title: '车辆信息--' + data.car_no,
|
|
area: ['1100px','735px'],
|
|
shade: 0,
|
|
maxmin: true,
|
|
content: '{:url("index/edit")}?id=' + data.id,
|
|
zIndex: layer.zIndex,
|
|
success: function(layero){
|
|
layer.setTop(layero);
|
|
}
|
|
});
|
|
}
|
|
});
|
|
|
|
//监听单元格编辑
|
|
layui.table.on('edit(car-info)', function(obj){
|
|
var data = {
|
|
id : obj.data.id,
|
|
field: obj.field,
|
|
value: obj.value
|
|
};
|
|
if (data.value < 0) {
|
|
layer.msg('值不能为负数', {icon: 5});
|
|
layer.msg(res.msg,function () {
|
|
layui.table.reload('carInfo');
|
|
});
|
|
return false;
|
|
}
|
|
$.post('{:url("index/update")}', data, function (res) {
|
|
layer.msg(res.msg,function () {
|
|
layui.table.reload('carInfo');
|
|
});
|
|
});
|
|
});
|
|
|
|
var urlParams = getUrlParam('Object');
|
|
var jobId = 0;
|
|
if(urlParams.is_check_peer_phone > 0){
|
|
jobId = urlParams.is_check_peer_phone;
|
|
}else if(urlParams.is_check_repeat_frame > 0){
|
|
jobId = urlParams.is_check_repeat_frame;
|
|
}else if(urlParams.is_export_bhx > 0){
|
|
jobId = urlParams.is_export_bhx;
|
|
}
|
|
if(jobId > 0){
|
|
$.get('{:url("task/taskBtn")}?job_id=' + jobId,function(ret){
|
|
if(ret.code){
|
|
$('#tool-bar').prepend($.trim(ret.btns));
|
|
}
|
|
});
|
|
}
|
|
$('.layui-date-elem').each(function (i, d) {
|
|
layui.laydate.render({
|
|
elem: d,
|
|
});
|
|
});
|
|
$('#search-btn').on('click', function(){
|
|
var param = $('.layui-colla-content').find(':input').serializeObject();
|
|
param['data_filter[]'] = param['data_filter[]']?param['data_filter[]']:'';
|
|
param = Object.assign(param, urlParams);
|
|
//执行重载
|
|
tableIns.reload({
|
|
page: {
|
|
curr: 1 //重新从第 1 页开始
|
|
},
|
|
where: param,
|
|
}, 'data');
|
|
let param_a = param;
|
|
delete param_a['car_phone_empty'];
|
|
delete param_a['car_frame_check'];
|
|
delete param_a['data_check'];
|
|
if (Object.values(param_a).filter(data => data).length > 0) {
|
|
$('#deletes-btn').css('display', 'inline-block')
|
|
$('#reset-car-phone').css('display', 'inline-block')
|
|
} else {
|
|
$('#deletes-btn').css('display', 'none')
|
|
$('#reset-car-phone').css('display', 'none')
|
|
}
|
|
});
|
|
$('#deletes-btn').on('click', function () {
|
|
layer.confirm('真的删除行么', function(index){
|
|
layer.close(index);
|
|
index = layer.load();
|
|
//向服务端发送删除指令
|
|
$.post('{:url("/index/deletes/")}', $('.layui-colla-content').find(':input').serialize(), function (ret) {
|
|
layer.close(index);
|
|
layer.msg(ret.msg, function () {
|
|
layui.table.reload('carInfo');
|
|
});
|
|
});
|
|
});
|
|
});
|
|
$('#reset-car-phone').on('click', function () {
|
|
layer.confirm('确认执行删除车主电话并继续', function(index){
|
|
layer.close(index);
|
|
index = layer.load();
|
|
//向服务端发送删除指令
|
|
$.post('{:url("/index/phoneReset/")}', $('.layui-colla-content').find(':input').serialize(), function (ret) {
|
|
layer.close(index);
|
|
layer.msg(ret.msg, function () {
|
|
layui.table.reload('carInfo');
|
|
});
|
|
});
|
|
});
|
|
});
|
|
});
|
|
|
|
function task_create(type,id = 0){
|
|
$.post('{:url("task/save")}', {task_type: type,source_id: id}, function (ret) {
|
|
layer.msg(ret['msg'],function(){
|
|
layui.table.reload('taskInfo');
|
|
});
|
|
});
|
|
}
|
|
|
|
//表格 头部数据函数封装
|
|
function getTableCols(){
|
|
return [ //表头
|
|
{type: 'numbers', fixed: 'left'},
|
|
{field: 'car_no', title: '车牌号', width: 100, edit: 'text', fixed: 'left'},
|
|
{field: 'car_frame_no', title: '车架号', width: 180, edit: 'text'},
|
|
{field: 'engine_no', title: '发动机号', width: 100, edit: 'text'},
|
|
{field: 'factory_model', title: '厂牌型号', width: 200, edit: 'text'},
|
|
{field: 'register_date', title: '注册日期', width: 100, edit: 'text'},
|
|
{field: 'car_man', title: '车主', width: 80, edit: 'text'},
|
|
{field: 'car_number', title: '车主证件号', width: 160, edit: 'text'},
|
|
{field: 'car_phone', title: '车主电话', width: 120, edit: 'text'},
|
|
{field: 'id_man', title: '被保险人', width: 80, edit: 'text'},
|
|
{field: 'id_number', title: '被保险人证件号', width: 160, edit: 'text'},
|
|
{field: 'id_phone', title: '被保险人电话', width: 120, edit: 'text'},
|
|
{field: 'insured_man', title: '投保人', width: 80, edit: 'text'},
|
|
{field: 'insured_number', title: '投保人证件号', width: 160, edit: 'text'},
|
|
{field: 'insured_phone', title: '投保人电话', width: 120, edit: 'text'},
|
|
{field: 'link_man_1', title: '联系人1', width: 80, edit: 'text'},
|
|
{field: 'link_phone_1', title: '联系人电话1', width: 120, edit: 'text'},
|
|
{field: 'link_man_2', title: '联系人2', width: 80, edit: 'text'},
|
|
{field: 'link_phone_2', title: '联系人电话2', width: 120, edit: 'text'},
|
|
{field: 'link_man_3', title: '联系人3', width: 80, edit: 'text'},
|
|
{field: 'link_phone_3', title: '联系人电话3', width: 120, edit: 'text'},
|
|
{field: 'purchase_price', title: '新车购置价', width: 100, edit: 'text'},
|
|
{field: 'export_bhx_name', title: '导出清洗', width: 140, edit: 'text', templet:'#BhxNameTpl'},
|
|
{field: 'export_bmc_name', title: '导出上传', width: 140, edit: 'text', templet:'#BmcNameTpl'},
|
|
{fixed: 'right', width: 100, align:'center', toolbar: '#table-bar'}
|
|
];
|
|
}
|
|
|
|
//layui表格渲染,其中url param为请求的数据接口以及其参数
|
|
function tableRender(param){
|
|
var tableCols = tableSetCol(getTableCols(), local_storage_key);
|
|
var renderParam = {
|
|
id: 'carInfo',
|
|
elem: '#car-info',
|
|
title:'车辆信息',
|
|
url: '{:url("/index/carInfo/")}', //数据接口
|
|
where: getUrlParam('Object'),
|
|
toolbar: true,
|
|
height: 'full-210',
|
|
page: true, //开启分页
|
|
limit: 20,
|
|
loading: true,
|
|
cols: [tableCols],
|
|
done: function (res, curr, count) {
|
|
tableDone(this.elem, tableIns.config.cols[0], local_storage_key);
|
|
if(res.code == -1){
|
|
$('#lock-screen').css('display','flex');
|
|
}
|
|
}
|
|
};
|
|
return renderParam;
|
|
}
|
|
|
|
//layui表格渲染后,事件需要重新绑定,并记录下筛选信息于localStorage
|
|
function tableDone(elem, col, key){
|
|
elem.next().find('[lay-event="LAYTABLE_COLS"]').click(function(e) {
|
|
setTimeout(function() {
|
|
layui.$(e.currentTarget).find('.layui-form-checkbox').click(function() {
|
|
var local_config = {};
|
|
for(var i = 0; i<=col.length-1; i++){
|
|
if(typeof col[i].field !== 'undefined'){
|
|
local_config[col[i].field] = col[i].hide ;
|
|
}
|
|
}
|
|
var saveColsConfig = {
|
|
key: 'local_config',
|
|
value: local_config
|
|
};
|
|
layui.data(key, saveColsConfig);
|
|
})
|
|
}, 50);
|
|
})
|
|
}
|
|
|
|
//layuitable reload或第一次加载的时候,根据存储的local_config 确定哪些列是否选中
|
|
function tableSetCol(col, key){
|
|
//参考写法:https://fly.layui.com/jie/50966/#item-1555416248250
|
|
var config_custom= layui.data(key);
|
|
var local_config = config_custom['local_config'] || {};
|
|
if(JSON.stringify(local_config) != '{}'){
|
|
for(var i =0; i<=col.length-1; i++){
|
|
if( typeof col[i].field !== "undefined" ){
|
|
col[i].hide = local_config[col[i].field];
|
|
}
|
|
}
|
|
}
|
|
return col;
|
|
}
|
|
</script>
|
|
{/block}
|
|
|