gz_car_ui/js/car_basic/driver_list.js

238 lines
7.6 KiB
JavaScript

let form, table, laydate;
let tableIns;
let pageNum = 1; // 定义分页
layui.use(["form", "table"], function () {
form = layui.form;
table = layui.table;
initTable();
});
// 查询/重置
function queryTable(type) {
if (type === 1) {
let name = $('#name').val();
let flag = checkValue(name);
if (flag) {
$('#name').val('');
return layer.msg('姓名查询包含特殊字符,请重新输入', { icon: 2 });
}
let supName = $('#supName').val();
let flag2 = checkValue(supName);
if (flag2) {
$('#supName').val('');
return layer.msg('供应商查询包含特殊字符,请重新输入', { icon: 2 });
}
reloadTable(1);
} else if (type === 2) {
$('#name').val('');
$('#supName').val('');
layui.form.render();
reloadTable(1);
}
}
// 刷新页面数据
function reloadData() {
reloadTable(1);
}
// 重载表格
function reloadTable(pageNum) {
table.reload("currentTableId", {
page: {
curr: pageNum ? pageNum : 1,
},
where: {
encryptedData: JSON.stringify({
'name': $('#name').val(),
'supName': $('#supName').val(),
}),
},
},
);
}
// 初始化表格
function initTable() {
tableIns = table.render({
elem: "#currentTableId",
id: 'currentTableId',
headers: {
authorization: sessionStorage.getItem("gz-token"),
},
height: "full-170",
url: dataUrl + "backstage/carDriver/getDriverPageList",
where: {
encryptedData: JSON.stringify({
'name': $('#name').val(),
'supName': $('#supName').val(),
}),
},
request: {
pageName: 'pageNum',
limitName: 'pageSize'
},
parseData: function (res) { // res 即为原始返回的数据
if (res.code === 401) {
closeWindowOpen();
}
return {
"code": 0, // 解析接口状态
"msg": '获取成功', // 解析提示文本
"count": res.total, // 解析数据长度
"data": res.list // 解析数据列表
};
},
cols: [
[
{
width: '6.9%',
title: "序号",
align: "center",
templet: function (d) {
return d.LAY_NUM;
},
},
{
field: "name",
width: '10%',
title: "姓名",
unresize: true,
align: "center",
sort:true,
},
{
field: "phone",
width: '10%',
title: "联系方式",
unresize: true,
align: "center",
sort:true,
},
{
field: "sfzNum",
width: '10%',
title: "身份证",
unresize: true,
align: "center",
sort:true,
templet: function (d) {
return '<span style="color:#409eff;font-weight:bold;">'+d.sfzNum+'</span>';
},
},
{
field: "jszNum",
width: '10%',
title: "驾驶证",
unresize: true,
align: "center",
sort:true,
templet: function (d) {
return '<span style="color:#409eff;font-weight:bold;">'+d.jszNum+'</span>';
},
},
{
field: "otherNum",
width: '10%',
title: "其他操作证",
unresize: true,
align: "center",
sort:true,
templet: function (d) {
return '<span style="color:#409eff;font-weight:bold;">'+d.otherNum+'</span>';
},
},
{
field: "supName",
width: '20%',
title: "所属供应商",
unresize: true,
align: "center",
sort:true,
},
{
field: "isWhiteList",
width: '10%',
title: "是否为白名单",
unresize: true,
align: "center",
sort:true,
templet: function (d) {
return (d.isWhiteList===1 ? "是" : "否");
},
},
{
title: "操作",
width: '13%',
align: "center",
unresize: true,
templet: function (d) {
let html = "";
html += "<a onclick='addOrUpdateDriver(" + JSON.stringify(d) + ",3)'>详情</a>";
html += "<div class='splitLine'>|</div><a onclick='addOrUpdateDriver(" + JSON.stringify(d) + ",2)'>修改</a>";
html += "<div class='splitLine'>|</div><a style='color:#f56c6c;' onclick='delData(" + JSON.stringify(d) + ")'>删除</a>";
return html;
},
},
],
],
limits: [10, 15, 20, 25, 50, 100],
limit: 10,
page: true,
done: function (res, curr, count) {
pageNum = tableIns.config.page.curr;
table.resize("currentTableId");
},
});
}
// 导出
function exportExcel() {
let params = {
'name': $('#name').val(),
'supName': $('#supName').val(),
}
let url = dataUrl + "backstage/carDriver/export";
exportExcelUtil(url, '驾驶员管理', JSON.stringify(params));
}
// 新增/修改/详情
function addOrUpdateDriver(obj, type) {
let title = '', content = './child/driver_form.html';
if (type === 1) {
title = '驾驶员信息新增';
} else if (type === 2) {
title = '驾驶员信息修改';
content = './child/driver_edit_form.html';
} else if (type === 3) {
title = '驾驶员信息详情';
content = './child/driver_detail.html';
}
obj.type = type;
openIframeByParamObj("addOrUpdateDriver", title, content, "50%", "92%", obj);
}
// 删除车辆数据
function delData(data) {
layer.confirm("确定删除此条数据吗?", { 'title': '操作提示', move: false }, function () {
let loadingMsg = layer.msg('数据删除中,请稍候...', { icon: 16, scrollbar: false, time: 0 });
let url = dataUrl + "backstage/carDriver/deleteDriverData"
let obj = { 'id': data.id }
let params = {
encryptedData: JSON.stringify(obj)
}
ajaxRequest(url, "POST", params, true, function () {
}, function (result) {
layer.close(loadingMsg); // 关闭提示层
if (result.code === 200) {
layer.msg(result.msg, { icon: 1 })
queryTable(1);
} else {
layer.msg(result.msg, { icon: 2 })
}
}, function (xhr) {
layer.close(loadingMsg); // 关闭提示层
error(xhr)
});
})
}