From 9030f677578c30e689de929da73f6026eeead13e Mon Sep 17 00:00:00 2001 From: lSun <15893999301@qq.com> Date: Thu, 25 Jul 2024 20:08:04 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=95=E9=AA=8C=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../js/basis/standard/child/testForm.js | 68 ++++++++++++++++++- .../js/basis/standard/child/testList.js | 51 ++++++++++++-- .../js/basis/standard/testManagementList.js | 22 +++++- .../js/basis/tools/testStandardsList.js | 44 +++++++++++- src/main/resources/static/js/openIframe.js | 34 ++++++++++ .../pages/basic/standard/child/testList.html | 1 + .../basic/standard/testManagementList.html | 3 +- .../pages/basic/tools/testStandardsList.html | 3 +- 8 files changed, 211 insertions(+), 15 deletions(-) diff --git a/src/main/resources/static/js/basis/standard/child/testForm.js b/src/main/resources/static/js/basis/standard/child/testForm.js index 3912386..26bec80 100644 --- a/src/main/resources/static/js/basis/standard/child/testForm.js +++ b/src/main/resources/static/js/basis/standard/child/testForm.js @@ -354,6 +354,9 @@ function saveData(data) { //获取试验项内容列表 var items = convertToItems(data.field); + if(data.field["id"] !=""){ + items = convertToItemsUpdate(data.field); + } // 获取select元素 // var selectElement = document.getElementById('devCode'); @@ -392,7 +395,7 @@ function saveData(data) { // 'paramsData':paramsData } - + debugger; console.log(obj) let loadingMsg = layer.msg('数据上传中,请稍候...', {icon: 16, scrollbar: false, time: 0}); @@ -501,6 +504,7 @@ function convertToExperDevList(originalData){ return experDevList; } + function convertToItems(obj){ var dataField = obj; var items = []; @@ -531,6 +535,8 @@ function convertToItems(obj){ // 填充 itemName 数据 Object.keys(dataField).forEach(key => { if (key.startsWith('itemName-')) { + debugger + const parts = key.split('-'); const experTypeIndex = parts[1]; const itemIndex = parts[2]; @@ -553,6 +559,64 @@ function convertToItems(obj){ items.sort((a, b) => a.itemsSort - b.itemsSort); return items; } +function convertToItemsUpdate(obj){ + var dataField = obj; + var items = []; + // 先收集所有的 experTypeName 键名,以便知道有多少个试验项 + var experTypeNames = Object.keys(dataField).filter(key => key.startsWith('experTypeName-')); + var experTypeCount = experTypeNames.length; + + // 预创建试验项对象,先不填充数据 + for (let i = 0; i < experTypeCount; i++) { + items.push({ + "id":"", + "experTypeCode": "", + "experTypeName": "", + "experNum": 0, // 将会在后面设置 + "itemsSort": i + 1, + "amount": "", + "item": [] + }); + } + + // 填充数据 + experTypeNames.forEach(key => { + const experTypeIndex = key.split('-')[1]; + const item = items[experTypeIndex - 1]; + item.experTypeName = dataField[key]; + item.amount = dataField['amount-' + experTypeIndex]; + item.id= dataField['experTypeId-' + experTypeIndex]; + }); + + // 填充 itemName 数据 + Object.keys(dataField).forEach(key => { + if (key.startsWith('itemName-')) { + debugger + + const parts = key.split('-'); + const experTypeIndex = parts[1]; + const itemIndex = parts[2]; + const itemNum = parseInt(itemIndex); + const itemName = dataField[key]; + const id = dataField['itemId-' + experTypeIndex + '-' + itemNum]; + + // 找到对应的试验项并添加试验项内容 + items[experTypeIndex - 1].item.push({ + "id":id, + "itemName": itemName, + "itemNum": itemNum + }); + } + }); + + // 设置 experNum 为 item 数组的长度 + items.forEach(item => { + item.experNum = item.item.length; + }); + // 按照 itemsSort 排序 + items.sort((a, b) => a.itemsSort - b.itemsSort); + return items; +} function getTestById() { let loadingMsg = layer.msg("数据加载中,请稍候...", {icon: 16, scrollbar: false, time: 0,}); @@ -688,6 +752,7 @@ function generateHeaders(data) { // firstLevelHeader.textContent = `${item.experTypeName} - ${item.amount}`; firstLevelHeader.innerHTML=` ${item.experTypeName} - ${item.amount} + `; @@ -699,6 +764,7 @@ function generateHeaders(data) { secondLevelHeader.classList.add('center-aligned'); secondLevelHeader.innerHTML=` ${subItem.itemName} + ` // secondLevelHeader.textContent = subItem.itemName; diff --git a/src/main/resources/static/js/basis/standard/child/testList.js b/src/main/resources/static/js/basis/standard/child/testList.js index afc570b..46d0d18 100644 --- a/src/main/resources/static/js/basis/standard/child/testList.js +++ b/src/main/resources/static/js/basis/standard/child/testList.js @@ -1,6 +1,8 @@ let form, layer, table, tableIns,idParam,customNumParam; let pageNum = 1, limitSize = 10; // 默认第一页,分页数量为10 +var pers = checkPermission(); + function setParams(params) { idParam = JSON.parse(params).id; customNumParam = JSON.parse(params).customNum; @@ -140,16 +142,26 @@ function initTable(dataList, limit, page) { {title: "原始记录", unresize: true, width: 300, align: "center", templet: function (d) { var html = ''; - let search =""; + let search =""; + let edit = ""; + + var experId = d.experId; + var sampleId = d.sampleId; + var devTypeCode = d.devTypeCode; + if(d.status != "待试验"){ - search=""; + search = buttonCheck(experId,sampleId,devTypeCode, "", pers); + // search=""; } if (d.status == "待试验" || d.status == "待提交" || d.status == "审阅不通过" || d.status == "审核不通过" || d.status == "审批不通过") { - let edit=""; - html=search+edit; - } else { - html=search; + // edit=""; + if (experId!=null && experId!='null') { + edit=buttonEditTest(experId,sampleId,devTypeCode, "sys:experimentalTest:edit", pers); + }else{ + edit=buttonAdd(experId,sampleId,devTypeCode, "sys:experimentalTest:add", pers); + } } + html = search+edit; return html; } }, @@ -248,6 +260,15 @@ function reloadData() { } // 查看 +function buttonCheck(experId,sampleId,devTypeCode, permission, pers){ + if(permission != ""){ + if ($.inArray(permission, pers) < 0) { + return "" + } + } + var btn=$(""); + return btn.prop("outerHTML"); +} function checkData(experId,sampleId,devTypeCode) { let param = { 'experId': experId, @@ -259,6 +280,24 @@ function checkData(experId,sampleId,devTypeCode) { } // 试验新增、修改 +function buttonEditTest(experId,sampleId,devTypeCode, permission, pers){ + if(permission != ""){ + if ($.inArray(permission, pers) < 0) { + return "" + } + } + var btn=$(""); + return btn.prop("outerHTML"); +} +function buttonAdd(experId,sampleId,devTypeCode, permission, pers){ + if(permission != ""){ + if ($.inArray(permission, pers) < 0) { + return "" + } + } + var btn= $(""); + return btn.prop("outerHTML"); +} function addData(experId,sampleId,devTypeCode) { let title = '新增试验' if (experId!=null && experId!='null') { diff --git a/src/main/resources/static/js/basis/standard/testManagementList.js b/src/main/resources/static/js/basis/standard/testManagementList.js index 5a04d5e..324ed53 100644 --- a/src/main/resources/static/js/basis/standard/testManagementList.js +++ b/src/main/resources/static/js/basis/standard/testManagementList.js @@ -3,6 +3,8 @@ let pageNum = 1, limitSize = 10; // 默认第一页,分页数量为10 let temp_table_list = []; // 临时保存每页的所有数据 let temp_all_list = []; // 临时保存所有选中的数据 +var pers = checkPermission(); + layui.use(['form', 'layer', 'table', 'laydate'], function () { form = layui.form; layer = layui.layer; @@ -127,7 +129,11 @@ function initTable(dataList, limit, page) { },*/ {title: "操作", unresize: true, width: 300, align: "center", templet: function (d) { - return ''; + var id = d.id; + var customNum = d.customNum + var edit = buttonTest(id,customNum, "sys:experimentalTest:query", pers); + return edit; + //return ''; } }, ], @@ -247,14 +253,24 @@ function reloadData() { pages(pageNum, limitSize); } -// 试验标准新增、修改 +// 试验验详情查询 +function buttonTest(id,customNum, permission, pers){ + if(permission != ""){ + if ($.inArray(permission, pers) < 0) { + return ""; + } + } + //return ''; + var btn = $(""); + return btn.prop("outerHTML"); +} function testClick(id,customNum) { let title = '试验' let param = { 'id': id, 'customNum':customNum } - openIframeMax("testList", title, "child/testList.html", '100%', '100%', param); + openIframeMaxRefresh("testList", title, "child/testList.html", '100%', '100%', param); } function getDevSelected() { diff --git a/src/main/resources/static/js/basis/tools/testStandardsList.js b/src/main/resources/static/js/basis/tools/testStandardsList.js index 2873aa7..b073b60 100644 --- a/src/main/resources/static/js/basis/tools/testStandardsList.js +++ b/src/main/resources/static/js/basis/tools/testStandardsList.js @@ -1,5 +1,7 @@ let form, layer, table, tableIns; let pageNum = 1, limitSize = 10; // 默认第一页,分页数量为10 + +var pers = checkPermission(); layui.use(['form', 'layer', 'table', 'laydate'], function () { form = layui.form; layer = layui.layer; @@ -70,9 +72,15 @@ function initTable(dataList, limit, page) { templet: function (d) { let html = ''; - let del="" - let edit=""; - let search=""; + let id = d.id; + + var edit = buttonEdit(id, "sys:experimentStandard:edit", pers); + var search = buttonSearch(id, "", pers); + var del = buttonDel(id, "sys:experimentStandard:del", pers); + + // let del="" + // let edit=""; + // let search=""; html=search+edit+del; return html; } @@ -122,6 +130,15 @@ function reloadData() { } // 试验标准新增、修改 +function buttonEdit(id, permission, pers){ + if(permission != ""){ + if ($.inArray(permission, pers) < 0) { + return ""; + } + } + var btn = $(""); + return btn.prop("outerHTML"); +} function addData(id) { let title = '新增试验标准' if (id) { @@ -134,6 +151,16 @@ function addData(id) { } // 查看试验标准 +function buttonSearch(id, permission, pers){ + if(permission != ""){ + if ($.inArray(permission, pers) < 0) { + return ""; + } + } + + var btn = $(""); + return btn.prop("outerHTML"); +} function checkData(id) { let param = { 'id': id @@ -142,6 +169,17 @@ function checkData(id) { } /*删除用户*/ + +function buttonDel(id, permission, pers){ + if(permission != ""){ + if ($.inArray(permission, pers) < 0) { + return ""; + } + } + var btn = $(""); + return btn.prop("outerHTML"); +} + function delData(id) { layer.confirm("确定删除吗?", { move: false diff --git a/src/main/resources/static/js/openIframe.js b/src/main/resources/static/js/openIframe.js index f930c62..db53bae 100644 --- a/src/main/resources/static/js/openIframe.js +++ b/src/main/resources/static/js/openIframe.js @@ -181,6 +181,40 @@ function openIframeMax(id, title, content, width, height, params) { // console.log(layer) // layer.max(layerIndex) + // 弹窗打开后立即调用 layer.full + // layer.full(layerIndex); +} + +//关闭后刷新页面 +function openIframeMaxRefresh(id, title, content, width, height, params) { + let layerIndex = layer.open({ + id: id, + type: 2, + title: ['
' + title + '
', 'font-size:16px;background-color:#f0f0f0;display: flex;align-items: center;'], + content: content, + shade: 0.3, + shadeClose: false, + area: [width, height], + maxmin: true, + move: false, + success: function () { + let iframeWin = window["layui-layer-iframe" + layerIndex]; + // console.log(params) + iframeWin.setParams(JSON.stringify(params)); + }, + cancel:function () { + // 视频监控-历史回放关闭前回调 + if(params.videoMonitor){ + let iframeWin = window["layui-layer-iframe" + layerIndex]; + iframeWin.clickLogout(); + } + },end:function () { + reloadData() + } + }); + // console.log(layer) + // layer.max(layerIndex) + // 弹窗打开后立即调用 layer.full // layer.full(layerIndex); } \ No newline at end of file diff --git a/src/main/resources/static/pages/basic/standard/child/testList.html b/src/main/resources/static/pages/basic/standard/child/testList.html index df5eb0d..4c3b29f 100644 --- a/src/main/resources/static/pages/basic/standard/child/testList.html +++ b/src/main/resources/static/pages/basic/standard/child/testList.html @@ -11,6 +11,7 @@ + 试验 diff --git a/src/main/resources/static/pages/basic/standard/testManagementList.html b/src/main/resources/static/pages/basic/standard/testManagementList.html index 5127119..5f7c0ae 100644 --- a/src/main/resources/static/pages/basic/standard/testManagementList.html +++ b/src/main/resources/static/pages/basic/standard/testManagementList.html @@ -13,6 +13,7 @@ + 试验管理 @@ -45,7 +46,7 @@
- -