gz_gqj_web/js/demandPlan/delivery_list.js

297 lines
8.1 KiB
JavaScript
Raw Normal View History

2024-11-08 16:53:56 +08:00
let form, table, element;
let tableIns;
let pageNum = 1; // 定义分页
layui.use(["form", "table"], function () {
form = layui.form;
table = layui.table;
element = layui.element;
// 动态插入进度条元素
2024-11-11 14:41:21 +08:00
/* $("#num-progress").after(`
2024-11-08 16:53:56 +08:00
<div class="layui-progress layui-bg-red" lay-filter="demo-filter-progress" style="margin-top:10%;">
<div class="layui-progress-bar " lay-percent="30%"></div>
</div>
`);
$("#num-progress2").after(`
<div class="layui-progress" lay-filter="demo-filter-progress" style="margin-top:2%;">
<div class="layui-progress-bar layui-bg-red" lay-percent="30%"></div>
</div>
`);
$("#num-progress3").after(`
<div class="layui-progress" lay-filter="demo-filter-progress" style="margin-top:2%;">
<div class="layui-progress-bar" lay-percent="30%"></div>
</div>
2024-11-11 14:41:21 +08:00
`); */
2024-11-08 16:53:56 +08:00
element.render();
initTable();
2024-11-09 21:08:52 +08:00
getStatistics();
2024-11-08 16:53:56 +08:00
});
2024-11-09 21:08:52 +08:00
// 数据概览
function getStatistics() {
let url = dataUrl + 'backstage/planOut/getStatistics';
ajaxRequest(url, "POST", null, true, function () {
}, function (result) {
if (result.code === 200) {
setNum(result.data);
}
}, function (xhr, status, error) {
errorFn(xhr, status, error)
}, null);
// 数据概览赋值
function setNum(obj) {
2024-11-11 17:33:02 +08:00
$('#totalNum').html(obj.needNum);
2024-11-09 21:08:52 +08:00
$('#dfhNum').html(obj.dfhNum);
$('#fhNum').html(obj.fhNum);
$('#overNum').html(obj.overNum);
$('#noPlanNum').html(obj.noPlanNum);
2024-11-11 17:33:02 +08:00
/* $('#dfh').html(obj.dfh + '%');
2024-11-11 14:41:21 +08:00
$('#yfh').html(obj.yfh + '%');
let dfh = obj.dfh;
let yfh = obj.yfh;
$("#num-progress").after(`
<div class="layui-progress layui-bg-red" lay-filter="demo-filter-progress" style="margin-top:10%;">
<div class="layui-progress-bar " lay-percent="${yfh}%"></div>
</div>
`);
$("#num-progress2").after(`
<div class="layui-progress" lay-filter="demo-filter-progress" style="margin-top:2%;">
<div class="layui-progress-bar layui-bg-red" lay-percent="${dfh}%"></div>
</div>
`);
$("#num-progress3").after(`
<div class="layui-progress" lay-filter="demo-filter-progress" style="margin-top:2%;">
<div class="layui-progress-bar" lay-percent="${yfh}%"></div>
</div>
2024-11-11 17:33:02 +08:00
`); */
2024-11-09 21:08:52 +08:00
}
}
2024-11-08 16:53:56 +08:00
// 查询/重置
2024-11-09 21:08:52 +08:00
function queryTable(type) {
if (type === 1) {
2024-11-08 19:43:23 +08:00
reloadTable(1);
2024-11-09 21:08:52 +08:00
} else if (type === 2) {
2024-11-08 16:53:56 +08:00
$('#proName').val('');
$('#status').val('0');
layui.form.render();
2024-11-08 19:43:23 +08:00
reloadTable(1);
2024-11-08 16:53:56 +08:00
}
}
2024-11-08 19:43:23 +08:00
// 刷新页面数据
function reloadData() {
2024-11-16 14:44:19 +08:00
reloadTable(1);
2024-11-08 19:43:23 +08:00
}
2024-11-08 16:53:56 +08:00
// 重载表格
2024-11-08 19:43:23 +08:00
function reloadTable(pageNum) {
2024-11-09 21:08:52 +08:00
table.reload("currentTableId", {
page: {
curr: pageNum ? pageNum : 1,
},
where: {
encryptedData: JSON.stringify({
'proName': $('#proName').val(),
'status': $('#status').val()
}),
2024-11-08 16:53:56 +08:00
},
2024-11-09 21:08:52 +08:00
},
2024-11-08 16:53:56 +08:00
);
}
// 初始化表格
function initTable() {
tableIns = table.render({
elem: "#currentTableId",
2024-11-09 21:08:52 +08:00
id: 'currentTableId',
2024-11-08 16:53:56 +08:00
headers: {
authorization: sessionStorage.getItem("gz-token"),
},
2024-11-14 10:55:06 +08:00
height: "full-300",
2024-11-08 16:53:56 +08:00
url: dataUrl + "backstage/planOut/getProPlanPage",
where: {
encryptedData: JSON.stringify({
2024-11-09 21:08:52 +08:00
'proName': $('#proName').val(),
'status': $('#status').val()
2024-11-08 16:53:56 +08:00
}),
},
request: {
2024-11-08 19:43:23 +08:00
pageName: 'pageNum',
limitName: 'pageSize'
2024-11-08 16:53:56 +08:00
},
2024-11-09 21:08:52 +08:00
parseData: function (res) { // res 即为原始返回的数据
2024-11-08 16:53:56 +08:00
return {
"code": 0, // 解析接口状态
"msg": '获取成功', // 解析提示文本
"count": res.total, // 解析数据长度
"data": res.list // 解析数据列表
};
},
cols: [
[
{
2024-11-09 16:14:05 +08:00
width: '5%',
2024-11-08 16:53:56 +08:00
title: "序号",
align: "center",
templet: function (d) {
return d.LAY_NUM;
},
},
{
field: "proName",
2024-11-09 16:14:05 +08:00
width: '20%',
2024-11-08 16:53:56 +08:00
title: "工程名称",
unresize: true,
align: "center",
},
{
field: "planNum",
2024-11-09 16:14:05 +08:00
width: '10%',
2024-11-08 16:53:56 +08:00
title: "需求计划数量",
unresize: true,
align: "center",
templet: function (d) {
2024-11-11 12:28:05 +08:00
let html = "";
2024-11-11 14:25:52 +08:00
html += "<a onclick='view_plan(" + JSON.stringify(d) + ")'>" + setNumColor(d.planNum) + "</a>";
2024-11-11 12:28:05 +08:00
return html;
2024-11-08 16:53:56 +08:00
},
},
{
field: "recordNum",
2024-11-09 16:14:05 +08:00
width: '10%',
2024-11-08 16:53:56 +08:00
title: "出库单数量 ",
unresize: true,
align: "center",
templet: function (d) {
return setNumColor(d.recordNum);
},
},
{
field: "status",
title: "发货状态",
2024-11-09 16:14:05 +08:00
width: '10%',
2024-11-08 16:53:56 +08:00
unresize: true,
align: "center",
templet: function (d) {
return setStatusColor(d.status);
},
},
{
field: "lastDay",
2024-11-09 16:14:05 +08:00
width: '15%',
2024-11-08 16:53:56 +08:00
title: "最后发货时间",
unresize: true,
align: "center",
},
{
field: "progress",
2024-11-09 16:14:05 +08:00
width: '19.85%',
2024-11-08 16:53:56 +08:00
title: "进度",
unresize: true,
align: "center",
templet: schedule,
},
{
title: "操作",
2024-11-09 16:14:05 +08:00
width: '10%',
2024-11-08 16:53:56 +08:00
align: "center",
unresize: true,
templet: function (d) {
let html = "";
2024-11-09 21:08:52 +08:00
html += "<a onclick='deliveryDetail(" + JSON.stringify(d) + ")'>详情</a>";
html += "<div class='splitLine'>|</div><a onclick='sendGoods(" + JSON.stringify(d) + ")'>发货</a>";
2024-11-08 16:53:56 +08:00
return html;
},
},
],
],
limits: [10, 15, 20, 25, 50, 100],
limit: 10,
page: true,
done: function (res, curr, count) {
pageNum = tableIns.config.page.curr;
element.render();
2024-11-09 16:14:05 +08:00
table.resize("currentTableId");
2024-11-08 16:53:56 +08:00
},
});
}
// 数量颜色
function setNumColor(value) {
return '<span style="color:#409Eff;font-weight:bold;">' + value + "</span>";
}
// 发货状态颜色
function setStatusColor(value) {
2024-11-11 14:41:21 +08:00
value = value ? parseInt(value) : 0;
2024-11-08 16:53:56 +08:00
let color = "#409Eff";
2024-11-09 21:08:52 +08:00
let name = ''
if (value === 0) {
color = "#f56c6c";
name = '未发货';
} else if (value === 1) {
color = "#ff9900";
name = '部分发货'
} else if (value === 2) {
color = "#19be6b";
name = '全部发货'
}
return '<span style="color:' + color + '">' + name + "</span>";
2024-11-08 16:53:56 +08:00
}
// 设置进度值
function schedule(d) {
2024-11-11 14:25:52 +08:00
d.progress = parseFloat(d.progress);
2024-11-08 16:53:56 +08:00
d.filter == undefined ? (d.filter = d.LAY_NUM) : d.filter;
d.progress == undefined ? (d.progress = 100) : d.progress;
var color = "layui-bg-orange";
if (d.progress < 100) {
color = "layui-bg-orange";
} else if (d.progress === 100) {
color = "layui-bg-primary";
} else if (d.progress > 100) {
color = "layui-bg-blue";
}
//设置页面进度条
return (
2024-11-09 21:08:52 +08:00
'<div class="layui-progress layui-progress-big" lay-showpercent="true" id="' + d.filter + '" lay-filter="progress' + d.filter + '">' +
'<div class="layui-progress-bar ' + color + '" lay-percent="' + d.progress + '%">' +
2024-11-08 16:53:56 +08:00
"</div></div>"
);
}
// 导出
function exportExcel() {
2024-11-11 14:25:52 +08:00
let params = {
2024-11-09 21:08:52 +08:00
'proName': $('#proName').val(),
'status': $('#status').val()
2024-11-11 14:25:52 +08:00
}
2024-11-11 14:41:21 +08:00
let url = dataUrl + "backstage/export/exportFhList";
2024-11-11 14:25:52 +08:00
exportExcelUtil(url, '机具公司发货数据', JSON.stringify(params));
2024-11-08 16:53:56 +08:00
}
2024-11-09 15:09:41 +08:00
// 发货详情
function deliveryDetail(obj) {
2024-11-11 16:07:58 +08:00
openIframeByParamObj("deliveryDetail", "详情", "../demandPlan/child/delivery_detail_list.html", "92%", "95%", obj);
2024-11-09 15:09:41 +08:00
}
2024-11-08 16:53:56 +08:00
// 发货
2024-11-08 19:43:23 +08:00
function sendGoods(obj) {
2024-11-11 16:07:58 +08:00
openIframeByParamObj("sendGoods", "发货", "../demandPlan/child/send_goods_form.html", "92%", "95%", obj);
2024-11-08 16:53:56 +08:00
}
// type 1.总需求量 2.待发货量 3.已发货量
function openViewData(type) {
2024-11-11 16:07:58 +08:00
openIframeByParam("viewData", "数据概览", "../demandPlan/child/view_data_list.html", "92%", "95%", type);
2024-11-08 16:53:56 +08:00
}
2024-11-09 21:08:52 +08:00
// type 1.超库存量 2.计划外量
function earlyInfo(type) {
2024-11-11 16:07:58 +08:00
openIframeByParam("viewData", "预警信息", "../demandPlan/child/early_info_list.html", "92%", "95%", type);
2024-11-11 12:28:05 +08:00
}
// 需求计划
2024-11-11 14:25:52 +08:00
function view_plan(obj) {
2024-11-11 16:07:58 +08:00
openIframeByParamObj("view_plan", "需求计划", "../demandPlan/child/demand_plan_detail_list.html", "92%", "95%", obj);
2024-11-09 21:08:52 +08:00
}