diff --git a/js/car_demand_plan/child/apply_plan_detail.js b/js/car_demand_plan/child/apply_plan_detail.js index 4ad1abd..386d35a 100644 --- a/js/car_demand_plan/child/apply_plan_detail.js +++ b/js/car_demand_plan/child/apply_plan_detail.js @@ -4,11 +4,12 @@ let form, layer, table; let isPage = getUrlParam('isPage'); if (isPage) { // 首页跳转 $('#plan-detail-box>div').eq(0).remove(); - $('#plan-detail-box').css({ 'justify-content': 'end', 'height': '50px' }); + $('#plan-detail-box').css({'justify-content': 'end', 'height': '50px'}); $('body').css('margin', '0'); let obj = decodeURIComponent(getUrlParam('obj')) setParams(obj); } + function setParams(obj) { objParam = JSON.parse(obj); if (objParam.checkType === 2) { @@ -60,10 +61,48 @@ function setPlanBasicTableInfo(obj) { $('#carStart').html(obj.carStart); $('#carEnd').html(obj.carEnd); + setRoutePoint(obj.routePoint); + // 附件文档 setFileTable(obj.fileList); } +function setRoutePoint(data) { + // 清空之前的表格 + $('#routePoint').empty(); + let html = ''; + html += ""; + if (data != null && data !== "") { + // 分割数据并过滤掉空值 + let result = data.split("routePoint;").filter(item => item.trim() !== ""); + if (result && result.length > 0) { + // 动态生成表头 + html += ""; + for (let i = 0; i < Math.min(result.length, 4); i++) { + html += ""; + } + html += ""; + // 动态生成表格内容,每行最多 4 列 + let rowCount = Math.ceil(result.length / 4); // 计算需要多少行 + for (let row = 0; row < rowCount; row++) { + html += ""; + for (let col = 0; col < 4; col++) { + let index = row * 4 + col; + if (index < result.length) { + html += ""; + } else { + html += ""; // 如果没有数据,填充空白单元格 + } + } + html += ""; + } + } + } + html += "
途经点
" + result[index] + "
"; + // 将生成的 HTML 插入到页面中 + $('#routePoint').append(html); +} + // 附件文档赋值 function setFileTable(fileList) { $('#file-table tr:not(:first)').remove(); @@ -140,13 +179,13 @@ function queryTable(type) { let flag = checkValue(name); if (flag) { $('#name').val(''); - return layer.msg('名称查询包含特殊字符,请重新输入', { icon: 2 }); + return layer.msg('名称查询包含特殊字符,请重新输入', {icon: 2}); } let model = $('#model').val(); let flag2 = checkValue(model); if (flag2) { $('#model').val(''); - return layer.msg('规格查询包含特殊字符,请重新输入', { icon: 2 }); + return layer.msg('规格查询包含特殊字符,请重新输入', {icon: 2}); } reloadTable(1); } else if (type === 2) { @@ -165,17 +204,17 @@ function reloadData() { // 重载表格 function reloadTable(pageNum) { table.reload("currentTableId", { - page: { - curr: pageNum ? pageNum : 1, + page: { + curr: pageNum ? pageNum : 1, + }, + where: { + encryptedData: JSON.stringify({ + 'name': $('#name').val(), + 'model': $('#model').val(), + 'id': objParam.id + }), + }, }, - where: { - encryptedData: JSON.stringify({ - 'name': $('#name').val(), - 'model': $('#model').val(), - 'id': objParam.id - }), - }, - }, ); } @@ -270,7 +309,7 @@ function initTable() { { field: "backDate", width: '10%', - title: "退还日期", + title: "预计使用时间", unresize: true, align: "center", sort: true, diff --git a/js/car_demand_plan/child/apply_plan_edit_form.js b/js/car_demand_plan/child/apply_plan_edit_form.js index 3b43c80..a79310b 100644 --- a/js/car_demand_plan/child/apply_plan_edit_form.js +++ b/js/car_demand_plan/child/apply_plan_edit_form.js @@ -5,6 +5,10 @@ let jjDataArr = []; // 配件数据 let proList = []; // 工程下拉选 let delIdArr = []; let detailIdArr = []; + +let addNum = 0; +let addNums = 1; +let tjdDataArr = new Array(); // 厂家的安全工器具数据 function setParams(obj) { objParam = JSON.parse(obj); layui.use(['form', 'layer', 'laydate', 'upload', 'table'], function () { @@ -119,6 +123,16 @@ function getPlanDetails() { $('#uploader-list').append(html); setTable(obj.detailList); + + //途径点 + if (obj.routePoint != null && obj.routePoint !== "") { + let result = obj.routePoint.split("routePoint;").filter(item => item.trim() !== ""); + $('#routePoint').val(result[0]) + for (let i = 1; i < result.length; i++) { + addTjd(); + $('#routePoint' + addNum).val(result[i]); + } + } layui.form.render(); } // 申请明细 @@ -168,12 +182,15 @@ function submitApply(data) { if (parseInt(list[i].needNum) === 0) { return layer.msg('申请明细数据' + (i + 1) + '行,未填写需用量', { icon: 7 }); } - if (parseInt(list[i].needDay) === 0) { - return layer.msg('申请明细数据' + (i + 1) + '行,未填写需用天数', { icon: 7 }); - } } - + let routePointStr = ""; // + $('input[name="routePoint"]').each(function (index, item) { + let routePoint = $('input[name="routePoint"]').eq(index).val(); + // 拼接字符串 + routePointStr += routePoint + "routePoint;"; + }) + data.field.routePoint = routePointStr; data.field.id = objParam.id; data.field.detailList = list; @@ -246,7 +263,8 @@ function getBaseTableData() { model: $(this).find('td').eq(4).html(), unit: $(this).find('td').eq(5).html(), needNum: needNum ? needNum : 0, - needDay: times ? times : 0, + // needDay: times ? times : 0, + backDate: times, remark: $(this).find('td').eq(8).find('input[name="remarks"]').val(), }) }) @@ -344,7 +362,7 @@ function setTableData(results) { html += "" + l.model + ""; html += "" + l.unit + ""; html += "" + setFormInput(l.needNum, 1) + ""; - html += "" + setFormInput(l.times == null ? 0 : l.times, 2) + ""; + html += "" + setFormInput(l.backDate == null ? 0 : l.backDate, 2) + ""; html += "" + setFormInput(l.remarks, 3) + ""; html += ""; } @@ -352,6 +370,12 @@ function setTableData(results) { html += "没有相关数据"; } $("#baseTable tbody").empty().append(html); + $('.refund-date').each(function(){ + laydate.render({ + elem: this, // 指定元素 + type: 'date' // 可选,指定为日期类型,默认即是'date' + }); + }); layui.form.render(); } @@ -360,7 +384,8 @@ function setFormInput(value, type) { if (type === 1) { // 需用量 html += ''; } else if (type === 2) { // 需用天数 - html += ''; + // html += ''; + html += ''; } else if (type === 3) { // 备注 html += ''; } @@ -546,6 +571,50 @@ function handleFileType(index, file, result) { return html; } + +// 添加途径点 +function addTjd() { + addNum = addNum + 1; + addNums ++; + if(addNums>10){ + addNum= 10; + addNums =10; + layer.msg('途径点不能超过10个!', { icon: 5 }) + return false; + } + let html = '
' + + '
' + + '' + + '
' + + '' + + '
' + + '
' + + '' + + '
'; + let addTjdNum = $('.addTjd').length; + if (addTjdNum === 0) { + $('#tjd').after(html); + } else { + $('.addTjd').eq(addTjdNum - 1).after(html); + } + layui.form.render(); +} +// 删除途径点 +function delTjd(that, addNum) { + addNums = addNums -1; + let tjdId = $('#routePoint' + addNum).val(); + $(that).parent('.layui-form-item').remove(); + if (tjdId) { + // 删除缓存数据 + for (let i = 0; i < tjdDataArr.length; i++) { + if (tjdDataArr[i].tjdId == tjdId) { + tjdDataArr.splice(i, 1); + break; + } + } + } +} + // 关闭页面 function closePage(type) { let index = parent.layer.getFrameIndex(window.name); // 先得到当前 iframe层的索引 diff --git a/js/car_demand_plan/child/apply_plan_form.js b/js/car_demand_plan/child/apply_plan_form.js index baeee22..9bbb89b 100644 --- a/js/car_demand_plan/child/apply_plan_form.js +++ b/js/car_demand_plan/child/apply_plan_form.js @@ -4,6 +4,9 @@ let pageNum = 1, tableIns; // 定义分页 let jjDataArr = []; // 配件数据 let proList = []; // 工程下拉选 let delIdArr = []; +let addNum = 0; +let addNums = 1; +let tjdDataArr = new Array(); // 厂家的安全工器具数据 function setParams(obj) { objParam = JSON.parse(obj); layui.use(['form', 'layer', 'laydate', 'upload', 'table'], function () { @@ -131,6 +134,13 @@ function submitApply(data) { } + let routePointStr = ""; // + $('input[name="routePoint"]').each(function (index, item) { + let routePoint = $('input[name="routePoint"]').eq(index).val(); + // 拼接字符串 + routePointStr += routePoint + "routePoint;"; + }) + console.log("routePointStr",routePointStr) let loadingMsg = layer.msg('正在提交保存,请稍等...', { icon: 16, shade: 0.01, time: '0' }); let url = dataUrl + 'backstage/carNeedPlan/addNeedPlanData'; @@ -143,6 +153,7 @@ function submitApply(data) { data.field.detailList = list; data.field.applyType = '0'; + data.field.routePoint = routePointStr; console.error(data.field); formData.append('params', JSON.stringify(data.field)); ajaxRequestByUploadFile(url, formData, function () { @@ -180,7 +191,8 @@ function getBaseTableData() { model: $(this).find('td').eq(4).html(), unit: $(this).find('td').eq(5).html(), needNum: needNum ? needNum : 0, - needDay: times ? times : 0, + // needDay: times ? times : 0, + backDate: times ? times : 0, remark: $(this).find('td').eq(8).find('input[name="remarks"]').val(), }) }) @@ -284,6 +296,12 @@ function setTableData(results) { html += "没有相关数据"; } $("#baseTable tbody").empty().append(html); + $('.refund-date').each(function(){ + laydate.render({ + elem: this, // 指定元素 + type: 'date' // 可选,指定为日期类型,默认即是'date' + }); + }); layui.form.render(); } @@ -292,7 +310,8 @@ function setFormInput(value, type) { if (type === 1) { // 需用量 html += ''; } else if (type === 2) { // 需用天数 - html += ''; + html += ''; + // html += ''; } else if (type === 3) { // 备注 html += ''; } @@ -472,6 +491,50 @@ function handleFileType(index, file, result) { return html; } + +// 添加途径点 +function addTjd() { + addNum = addNum + 1; + addNums ++; + if(addNums>10){ + addNum= 10; + addNums =10; + layer.msg('途径点不能超过10个!', { icon: 5 }) + return false; + } + let html = '
' + + '
' + + '' + + '
' + + '' + + '
' + + '
' + + '' + + '
'; + let addTjdNum = $('.addTjd').length; + if (addTjdNum === 0) { + $('#tjd').after(html); + } else { + $('.addTjd').eq(addTjdNum - 1).after(html); + } + layui.form.render(); +} +// 删除途径点 +function delTjd(that, addNum) { + addNums = addNums -1; + let tjdId = $('#routePoint' + addNum).val(); + $(that).parent('.layui-form-item').remove(); + if (tjdId) { + // 删除缓存数据 + for (let i = 0; i < tjdDataArr.length; i++) { + if (tjdDataArr[i].tjdId == tjdId) { + tjdDataArr.splice(i, 1); + break; + } + } + } +} + // 关闭页面 function closePage(type) { let index = parent.layer.getFrameIndex(window.name); // 先得到当前 iframe层的索引 diff --git a/js/car_demand_plan/child/choose_type_list.js b/js/car_demand_plan/child/choose_type_list.js index 2934f70..e9e8bdc 100644 --- a/js/car_demand_plan/child/choose_type_list.js +++ b/js/car_demand_plan/child/choose_type_list.js @@ -1,5 +1,5 @@ let objParam; -let form, table, element, tableIns, layer, util; +let form, table, element, tableIns, layer, util,laydate; let pageNum = 1; let quanju = new Array();//全局 let huancun = new Array();//缓存 @@ -8,12 +8,13 @@ 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','laydate'], function () { form = layui.form; table = layui.table; element = layui.element; layer = layui.layer; util = layui.util; + laydate = layui.laydate; initTable(); }); } @@ -158,12 +159,17 @@ function initTable() { }, { field: "times", - width: '15%', - title: " * 需用天数", + width: "15%", + title: "预计使用时间", unresize: true, align: "center", - edit: 'text', - style: 'outline: 1px solid #e6e6e6;outline-offset: -5px;', + templet: (d) => + '
', + style: "outline: 1px solid #e6e6e6;outline-offset: -5px;", }, { field: "remarks", @@ -205,6 +211,20 @@ function initTable() { $('.layui-table th[data-field="0"] input[type="checkbox"]').prop('checked', true);//data-field值默认为0,如果在分页部分自定义了属性名,则需要改成对应的属性名 $('.layui-table th[data-field="0"] input[type="checkbox"]').next().addClass('layui-form-checked');//data-field值默认为0,如果在分页部分自定义了属性名,则需要改成对应的属性名 } + // 初始化日期选择器 + res.data.forEach((item) => { + laydate.render({ + elem: "#date_" + item.id, + done: (value) => { + // 更新数据 + const data = {} + data.id = item.id + data.times = value + item.times = data.times + updateOrAddObject(item.id, item) + }, + }) + }) }, }); table.on('edit(currentTableId2)', function (obj) { @@ -218,15 +238,7 @@ function initTable() { return layer.msg('需用量格式不正确,最大数量只能输入10,且为正整数!', { icon: 7 }) } } - } else if (field === 'times') { // 需用天数 - if (value) { - const regex = /^(0|[1-9]\d{0,6})$/; - if (!regex.test(value)) { - obj.reedit(); - return layer.msg('需用天数格式不正确,最大输入6位数,且为正整数!', { icon: 7 }) - } - } - } else if (field === 'remarks') { // 备注 + } else if (field === 'remarks') { // 备注 if (value) { if (value.length > 255) { obj.reedit(); @@ -276,7 +288,7 @@ function initTable() { }); } -// 根据id 判断对象数组的对象是否存在 如果存在则替换,不存在则添加 +// 根据id 判断对象数组的对象是否存在 如果存在则替换,不存在则添加 function updateOrAddObject(id, newObject) { const index = jjDetailArr.findIndex(obj => obj.id === id); if (index !== -1) { @@ -348,4 +360,4 @@ function closePage(type, params) { window.parent.addFitDatas(params); } parent.layer.close(index); // 再执行关闭 -} \ No newline at end of file +} diff --git a/page/car_demand_plan/child/apply_plan_detail.html b/page/car_demand_plan/child/apply_plan_detail.html index 3ba4068..f688dd6 100644 --- a/page/car_demand_plan/child/apply_plan_detail.html +++ b/page/car_demand_plan/child/apply_plan_detail.html @@ -80,6 +80,7 @@ +
diff --git a/page/car_demand_plan/child/apply_plan_edit_form.html b/page/car_demand_plan/child/apply_plan_edit_form.html index 12f889c..87fab8a 100644 --- a/page/car_demand_plan/child/apply_plan_edit_form.html +++ b/page/car_demand_plan/child/apply_plan_edit_form.html @@ -119,6 +119,21 @@
+
+
+ +
+ +
+
+
+
+

多个途径点请点击继续,最多10个

+
添加途径点
+
+ @@ -192,7 +207,7 @@ 规格 单位 *需用量 - *需用天数 + 预计使用时间 备注 diff --git a/page/car_demand_plan/child/apply_plan_form.html b/page/car_demand_plan/child/apply_plan_form.html index acc8961..6361007 100644 --- a/page/car_demand_plan/child/apply_plan_form.html +++ b/page/car_demand_plan/child/apply_plan_form.html @@ -123,6 +123,22 @@ + +
+
+ +
+ +
+
+
+
+

多个途径点请点击继续,最多10个

+
添加途径点
+
+
@@ -193,7 +209,7 @@ 规格 单位 *需用量 - *需用天数 + 预计使用时间 备注