计划申请

This commit is contained in:
cwchen 2024-11-14 13:58:02 +08:00
parent cff0f1b6ab
commit 64097f906c
7 changed files with 635 additions and 0 deletions

View File

@ -21,6 +21,18 @@
"icon": "fa fa-home",
"target": "_self",
"child": [
{
"title": "计划申请",
"href": "page/demandPlan/apply_plan_list.html",
"icon": "fa fa-tachometer",
"target": "_self"
},
{
"title": "计划申请审核",
"href": "page/demandPlan/plan_check_list.html",
"icon": "fa fa-tachometer",
"target": "_self"
},
{
"title": "机具公司发货",
"href": "page/demandPlan/delivery_list.html",

Binary file not shown.

After

Width:  |  Height:  |  Size: 385 B

View File

@ -0,0 +1,210 @@
let form, table, laydate;
let tableIns;
let pageNum = 1; // 定义分页
layui.use(["form", "table", 'laydate'], function () {
form = layui.form;
table = layui.table;
laydate = layui.laydate;
laydate.render({
elem: '#ID-laydate-rangeLinked',
range: ['#startDay', '#endDay'],
rangeLinked: true
});
initTable();
});
// 查询/重置
function queryTable(type) {
if (type === 1) {
reloadTable(1);
} else if (type === 2) {
$('#keyWord').val('');
$('#startDate').val('');
$('#endDate').val('');
layui.form.render();
reloadTable(1);
}
}
// 刷新页面数据
function reloadData() {
reloadData(pageNum);
}
// 重载表格
function reloadTable(pageNum) {
table.reload("currentTableId", {
page: {
curr: pageNum ? pageNum : 1,
},
where: {
encryptedData: JSON.stringify({
'keyWord': $('#keyWord').val(),
'startDate': $('#startDate').val(),
'endDate': $('#endDate').val()
}),
},
},
);
}
// 初始化表格
function initTable() {
tableIns = table.render({
elem: "#currentTableId",
id: 'currentTableId',
headers: {
authorization: sessionStorage.getItem("gz-token"),
},
height: "full-170",
url: dataUrl + "backstage/partInput/findByPage",
where: {
encryptedData: JSON.stringify({
'keyWord': $('#keyWord').val(),
'startDate': $('#startDate').val(),
'endDate': $('#endDate').val()
}),
},
request: {
pageName: 'pageNum',
limitName: 'pageSize'
},
parseData: function (res) { // res 即为原始返回的数据
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: "code",
width: '15%',
title: "工程名称",
unresize: true,
align: "center",
},
{
field: "inputUser",
width: '8%',
title: "工程状态",
unresize: true,
align: "center",
templet: function (d) {
return setProStatus('1');
},
},
{
field: "inputNum",
width: '10%',
title: "维修单数量",
unresize: true,
align: "center",
templet: function (d) {
return '<span style="color:#ff9900;font-weight:bold;">1</span>';
},
},
{
field: "allPrice",
width: '10%',
title: "配件领料单数量",
unresize: true,
align: "center",
templet: function (d) {
return '<span style="color:#409eff;font-weight:bold;">1</span>';
},
},
{
field: "allPrice",
width: '10%',
title: "配件退回单数量",
unresize: true,
align: "center",
templet: function (d) {
return '<span style="color:#f56c6c;font-weight:bold;">1</span>';
},
},
{
field: "remark",
width: '15%',
title: "领用/使用/退回配件数量",
unresize: true,
align: "center",
templet: function (d) {
return '<p style="color:#409eff;">领2,563 </p>';
// return '<p style="color:#409eff;">领2,563 </p><p style="color:#19be6b;">用2,000 </p><p style="color:#f56c6c;">退563</p>';
},
},
{
field: "remark",
width: '15%',
title: "领用/使用/退回配件金额",
unresize: true,
align: "center",
templet: function (d) {
return '<p style="color:#409eff;">领2,563 </p>';
// return '<p style="color:#409eff;">领2,563 </p><p style="color:#19be6b;">用2,000 </p><p style="color:#f56c6c;">退563</p>';
},
},
{
title: "操作",
width: '10%',
align: "center",
unresize: true,
templet: function (d) {
let html = "";
html += "<a onclick='proCountDetail(" + 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 = {
'proName': $('#proName').val(),
'status': $('#status').val()
}
let url = dataUrl + "backstage/export/exportFhList";
exportExcelUtil(url, '配件入库数据', JSON.stringify(params));
}
// 配件退料详情
function proCountDetail(obj) {
openIframeByParamObj("pro_count_detail", "详情", "./child/pro_count_detail.html", "92%", "95%", obj);
}
// 工程状态
function setProStatus(status) {
if (status === '1') {
return "<span style='color:#19BE6B;margin:0 5px 0 5px;font-size:16px'>●</span>在建";
} else if (status === '2') {
return "<span style='color:#999;margin:0 5px 0 5px;font-size:16px;'>●</span>完工";
}
}
// 查询流程
function showProcess(){
openIframeByParamObj("show_process", "流程说明", "./child/show_process.html", "70%", "65%", null);
}

View File

@ -0,0 +1,205 @@
let form, table, laydate;
let tableIns;
let pageNum = 1; // 定义分页
layui.use(["form", "table", 'laydate'], function () {
form = layui.form;
table = layui.table;
laydate = layui.laydate;
laydate.render({
elem: '#ID-laydate-rangeLinked',
range: ['#startDay', '#endDay'],
rangeLinked: true
});
initTable();
});
// 查询/重置
function queryTable(type) {
if (type === 1) {
reloadTable(1);
} else if (type === 2) {
$('#keyWord').val('');
$('#startDate').val('');
$('#endDate').val('');
layui.form.render();
reloadTable(1);
}
}
// 刷新页面数据
function reloadData() {
reloadData(pageNum);
}
// 重载表格
function reloadTable(pageNum) {
table.reload("currentTableId", {
page: {
curr: pageNum ? pageNum : 1,
},
where: {
encryptedData: JSON.stringify({
'keyWord': $('#keyWord').val(),
'startDate': $('#startDate').val(),
'endDate': $('#endDate').val()
}),
},
},
);
}
// 初始化表格
function initTable() {
tableIns = table.render({
elem: "#currentTableId",
id: 'currentTableId',
headers: {
authorization: sessionStorage.getItem("gz-token"),
},
height: "full-170",
url: dataUrl + "backstage/partInput/findByPage",
where: {
encryptedData: JSON.stringify({
'keyWord': $('#keyWord').val(),
'startDate': $('#startDate').val(),
'endDate': $('#endDate').val()
}),
},
request: {
pageName: 'pageNum',
limitName: 'pageSize'
},
parseData: function (res) { // res 即为原始返回的数据
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: "code",
width: '15%',
title: "工程名称",
unresize: true,
align: "center",
},
{
field: "inputUser",
width: '8%',
title: "工程状态",
unresize: true,
align: "center",
templet: function (d) {
return setProStatus('1');
},
},
{
field: "inputNum",
width: '10%',
title: "维修单数量",
unresize: true,
align: "center",
templet: function (d) {
return '<span style="color:#ff9900;font-weight:bold;">1</span>';
},
},
{
field: "allPrice",
width: '10%',
title: "配件领料单数量",
unresize: true,
align: "center",
templet: function (d) {
return '<span style="color:#409eff;font-weight:bold;">1</span>';
},
},
{
field: "allPrice",
width: '10%',
title: "配件退回单数量",
unresize: true,
align: "center",
templet: function (d) {
return '<span style="color:#f56c6c;font-weight:bold;">1</span>';
},
},
{
field: "remark",
width: '15%',
title: "领用/使用/退回配件数量",
unresize: true,
align: "center",
templet: function (d) {
return '<p style="color:#409eff;">领2,563 </p>';
// return '<p style="color:#409eff;">领2,563 </p><p style="color:#19be6b;">用2,000 </p><p style="color:#f56c6c;">退563</p>';
},
},
{
field: "remark",
width: '15%',
title: "领用/使用/退回配件金额",
unresize: true,
align: "center",
templet: function (d) {
return '<p style="color:#409eff;">领2,563 </p>';
// return '<p style="color:#409eff;">领2,563 </p><p style="color:#19be6b;">用2,000 </p><p style="color:#f56c6c;">退563</p>';
},
},
{
title: "操作",
width: '10%',
align: "center",
unresize: true,
templet: function (d) {
let html = "";
html += "<a onclick='proCountDetail(" + 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 = {
'proName': $('#proName').val(),
'status': $('#status').val()
}
let url = dataUrl + "backstage/export/exportFhList";
exportExcelUtil(url, '配件入库数据', JSON.stringify(params));
}
// 配件退料详情
function proCountDetail(obj) {
openIframeByParamObj("pro_count_detail", "详情", "./child/pro_count_detail.html", "92%", "95%", obj);
}
// 工程状态
function setProStatus(status) {
if (status === '1') {
return "<span style='color:#19BE6B;margin:0 5px 0 5px;font-size:16px'>●</span>在建";
} else if (status === '2') {
return "<span style='color:#999;margin:0 5px 0 5px;font-size:16px;'>●</span>完工";
}
}

View File

@ -0,0 +1,63 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>需求计划申请</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="../../lib/layui-v2.9.18/layui/css/layui.css" media="all">
<link rel="stylesheet" href="../../css/font.css" media="all">
<link rel="stylesheet" href="../../css/public.css" media="all">
</head>
<body>
<div class="layuimini-container">
<div class="layuimini-main">
<fieldset class="table-search-fieldset">
<legend>搜索信息</legend>
<div style="margin: 10px 10px 10px 10px">
<form class="layui-form layui-form-pane" action="#" onsubmit="return false;">
<div class="layui-form-item">
<div class="layui-inline">
<div class="layui-input-inline" style="width: 300px;">
<input type="text" name="keyWord" id="keyWord" autocomplete="off"
class="layui-input" lay-affix="clear" placeholder="输入工程名称" maxlength="30">
</div>
</div>
<div class="layui-inline" style="width: 200px;">
<select class="layui-select">
<option value="1">在建</option>
<option value="2">完工</option>
</select>
</div>
<div class="layui-inline">
<button class="layui-btn layui-bg-blue" onclick="queryTable(1)"><i
class="layui-icon"></i> 搜 索</button>
<button class="layui-btn layui-btn-primary" onclick="queryTable(2)"><i
class="layui-icon layui-icon-refresh"></i> 重 置</button>
<button class="layui-btn layui-bg-blue" onclick="accessoryStore(1,{})"><i
class="layui-icon layui-icon-file"></i> 需 求 计 划 申 请</button>
<button class="layui-btn layui-btn-primary" onclick="exportExcel()"><i
class="layui-icon layui-icon-download-circle"></i> 导 出</button>
<button class="layui-btn layui-btn-primary" onclick="showProcess()"><i
class="layui-icon layui-icon-spread-left"></i> 查 看 流 程</button>
</div>
</div>
</form>
</div>
</fieldset>
<div class="table-box" table-responsive style="z-index: 1;">
<table class="layui-hide" id="currentTableId" lay-filter="currentTableId2"></table>
</div>
</div>
</div>
<script src="../../lib/jquery-3.4.1/jquery-3.4.1.min.js" charset="utf-8"></script>
<script src="../../js/public.js" charset="utf-8"></script>
<script src="../../lib/layui-v2.9.18/layui/layui.js" charset="utf-8"></script>
<script src="../../js/demandPlan/apply_plan_list.js" charset="utf-8"></script>
<script src="../../js/openIframe.js" charset="utf-8"></script>
</body>
</html>

View File

@ -0,0 +1,86 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>查看审核流程</title>
</head>
<style type="text/css">
body {
width: 98% !important;
height: 100% !important;
display: flex;
justify-content: space-evenly;
align-items: center;
padding: 16% 5% 16% 5%;
box-sizing: border-box;
}
.box-content {
width: 100%;
height: 50px;
display: flex;
justify-content: space-evenly;
align-items: center;
}
img {
width: 32px;
height: 32px;
}
.circle {
width: 50px;
height: 50px;
background-color: #66B1FF;
border-radius: 50%;
}
.rectangle {
width: 160px;
height: 50px;
background-color: #66B1FF;
border-radius: 6px;
}
.rectangle span,
.circle span {
color: #ffffff;
display: flex;
align-items: center;
justify-content: center;
height: 100%;
letter-spacing: 1px;
}
</style>
<body>
<div class="box-content">
<div class="circle">
<span>开始</span>
</div>
<img src="../../../images/demandPlan/progress_icon.png">
<div class="rectangle">
<span>项目部发起申请</span>
</div>
<img src="../../../images/demandPlan/progress_icon.png">
<div class="rectangle">
<span>分公司审核</span>
</div>
<img src="../../../images/demandPlan/progress_icon.png">
<div class="rectangle">
<span>项管中心审核</span>
</div>
<img src="../../../images/demandPlan/progress_icon.png">
<div class="rectangle">
<span>机具公司确认并出库</span>
</div>
<img src="../../../images/demandPlan/progress_icon.png">
<div class="circle">
<span>结束</span>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,59 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>需求计划审核</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="../../lib/layui-v2.9.18/layui/css/layui.css" media="all">
<link rel="stylesheet" href="../../css/font.css" media="all">
<link rel="stylesheet" href="../../css/public.css" media="all">
</head>
<body>
<div class="layuimini-container">
<div class="layuimini-main">
<fieldset class="table-search-fieldset">
<legend>搜索信息</legend>
<div style="margin: 10px 10px 10px 10px">
<form class="layui-form layui-form-pane" action="#" onsubmit="return false;">
<div class="layui-form-item">
<div class="layui-inline">
<div class="layui-input-inline" style="width: 300px;">
<input type="text" name="keyWord" id="keyWord" autocomplete="off"
class="layui-input" lay-affix="clear" placeholder="输入工程名称" maxlength="30">
</div>
</div>
<div class="layui-inline" style="width: 200px;">
<select class="layui-select">
<option value="1">在建</option>
<option value="2">完工</option>
</select>
</div>
<div class="layui-inline">
<button class="layui-btn layui-bg-blue" onclick="queryTable(1)"><i
class="layui-icon"></i> 搜 索</button>
<button class="layui-btn layui-btn-primary" onclick="queryTable(2)"><i
class="layui-icon layui-icon-refresh"></i> 重 置</button>
<button class="layui-btn layui-btn-primary" onclick="exportExcel()"><i
class="layui-icon layui-icon-download-circle"></i> 导 出</button>
</div>
</div>
</form>
</div>
</fieldset>
<div class="table-box" table-responsive style="z-index: 1;">
<table class="layui-hide" id="currentTableId" lay-filter="currentTableId2"></table>
</div>
</div>
</div>
<script src="../../lib/jquery-3.4.1/jquery-3.4.1.min.js" charset="utf-8"></script>
<script src="../../js/public.js" charset="utf-8"></script>
<script src="../../lib/layui-v2.9.18/layui/layui.js" charset="utf-8"></script>
<script src="../../js/accessory/pro_count_list.js" charset="utf-8"></script>
<script src="../../js/openIframe.js" charset="utf-8"></script>
</body>
</html>