gz_car_ui/js/welcome/pro_list_detail.js

288 lines
8.9 KiB
JavaScript
Raw Normal View History

2025-01-17 12:39:11 +08:00
let objParam;
let form, table, tableIns, layer, element;
let pageNum = 1;
function setParams(params) {
objParam = JSON.parse(params);
$('#proName').html(objParam.proName);
$('#bmname').html(objParam.companyName);
layui.use(["form", "table", 'layer', 'element'], function () {
form = layui.form;
table = layui.table;
element = layui.element;
layer = layui.layer;
2025-01-20 09:54:16 +08:00
getProPlanDataView();
2025-01-17 12:39:11 +08:00
initTable();
});
}
// 数据概览
2025-01-20 09:54:16 +08:00
function getProPlanDataView() {
2025-01-17 12:39:11 +08:00
let params = {
encryptedData: JSON.stringify({
2025-01-20 09:54:16 +08:00
proId: objParam.proId
2025-01-17 12:39:11 +08:00
})
};
2025-01-20 09:54:16 +08:00
let url = dataUrl + 'backstage/homeIndex/getProPlanDataView';
2025-01-17 12:39:11 +08:00
ajaxRequest(url, "POST", params, true, function () {
}, function (result) {
if (result.code === 200) {
setNum(result.data);
}
}, function (xhr, status, error) {
errorFn(xhr, status, error)
}, null);
// 数据概览赋值
function setNum(obj) {
$('.layui-progress').remove();
$('#planNum').html(obj.planNum);
2025-01-20 09:54:16 +08:00
$('#carNum').html(obj.carNum);
$('#craneNum').html(obj.craneNum);
2025-01-17 12:39:11 +08:00
$('.layui-progress').remove();
$("#progress").after(`
<div class="layui-progress" lay-showpercent="true" lay-filter="demo-filter-progress">
2025-01-20 09:54:16 +08:00
<div class="layui-progress-bar layui-bg-blue" lay-percent="${obj.progress}%"></div>
2025-01-17 12:39:11 +08:00
</div>
`);
element.render();
}
}
// 查询/重置
function queryTable(type) {
if (type === 1) {
let code = $('#code').val();
let flag = checkValue(code);
if (flag) {
$('#code').val('');
return layer.msg('需求计划编号查询包含特殊字符,请重新输入', { icon: 2 });
}
reloadTable(1);
} else if (type === 2) {
$('#code').val('');
2025-01-17 19:36:00 +08:00
$('#dispatchStatus').val('');
2025-01-17 12:39:11 +08:00
layui.form.render();
reloadTable(1);
}
}
// 刷新页面数据
function reloadData() {
reloadTable(pageNum);
}
// 重载表格
function reloadTable(pageNum) {
table.reload("currentTableId", {
page: {
curr: pageNum ? pageNum : 1,
},
where: {
encryptedData: JSON.stringify({
'code': $('#code').val(),
2025-01-17 19:36:00 +08:00
'dispatchStatus': $('#dispatchStatus').val(),
2025-01-17 12:39:11 +08:00
'proId': objParam.proId
}),
},
},
);
}
// 初始化表格
function initTable() {
tableIns = table.render({
elem: "#currentTableId",
id: 'currentTableId',
headers: {
authorization: sessionStorage.getItem("gz-token"),
},
height: "full-250",
2025-01-17 19:36:00 +08:00
url: dataUrl + "backstage/homeIndex/getProPlanDetails",
2025-01-17 12:39:11 +08:00
where: {
encryptedData: JSON.stringify({
'code': $('#code').val(),
2025-01-17 19:36:00 +08:00
'dispatchStatus': $('#dispatchStatus').val(),
2025-01-17 12:39:11 +08:00
'proId': objParam.proId
}),
},
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: '5.9%',
title: "序号",
align: "center",
templet: function (d) {
return d.LAY_NUM;
},
},
{
field: "typeName",
width: '10%',
2025-01-17 19:36:00 +08:00
title: "类型",
2025-01-17 12:39:11 +08:00
unresize: true,
align: "center",
2025-01-17 19:36:00 +08:00
sort: true,
templet: function (d) {
return d.typeName === 1 ? '车辆' : '吊车'
},
2025-01-17 12:39:11 +08:00
},
{
field: "code",
width: '12%',
title: "需求计划编号",
unresize: true,
align: "center",
2025-01-17 19:36:00 +08:00
sort: true,
2025-01-17 12:39:11 +08:00
templet: function (d) {
return "<a style='color:#409eff;' onclick='viewPlanDetail(" + JSON.stringify(d) + ")'>" + d.code + "</a>";
},
},
{
field: "userName",
width: '10%',
title: "申请人",
unresize: true,
align: "center",
2025-01-17 19:36:00 +08:00
sort: true,
2025-01-17 12:39:11 +08:00
},
{
2025-01-17 19:36:00 +08:00
field: "applyTime",
2025-01-17 12:39:11 +08:00
title: "申请时间",
width: '10%',
unresize: true,
align: "center",
2025-01-17 19:36:00 +08:00
sort: true,
2025-01-17 12:39:11 +08:00
},
{
field: "remark",
title: "备注",
width: '12%',
unresize: true,
align: "center",
2025-01-17 19:36:00 +08:00
sort: true,
2025-01-17 12:39:11 +08:00
templet: function (d) {
if (d.remark) {
if (d.remark.length > 60) {
return '<span title="' + d.remark + '">' + d.remark.substring(0, 60) + '...</span>'
} else {
return '<span title="' + d.remark + '">' + d.remark + '</span>'
}
} else {
return '';
}
},
},
{
field: "statusName",
title: "派车状态",
width: '10%',
unresize: true,
align: "center",
2025-01-17 19:36:00 +08:00
sort: true,
2025-01-17 12:39:11 +08:00
templet: function (d) {
2025-01-17 19:36:00 +08:00
return setStatusColor(d.dispatchStatus);
2025-01-17 12:39:11 +08:00
},
},
{
field: "dispatchNum",
width: '10%',
title: "派车数量",
unresize: true,
align: "center",
2025-01-17 19:36:00 +08:00
sort: true,
2025-01-17 12:39:11 +08:00
},
{
2025-01-17 19:36:00 +08:00
field: "money",
2025-01-17 12:39:11 +08:00
title: "采购金额",
width: '10%',
align: "center",
unresize: true,
2025-01-17 19:36:00 +08:00
sort: true,
templet: function (d) {
return '<span>¥ ' + d.money + '</span>'
},
2025-01-17 12:39:11 +08:00
},
{
title: "操作",
width: '10%',
align: "center",
unresize: true,
templet: function (d) {
let html = "";
html += "<a onclick='dispatchCarDetail(" + JSON.stringify(d) + ",1)'>详情</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");
},
});
}
2025-01-17 19:36:00 +08:00
// 派车状态颜色
function setStatusColor(value) {
let color = "#409Eff";
let name = ''
if (value === '1') {
color = "#f56c6c";
name = '待派车';
} else if (value === '2') {
color = "#19be6b";
name = '已派车'
}
2025-01-20 14:24:03 +08:00
return '<span style="color:' + color + '"> ● </span>' + name + '';
2025-01-17 19:36:00 +08:00
}
// 需求计划详情
function viewPlanDetail(obj) {
obj.id = obj.planId;
let content = '../car_demand_plan/child/apply_plan_detail.html';
if (obj.code.indexOf('spec-') > -1) {
content = '../car_demand_plan/child/emerg_internal_car_detail.html';
}
openIframeByParamObj2("viewPlanDetail2", "需求计划详情", content, "92%", "95%", obj);
}
2025-01-17 12:39:11 +08:00
// 导出
function exportExcel() {
let params = {
2025-01-17 19:36:00 +08:00
'code': $('#code').val(),
'dispatchStatus': $('#dispatchStatus').val(),
2025-01-17 12:39:11 +08:00
'proId': objParam.proId
}
2025-01-17 19:36:00 +08:00
let url = dataUrl + "backstage/homeIndex/exportProPlanDetails";
2025-01-17 12:39:11 +08:00
exportExcelUtil(url, '需求计划详情', JSON.stringify(params));
}
// 详情
function dispatchCarDetail(obj, type) {
2025-01-17 19:36:00 +08:00
obj.id = obj.planId;
obj.pageType = 1;
obj.typeName = obj.typeName === 1 ? '车辆' : '吊车';
2025-01-20 14:24:03 +08:00
obj.proName = objParam.proName;
2025-01-17 19:36:00 +08:00
openIframeByParamObj2("homePlanDetail", "详情", '../welcome/plan_dispatch_detail.html', "92%", "95%", obj);
2025-01-17 12:39:11 +08:00
}