漏洞修改

This commit is contained in:
jiang 2025-12-03 18:10:09 +08:00
parent 8f24d1b970
commit 563ee1812b
11 changed files with 398 additions and 323 deletions

View File

@ -204,7 +204,7 @@
// 初始化页面
function initPage(miniAdmin){
var options = {
iniUrl: "api/init.json", // 初始化接口
iniUrl: "api/initback.json", // 初始化接口
clearUrl: "api/clear.json", // 缓存清理接口
urlHashLocation: true, // 是否打开hash定位
bgColorDefault: false, // 主题默认配置

View File

@ -89,7 +89,7 @@ function initTable() {
cols: [
[
{
width: '5.9%',
width: '5%',
title: "序号",
align: "center",
templet: function (d) {
@ -114,7 +114,7 @@ function initTable() {
},
{
field: "needTime",
width: '10%',
width: '8%',
title: "需用日期",
unresize: true,
align: "center",
@ -122,7 +122,7 @@ function initTable() {
},
{
field: "creator",
width: '10%',
width: '8%',
title: "申请人",
unresize: true,
align: "center",
@ -138,7 +138,7 @@ function initTable() {
},
{
field: "remark",
width: '14%',
width: '10%',
title: "备注",
unresize: true,
align: "center",
@ -164,7 +164,24 @@ function initTable() {
align: "center",
sort: true,
templet: function (d) {
return getCheckStatus(d.statusType, d.status);
return getCheckStatus(d.statusType, d.status, d.mode);
},
},
{
field: "mode",
width: '8%',
title: "状态",
unresize: true,
align: "center",
sort: true,
templet: function (d) {
if (d.mode == '0') {
return "<span style='color:rgba(214,214,214,0.56);margin:0 5px 0 5px;font-size:16px'>●</span>草稿";
} else {
return "<span style='color:#19BE6B;margin:0 5px 0 5px;font-size:16px'>●</span>已提交";
}
},
},
{
@ -176,7 +193,7 @@ function initTable() {
let status = getCheckStatus(d.statusType, d.status);
let html = "";
html += "<a onclick='applyPlanDetail(" + JSON.stringify(d) + ")'>详情</a>";
if (status.indexOf('驳回') > -1 || status.indexOf('已撤回') > -1) {
if (status.indexOf('驳回') > -1 || status.indexOf('已撤回') > -1 || d.mode == '0') {
html += "<div class='splitLine'>|</div><a onclick='editApplyPlan(" + JSON.stringify(d) + ")'>修改</a>";
}
return html;
@ -204,10 +221,12 @@ function exportExcel() {
}
//审核状态
function getCheckStatus(statusType, status) {
function getCheckStatus(statusType, status, mode) {
var company = "";
if (mode == '0') {
return "<span style='color:rgba(214,214,214,0.56);margin:0 5px 0 5px;font-size:16px'>●</span>未提交";
}
if (statusType === '0' && status === '0') {
return "<span style='color:#FF9900;margin:0 5px 0 5px;font-size:16px'>●</span>已撤回";
}

View File

@ -5,6 +5,7 @@ let jjDataArr = []; // 配件数据
let proList = []; // 工程下拉选
let delIdArr = [];
let detailIdArr = [];
function setParams(obj) {
objParam = JSON.parse(obj);
layui.use(['form', 'layer', 'laydate', 'upload', 'table'], function () {
@ -113,7 +114,8 @@ function getPlanDetailsList() {
}
}
function saveData2() {
function saveData2(mode) {
$('#mode').val(mode);
$('#formSubmit').trigger('click')
}
@ -226,6 +228,7 @@ function chooseFitType() {
let params = {};
openIframeByParamObj("choose_fit_type", '选择需求计划机具类型<span style="color:red;font-size:14px">(设备类请备注大、中、小)</span>', "./choose_tool_type_list.html", '92%', '95%', params);
}
// 查询
function search() {
let keyWord = $('#pName').val();

View File

@ -4,6 +4,7 @@ let pageNum = 1, tableIns; // 定义分页
let jjDataArr = []; // 配件数据
let proList = []; // 工程下拉选
let delIdArr = [];
function setParams(obj) {
objParam = JSON.parse(obj);
layui.use(['form', 'layer', 'laydate', 'upload', 'table'], function () {
@ -48,7 +49,8 @@ function setSelectData(proList) {
layui.form.render();
}
function saveData2() {
function saveData2(mode) {
$('#mode').val(mode);
$('#formSubmit').trigger('click')
}
@ -68,6 +70,7 @@ function setNumColor(value, type) { // 1.需要量 2.已发货量 3.差缺量
// 提交
function submitApply(data) {
let list = getBaseTableData();
console.log(list.length)
// 校验配件入库数量
if (list.length === 0) {
return layer.msg('未添加机具数据', {icon: 7});
@ -76,9 +79,7 @@ function submitApply(data) {
if (list[i].needNum === 0) {
return layer.msg('机具明细,第' + (i + 1) + '行,未填写需用量', {icon: 7});
}
// if (list[i].times === 0) {
// return layer.msg('机具明细,第' + (i + 1) + '行,未填写需用天数', { icon: 7 });
// }
}
data.field.jsonData = JSON.stringify(list);
let loadingMsg = layer.msg('正在提交保存,请稍等...', {icon: 16, shade: 0.01, time: '0'});

View File

@ -8,12 +8,36 @@ let cjList = [];
let jjDetailArr = []; // 入库配件类型数据
function setParams(obj) {
objParam = JSON.parse(obj);
layui.use(["form", "table", 'element', 'layer', 'util'], function () {
layui.use(["form", "table", 'element', 'layer', 'util', 'upload'], function () {
form = layui.form;
table = layui.table;
element = layui.element;
layer = layui.layer;
util = layui.util;
upload = layui.upload;
// 渲染
upload.render({
elem: '#file', // 绑定多个元素
headers: {
authorization: sessionStorage.getItem("gz-token"),
},
url: dataUrl + "backstage/planApplication/importExcelTools", // 此处配置你自己的上传接口即可
accept: 'file', // 普通文件
acceptMime: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel',
exts: 'xlsx|xls', // 为空表示不限制文件后缀(如需限制特定类型,写如:'doc|docx|pdf|xlsx|jpg'
done: function (res) {
if (res.code == 200){
$.each(res.data, function (index, value) {
huancun.push(value.id);
huancunObj.push(value);
})
$('#num').html(huancun.length);
}
layer.msg('上传成功');
console.log(res);
}
});
initTable();
});
}
@ -317,6 +341,7 @@ function saveData2(params) {
layer.close(layerIndex);
closePage(1, JSON.stringify(dataArr));
});
// 替换对象
function updateOrAddObject2(id, newObject) {
const index = dataArr.findIndex(obj => obj.id === id);
@ -337,3 +362,7 @@ function closePage(type, params) {
}
parent.layer.close(index); // 再执行关闭
}
function toolsDownload() {
window.location.href = '../../../template/机具类型导入模板.xlsx';
}

View File

@ -46,6 +46,7 @@ function reloadTable(pageNum) {
encryptedData: JSON.stringify({
'keyWord': $('#keyWord').val(),
'auditStatus': $('#auditStatus').val(),
'mode': $('#mode').val(),
}),
},
},
@ -66,6 +67,7 @@ function initTable() {
encryptedData: JSON.stringify({
'keyWord': $('#keyWord').val(),
'auditStatus': $('#auditStatus').val(),
'mode': $('#mode').val(),
}),
},
request: {

View File

@ -16,6 +16,8 @@
<div id="basic-box">
<form class="layui-form layuimini-form" onclick="return false;" lay-filter="formInfo">
<div class="layui-form-item">
<input class="layui-input" id="mode" autocomplete="off" name="mode"
lay-verify="required" readonly style="cursor: pointer;display: none">
<div class="layui-inline">
<label class="layui-form-label required" style="width: 100px !important;">申请工程</label>
<div class="layui-input-inline">
@ -43,13 +45,13 @@
lay-verify="required" maxlength="50" lay-affix="clear">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label required" style="width: 110px !important;">施工地点</label>
<div class="layui-input-inline layui-input-wrap">
<input class="layui-input" name="projectContent" id="projectContent" autocomplete="off"
lay-verify="required" maxlength="50" lay-affix="clear">
</div>
</div>
<!-- <div class="layui-inline">-->
<!-- <label class="layui-form-label required" style="width: 110px !important;">施工地点</label>-->
<!-- <div class="layui-input-inline layui-input-wrap">-->
<!-- <input class="layui-input" name="projectContent" id="projectContent" autocomplete="off"-->
<!-- lay-verify="required" maxlength="50" lay-affix="clear">-->
<!-- </div>-->
<!-- </div>-->
</div>
<div class="layui-form-item">
<label class="layui-form-label required" style="width: 100px !important;">计划说明</label>
@ -91,11 +93,13 @@
</div>
<div class="layui-inline">
<button class="layui-btn layui-bg-blue" onclick="search()"><i class="layui-icon"></i>
</button>
</button>
<button class="layui-btn layui-btn-primary" onclick="resetSearch()"><i
class="layui-icon layui-icon-refresh"></i> 重 置</button>
<!-- <button class="layui-btn layui-bg-blue" onclick="chooseFitType()">选择机具</button> -->
<!-- <button class="layui-btn layui-bg-red" onclick="delFitType()">删除选中</button> -->
class="layui-icon layui-icon-refresh"></i> 重 置
</button>
<button class="layui-btn layui-bg-blue" onclick="chooseFitType()">选择机具</button>
<button class="layui-btn layui-bg-red" onclick="delFitType()">删除选中</button>
</div>
</div>
</form>
@ -123,7 +127,8 @@
</div>
</div>
<div class="btn-box">
<button class="layui-btn layui-bg-blue save" onclick="saveData2()">提交申请</button>
<button class="layui-btn layui-bg-blue save" onclick="saveData2('0')">保存草稿</button>
<button class="layui-btn layui-bg-blue save" onclick="saveData2('1')">提交申请</button>
<button class="layui-btn layui-btn-primary cancel" onclick="closePage()">返回</button>
</div>
</div>

View File

@ -16,6 +16,8 @@
<div id="basic-box">
<form class="layui-form layuimini-form" onclick="return false;">
<div class="layui-form-item">
<input class="layui-input" id="mode" autocomplete="off" name="mode"
lay-verify="required" readonly style="cursor: pointer;display: none">
<div class="layui-inline">
<label class="layui-form-label required" style="width: 100px !important;">申请工程</label>
<div class="layui-input-inline">
@ -90,9 +92,11 @@
</div>
<div class="layui-inline">
<button class="layui-btn layui-bg-blue" onclick="search()"><i class="layui-icon"></i>
</button>
</button>
<button class="layui-btn layui-btn-primary" onclick="resetSearch()"><i
class="layui-icon layui-icon-refresh"></i> 重 置</button>
class="layui-icon layui-icon-refresh"></i> 重 置
</button>
<button class="layui-btn layui-bg-blue" onclick="chooseFitType()">选择机具</button>
<button class="layui-btn layui-bg-red" onclick="delFitType()">删除选中</button>
</div>
@ -122,7 +126,8 @@
</div>
</div>
<div class="btn-box">
<button class="layui-btn layui-bg-blue save" onclick="saveData2()">提交申请</button>
<button class="layui-btn layui-bg-blue save" onclick="saveData2('0')">保存草稿</button>
<button class="layui-btn layui-bg-blue save" onclick="saveData2('1')">提交申请</button>
<button class="layui-btn layui-btn-primary cancel" onclick="closePage()">返回</button>
</div>
</div>

View File

@ -55,13 +55,22 @@
</div>
<div class="layui-inline">
<button class="layui-btn layui-bg-blue" onclick="queryTable(1)"><i
class="layui-icon"></i> 搜 索</button>
class="layui-icon"></i> 搜 索
</button>
<button class="layui-btn layui-btn-primary" onclick="queryTable(2)"><i
class="layui-icon layui-icon-refresh"></i> 重 置</button>
class="layui-icon layui-icon-refresh"></i> 重 置
</button>
</div>
<div class="layui-inline">
<p style="color: red;font-weight: bold;">已选:<span id="num">0</span></p>
</div>
<div class="layui-inline" style="float: right">
<button class="layui-btn layui-bg-blue" onclick="toolsDownload()">模版下载</button>
<button type="button" id="file" class="layui-btn layui-bg-blue" lay-options="{accept: 'file'}">
<i class="layui-icon layui-icon-upload"></i>
上传文件
</button>
</div>
</div>
</form>
</div>

View File

@ -49,6 +49,8 @@
<div style="margin: 10px 10px 10px 10px">
<form class="layui-form layui-form-pane" action="#" onsubmit="return false;">
<input type="text" value="1" id="auditStatus" name="auditStatus" hidden>
<input type="text" value="1" id="mode" name="mode" hidden>
<div class="layui-form-item">
<div class="layui-inline">
<div class="layui-input-inline" style="width: 300px;">

Binary file not shown.