From 5d5af422abf92cd4fc058a09e133f761db540b06 Mon Sep 17 00:00:00 2001 From: hayu <1604366271@qq.com> Date: Fri, 26 Jul 2024 14:08:48 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A3=80=E6=B5=8B=E6=8A=A5=E5=91=8A=E7=AE=A1?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SamplesManageController.java | 14 ++ .../TestReportManageController.java | 6 + .../aqgqj/basis/dao/TestReportManageDao.java | 25 ++++ .../basis/entity/dto/SamplesManageDto.java | 9 ++ .../basis/service/SamplesManageService.java | 7 + .../service/TestReportManageService.java | 8 ++ .../impl/SamplesManageServiceImpl.java | 19 ++- .../impl/TestReportManageServiceImpl.java | 22 ++- .../com/bonus/aqgqj/utils/SystemUtils.java | 36 +++++ .../mappers/basis/SamplesManageMapper.xml | 9 +- .../mappers/basis/TestReportManageMapper.xml | 41 ++++++ .../static/js/samples/child/samplesAdd.js | 3 +- .../static/js/samples/child/samplesForm.js | 72 ++++++++-- .../resources/static/js/samples/samplesMge.js | 33 +++++ .../js/testReport/child/testReportForm.js | 20 ++- .../js/testReport/child/testReportView.js | 136 ++++++++++++++++++ .../pages/samples/child/samplesForm.html | 53 +++++++ .../static/pages/samples/samplesMge.html | 4 +- .../testReport/child/testReportView.html | 45 ++++++ 19 files changed, 539 insertions(+), 23 deletions(-) create mode 100644 src/main/resources/static/js/testReport/child/testReportView.js create mode 100644 src/main/resources/static/pages/testReport/child/testReportView.html diff --git a/src/main/java/com/bonus/aqgqj/basis/controller/SamplesManageController.java b/src/main/java/com/bonus/aqgqj/basis/controller/SamplesManageController.java index 046770f..77bce3d 100644 --- a/src/main/java/com/bonus/aqgqj/basis/controller/SamplesManageController.java +++ b/src/main/java/com/bonus/aqgqj/basis/controller/SamplesManageController.java @@ -156,5 +156,19 @@ public class SamplesManageController { return ServerResponse.createErroe("操作失败"); } + @PostMapping(value = "getAuthority") + @DecryptAndVerify(decryptedClass = SamplesManageDto.class) + @LogAnnotation(operModul = "收样管理", operation = "查询是否具有派工/收样权限", operDesc = "业务级事件",operType="查询") + @PreAuthorize("@pms.hasPermission('sys:samples:query')" ) + public ServerResponse getAuthority(EncryptedReq data) { + try { + Boolean res = samplesManageService.getAuthority(data.getData()); + return ServerResponse.createSuccess(res); + }catch (Exception e){ + log.error(e.toString(),e); + } + return ServerResponse.createErroe("操作失败"); + } + } diff --git a/src/main/java/com/bonus/aqgqj/basis/controller/TestReportManageController.java b/src/main/java/com/bonus/aqgqj/basis/controller/TestReportManageController.java index e8a3fcf..0e279fe 100644 --- a/src/main/java/com/bonus/aqgqj/basis/controller/TestReportManageController.java +++ b/src/main/java/com/bonus/aqgqj/basis/controller/TestReportManageController.java @@ -2,6 +2,7 @@ package com.bonus.aqgqj.basis.controller; import com.bonus.aqgqj.annotation.DecryptAndVerify; import com.bonus.aqgqj.annotation.LogAnnotation; +import com.bonus.aqgqj.basis.entity.dto.ParamsDto; import com.bonus.aqgqj.basis.entity.dto.TestReportManageDto; import com.bonus.aqgqj.basis.service.TestReportManageService; import com.bonus.aqgqj.system.vo.EncryptedReq; @@ -138,5 +139,10 @@ public class TestReportManageController { } } + @PostMapping(value = "viewTestData") + @DecryptAndVerify(decryptedClass = TestReportManageDto.class)//加解密统一管理 + public ServerResponse viewTestData(EncryptedReq data) { + return testReportManageService.viewTestData(data.getData()); + } } diff --git a/src/main/java/com/bonus/aqgqj/basis/dao/TestReportManageDao.java b/src/main/java/com/bonus/aqgqj/basis/dao/TestReportManageDao.java index a225638..de91e0f 100644 --- a/src/main/java/com/bonus/aqgqj/basis/dao/TestReportManageDao.java +++ b/src/main/java/com/bonus/aqgqj/basis/dao/TestReportManageDao.java @@ -1,6 +1,10 @@ package com.bonus.aqgqj.basis.dao; +import com.bonus.aqgqj.basis.entity.dto.ParamsDto; import com.bonus.aqgqj.basis.entity.dto.TestReportManageDto; +import com.bonus.aqgqj.basis.entity.vo.ConfigItemVo; +import com.bonus.aqgqj.basis.entity.vo.ConfigItemsVo; +import com.bonus.aqgqj.basis.entity.vo.ExperDevVo; import org.apache.ibatis.annotations.MapKey; import org.apache.ibatis.annotations.Mapper; @@ -105,4 +109,25 @@ public interface TestReportManageDao { */ @MapKey("devCode") List> getExperDevItems(TestReportManageDto dto); + + /** + * 试验项信息 + * @param dto + * @return + */ + List getExperItems(TestReportManageDto dto); + + /** + * 试验项内容信息 + * @param id + * @return + */ + List getExperItem(Long id); + + /** + * 试验样品设备 + * @param dto + * @return + */ + List getExperDev(TestReportManageDto dto); } diff --git a/src/main/java/com/bonus/aqgqj/basis/entity/dto/SamplesManageDto.java b/src/main/java/com/bonus/aqgqj/basis/entity/dto/SamplesManageDto.java index 16cb9fa..4369ca1 100644 --- a/src/main/java/com/bonus/aqgqj/basis/entity/dto/SamplesManageDto.java +++ b/src/main/java/com/bonus/aqgqj/basis/entity/dto/SamplesManageDto.java @@ -143,10 +143,19 @@ public class SamplesManageDto extends PageEntity { */ private Integer createBy; + /** + * 修改人 + */ + private Integer updateBy; + /** * 试验项内容数量 */ private Integer experItemNum; + /** + * 流程状态 + */ + private Integer processStatus; } diff --git a/src/main/java/com/bonus/aqgqj/basis/service/SamplesManageService.java b/src/main/java/com/bonus/aqgqj/basis/service/SamplesManageService.java index 3d79ac4..87932de 100644 --- a/src/main/java/com/bonus/aqgqj/basis/service/SamplesManageService.java +++ b/src/main/java/com/bonus/aqgqj/basis/service/SamplesManageService.java @@ -63,4 +63,11 @@ public interface SamplesManageService { * @return */ List getDeptSelectedById(SamplesManageDto data); + + /** + * 查询权限 + * @param data + * @return + */ + Boolean getAuthority(SamplesManageDto data); } diff --git a/src/main/java/com/bonus/aqgqj/basis/service/TestReportManageService.java b/src/main/java/com/bonus/aqgqj/basis/service/TestReportManageService.java index f5af704..76eaf9c 100644 --- a/src/main/java/com/bonus/aqgqj/basis/service/TestReportManageService.java +++ b/src/main/java/com/bonus/aqgqj/basis/service/TestReportManageService.java @@ -1,5 +1,6 @@ package com.bonus.aqgqj.basis.service; +import com.bonus.aqgqj.basis.entity.dto.ParamsDto; import com.bonus.aqgqj.basis.entity.dto.TestReportManageDto; import com.bonus.aqgqj.utils.ServerResponse; @@ -55,4 +56,11 @@ public interface TestReportManageService { * @return */ ServerResponse dispatchWork(TestReportManageDto data); + + /** + * 试验数据详情 + * @param data + * @return + */ + ServerResponse viewTestData(TestReportManageDto data); } diff --git a/src/main/java/com/bonus/aqgqj/basis/service/impl/SamplesManageServiceImpl.java b/src/main/java/com/bonus/aqgqj/basis/service/impl/SamplesManageServiceImpl.java index 30fbce3..dad55c9 100644 --- a/src/main/java/com/bonus/aqgqj/basis/service/impl/SamplesManageServiceImpl.java +++ b/src/main/java/com/bonus/aqgqj/basis/service/impl/SamplesManageServiceImpl.java @@ -9,10 +9,7 @@ import com.bonus.aqgqj.basis.entity.dto.SamplesManageDto; import com.bonus.aqgqj.basis.entity.dto.ToolsManageDto; import com.bonus.aqgqj.basis.service.SamplesManageService; import com.bonus.aqgqj.basis.service.ToolsManageService; -import com.bonus.aqgqj.utils.DateTimeHelper; -import com.bonus.aqgqj.utils.ServerResponse; -import com.bonus.aqgqj.utils.StringHelper; -import com.bonus.aqgqj.utils.UserUtil; +import com.bonus.aqgqj.utils.*; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.time.DateUtils; import org.springframework.stereotype.Service; @@ -131,9 +128,22 @@ public class SamplesManageServiceImpl implements SamplesManageService { return list; } + @Override + public Boolean getAuthority(SamplesManageDto data) { + if (StringHelper.isNotEmpty(data.getName())){ + if ("派工".equals(data.getName())){ + return SystemUtils.isComprehensiveTeamLeader(); + }else if ("收样".equals(data.getName())){ + return (SystemUtils.isComprehensiveTeam() || SystemUtils.isComprehensiveTeamLeader()); + } + } + return false; + } + @Override @Transactional(rollbackFor = Exception.class) public ServerResponse dispatchWork(SamplesManageDto data) { + Integer userId = Integer.parseInt(UserUtil.getLoginUser().getId().toString()); if (StringHelper.isNotEmpty(data.getIds())){ //拆分用逗号分隔的数据 String[] ids = data.getIds().split(","); @@ -141,6 +151,7 @@ public class SamplesManageServiceImpl implements SamplesManageService { SamplesManageDto dto = new SamplesManageDto(); dto.setId(Integer.parseInt(id)); dto.setTeamId(data.getTeamId()); + dto.setUpdateBy(userId); //更新班组数据 int res = samplesManageDao.updateTeamId(dto); if (res<=0){ diff --git a/src/main/java/com/bonus/aqgqj/basis/service/impl/TestReportManageServiceImpl.java b/src/main/java/com/bonus/aqgqj/basis/service/impl/TestReportManageServiceImpl.java index a888e94..c446c46 100644 --- a/src/main/java/com/bonus/aqgqj/basis/service/impl/TestReportManageServiceImpl.java +++ b/src/main/java/com/bonus/aqgqj/basis/service/impl/TestReportManageServiceImpl.java @@ -3,8 +3,9 @@ package com.bonus.aqgqj.basis.service.impl; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.bonus.aqgqj.basis.dao.TestReportManageDao; +import com.bonus.aqgqj.basis.entity.dto.ParamsDto; import com.bonus.aqgqj.basis.entity.dto.TestReportManageDto; -import com.bonus.aqgqj.basis.entity.vo.ExperimentalDetailVo; +import com.bonus.aqgqj.basis.entity.vo.*; import com.bonus.aqgqj.basis.service.SamplesManageService; import com.bonus.aqgqj.basis.service.TestReportManageService; import com.bonus.aqgqj.utils.DateTimeHelper; @@ -188,6 +189,25 @@ public class TestReportManageServiceImpl implements TestReportManageService { return ServerResponse.createBySuccessMsg("派工成功"); } + @Override + public ServerResponse viewTestData(TestReportManageDto dto) { + TestVo testVo = new TestVo(); + try { + List configItemsVos = testReportManageDao.getExperItems(dto); + for (ConfigItemsVo configItemsVo : configItemsVos) { + List configItemVos = testReportManageDao.getExperItem(configItemsVo.getId()); + configItemsVo.setItemList(configItemVos); + } + List experDevVos = testReportManageDao.getExperDev(dto); + testVo.setConfigItemsVos(configItemsVos); + testVo.setExperDevVos(experDevVos); + return ServerResponse.createSuccess(testVo); + } catch (Exception e) { + e.printStackTrace(); + return ServerResponse.createSuccess(""); + } + } + /** * 设备编号--自动生成 * 生成规则:YYMMDDNNNN diff --git a/src/main/java/com/bonus/aqgqj/utils/SystemUtils.java b/src/main/java/com/bonus/aqgqj/utils/SystemUtils.java index f3d4351..b52ef94 100644 --- a/src/main/java/com/bonus/aqgqj/utils/SystemUtils.java +++ b/src/main/java/com/bonus/aqgqj/utils/SystemUtils.java @@ -116,6 +116,42 @@ public class SystemUtils { } } + /** + * 是否是综合班组-班组长角色 + */ + public static Boolean isComprehensiveTeamLeader() { + if (UserUtil.getLoginUser() == null) { + return false; + } + String roleCode = StringUtils.isNotBlank(UserUtil.getLoginUser().getRoleCode()) ? UserUtil.getLoginUser().getRoleCode() : null; + String teamId = StringUtils.isNotBlank(UserUtil.getLoginUser().getTeamId()) ? UserUtil.getLoginUser().getTeamId() : null; + if (Objects.equals(Constants.INTEGRATEDTEAMLEADER, roleCode) && teamId != null) { + return true; + } else if (Objects.equals(Constants.ADMIDMINISTRATORS, roleCode)) { + return true; + } else { + return false; + } + } + + /** + * 是否是综合班组-班组成员 + */ + public static Boolean isComprehensiveTeam() { + if (UserUtil.getLoginUser() == null) { + return false; + } + String roleCode = StringUtils.isNotBlank(UserUtil.getLoginUser().getRoleCode()) ? UserUtil.getLoginUser().getRoleCode() : null; + String teamId = StringUtils.isNotBlank(UserUtil.getLoginUser().getTeamId()) ? UserUtil.getLoginUser().getTeamId() : null; + if (Objects.equals(Constants.INTEGRATEDTEAMMEMBER, roleCode) && teamId != null) { + return true; + } else if (Objects.equals(Constants.ADMIDMINISTRATORS, roleCode)) { + return true; + } else { + return false; + } + } + /** * 是否是技术负责人角色 * @return Boolean diff --git a/src/main/resources/mappers/basis/SamplesManageMapper.xml b/src/main/resources/mappers/basis/SamplesManageMapper.xml index f62f3f7..e0d9e24 100644 --- a/src/main/resources/mappers/basis/SamplesManageMapper.xml +++ b/src/main/resources/mappers/basis/SamplesManageMapper.xml @@ -41,7 +41,11 @@ UPDATE tb_sample - SET team_id = #{teamId},dispatch_time=NOW() + SET team_id = #{teamId}, + dispatch_time=NOW(), + dispatch_user= #{updateBy}, + update_time=NOW(), + update_user=#{updateBy} WHERE id = #{id} @@ -90,7 +94,8 @@ tsd.dev_code as devCode, tsd.customer_code as customerCode, tsd.dev_module as devModule, - tc.custom_name as sampleDepartment + tc.custom_name as sampleDepartment, + ts.process_status as processStatus from tb_sample_device tsd LEFT JOIN tb_sample ts on tsd.sample_id=ts.id diff --git a/src/main/resources/mappers/basis/TestReportManageMapper.xml b/src/main/resources/mappers/basis/TestReportManageMapper.xml index 399a19a..72220c5 100644 --- a/src/main/resources/mappers/basis/TestReportManageMapper.xml +++ b/src/main/resources/mappers/basis/TestReportManageMapper.xml @@ -210,4 +210,45 @@ and te.dev_type_name = #{sampleTools} + + + \ No newline at end of file diff --git a/src/main/resources/static/js/samples/child/samplesAdd.js b/src/main/resources/static/js/samples/child/samplesAdd.js index 0abbb6a..dd89953 100644 --- a/src/main/resources/static/js/samples/child/samplesAdd.js +++ b/src/main/resources/static/js/samples/child/samplesAdd.js @@ -17,7 +17,8 @@ function setParams(params) { initTable(listData) laydate.render({ elem: '#sampleTime', - fullPanel: true + fullPanel: true, + value: new Date() }); form.on('submit(formData)', function (data) { diff --git a/src/main/resources/static/js/samples/child/samplesForm.js b/src/main/resources/static/js/samples/child/samplesForm.js index 32b5df4..6ccf552 100644 --- a/src/main/resources/static/js/samples/child/samplesForm.js +++ b/src/main/resources/static/js/samples/child/samplesForm.js @@ -2,6 +2,8 @@ let form, layer, table, tableIns; let pageNum = 1, limitSize = 10; // 默认第一页,分页数量为10 let orgData,selectOrgId; let idParam; +var modal = $('#myModal'); +var span = $('.close'); function setParams(params){ idParam = JSON.parse(params).id; @@ -96,7 +98,7 @@ function initTable(dataList, limit, page) { { field: "view1", title: "收样标签", unresize: true, align: "center", templet: function (d) { - return '打印'; + return '打印'; } }, ], @@ -110,16 +112,70 @@ function initTable(dataList, limit, page) { }); } -function handleClick1(view1) { - alert('Clicked on: ' + view1); +/** + * 打印 + */ +function handleClick1(sampleTools, devCode, customerCode, devModule, sampleDepartment, processStatus) { + if (processStatus == null){ + processStatus = '待试验' + }else if (processStatus == 0){ + processStatus = '待提交' + }else if (processStatus == 1){ + processStatus = '待审阅' + }else if (processStatus == 2){ + processStatus = '待审核' + }else if (processStatus == 3){ + processStatus = '待审批' + }else if (processStatus == 4){ + processStatus = '试验结束' + } + // 准备二维码内容 + const qrCodeData = { + "设备类型": sampleTools, + "设备编号": devCode, + "设备编码": customerCode, + "规格型号": devModule, + "送检部门": sampleDepartment, + "流程状态": processStatus + }; + // 将对象转换为字符串 + const qrCodeString = JSON.stringify(qrCodeData, null, 2); + // 清空二维码容器 + $('#Qrcode').empty(); + // 生成二维码 + $('#Qrcode').qrcode(utf16to8(qrCodeString)); + // 显示模态对话框 + modal.show(); + // // 打印二维码 + // printQRCode(); + window.print(); } -function handleClick2(view1) { - alert('Clicked on: ' + view1); -} +// 点击模态对话框外部区域也可以关闭模态对话框 +$(window).click(function(event) { + if ($(event.target).is(modal)) { + modal.hide(); + } +}); -function handleClick3(view1) { - alert('Clicked on: ' + view1); +function utf16to8(str) { + var out, i, len, c; + out = ""; + len = str.length; + for (i = 0; i < len; i++) { + c = str.charCodeAt(i); + if ((c >= 0x0001) && (c <= 0x007F)) { + out += str.charAt(i); + } else if (c > 0x07FF) { + out += String.fromCharCode(0xE0 | ((c >> 12) & 0x0F)); + out += String.fromCharCode(0x80 | ((c >> 6) & 0x3F)); + out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F)); + } else { + out += String.fromCharCode(0xC0 | ((c >> 6) & 0x1F)); + out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F)); + } + } + return out; } // 获取参数 diff --git a/src/main/resources/static/js/samples/samplesMge.js b/src/main/resources/static/js/samples/samplesMge.js index ed41a6d..3711b7c 100644 --- a/src/main/resources/static/js/samples/samplesMge.js +++ b/src/main/resources/static/js/samples/samplesMge.js @@ -255,6 +255,39 @@ function collectSamples(id) { openIframe2("addOrEditUser", title, "child/samplesAdd.html", '70%', '90%', param); } +/** + * 检查是否有权限 + */ +function isHasAuth(name) { + //先去查一下是否有权限,后台接口查询 + let url = dataUrl + '/samples/getAuthority'; + let params = { + 'name': name + } + params = { + encryptedData: encryptCBC(JSON.stringify(params)) + } + ajaxRequest(url, "POST", params, true, function () { + }, function (result) { + if (result.code === 200) { + if (result.data){ + if (name=='派工'){ + dispatch(); + }else if (name=='收样'){ + collectSamples(''); + } + }else { + return layer.msg('您不具有该功能权限', {icon: 7}) + } + } else { + layer.alert(result.msg, {icon: 2}) + } + }, function (xhr) { + error(xhr) + }); + +} + /** * 派工 */ diff --git a/src/main/resources/static/js/testReport/child/testReportForm.js b/src/main/resources/static/js/testReport/child/testReportForm.js index bf9187f..361e328 100644 --- a/src/main/resources/static/js/testReport/child/testReportForm.js +++ b/src/main/resources/static/js/testReport/child/testReportForm.js @@ -137,7 +137,7 @@ function initTable(dataList, limit, page) { { field: "view1", title: "检测报告",width: 68, unresize: true, align: "center", templet: function (d) { - return '查看'; + return '查看'; } }, ], @@ -197,10 +197,6 @@ function getMouseover(data){ } -function handleClick1(view1) { - alert('Clicked on: ' + view1); -} - function handleClick2(view1) { alert('Clicked on: ' + view1); } @@ -287,6 +283,20 @@ function addData(id) { openIframe2("addOrEditUser", title, "child/toolsFrom.html", '100%', '100%', param); } +function handleClick1(id, isHg, departmentId, sampleTools) { + if (id) { + title = '试验报告'; + } + let param = { + 'experId': id, + 'isHg': isHg, + 'departmentId': departmentId, + 'sampleTools': sampleTools + } + openIframe2("addOrEditUser", title, "testReportView.html", '100%', '100%', param); +} + + /*删除用户*/ function delData(id) { layer.confirm("确定删除吗?", { diff --git a/src/main/resources/static/js/testReport/child/testReportView.js b/src/main/resources/static/js/testReport/child/testReportView.js new file mode 100644 index 0000000..b82895e --- /dev/null +++ b/src/main/resources/static/js/testReport/child/testReportView.js @@ -0,0 +1,136 @@ +let form, layer,table; +let experIdParam = null,devTypeCodeParam = null; +let isHgParam = null,departmentIdParam=null,sampleToolsParam=null; +function setParams(params) { + experIdParam = JSON.parse(params).experId; + isHgParam = JSON.parse(params).isHg; + departmentIdParam=JSON.parse(params).departmentId; + sampleToolsParam=JSON.parse(params).sampleTools; + + + layui.use(['form', 'layer','table'], function () { + form = layui.form; + layer = layui.layer; + table = layui.table; + }) + getDataById(); +} + +/**详情*/ +function getDataById() { + let loadingMsg = layer.msg("数据加载中,请稍候...", {icon: 16, scrollbar: false, time: 0,}); + let url = dataUrl + "/testReport/viewTestData"; + let obj = { + 'id': experIdParam, + 'isHg': isHgParam, + 'departmentId':departmentIdParam, + 'sampleTools':sampleToolsParam + } + let params = { + encryptedData: encryptCBC(JSON.stringify(obj)) + } + ajaxRequest(url, "POST", params, true, function () { + }, function (result) { + layer.close(loadingMsg); // 关闭提示层 + if (result.status === 200) { + setFormData(result.data); + } else if (result.status === 500) { + layer.alert(result.msg, {icon: 2,move:false}) + } + }, function (xhr) { + layer.close(loadingMsg); // 关闭提示层 + error(xhr) + }); +} + +/**表单赋值*/ +function setFormData(obj){ + // $('#devTypeName').val(obj.devTypeName); + // $('#devModule').val(obj.devModule); + // $('#sampleQuantity').val(obj.sampleQuantity); + // $('#sampleDate').val(obj.sampleDate); + // $('#experTime').val(obj.experTime); + // $('#nextExperTime').val(obj.nextExperTime); + // $('#customName').val(obj.customName); + // $('#experLocal').val(obj.experLocal); + // $('#experDev').val(obj.experDev); + // $('#experModule').val(obj.experModule); + // $('#experCode').val(obj.experCode); + // $('#checkTime').val(obj.checkTime); + // $('#yjList').after(setYjData(obj.basisVos)); + initTable(obj.experDevVos,obj.configItemsVos); + // $('#experStand').val(obj.experStand); + // $('#experConclu').val(obj.experConclu); + // $('#remarsk').val(obj.remarsk); +} + +/**试验依据赋值*/ +function setYjData(list){ + let html = ''; + if(list && list.length > 0){ + $.each(list,function (index,item){ + html += '
' + + '
' + + '
' + + '' + + '
' + + '
' + + '
' + }) + } + return html; +} + +function initTable(dataList,configList) { + let handleDataList = handleData(dataList); + // dataList = [{"username":"12"},{"username":"12"},{"username":"12"}]; + // let loadingMsg = layer.msg("数据加载中,请稍候...", { icon: 16, scrollbar: false, time: 0, }); + table.render({ + elem: '#testTable', + id: 'testTable', + data: handleDataList, + cols:setTableData(configList), + }); +} +function setTableData(configList){ + let tableTitle = [[ + {field: 'number',type: 'numbers',title: '序号',width: 60,rowspan: 2,fixed: 'left',align: 'center',unresize: true,}, + {field: 'customerCode',title: '样品编号',width: 120,fixed: 'left',rowspan: 2,align: 'center',unresize: true,}, + {title: '样品信息',fixed: 'left', align: 'center', colspan: 4, unresize: true}, + ],[ + {field: 'devCode',title: '客户自编号',width: 120,fixed: 'left',align: 'center',unresize: true,}, + {field: 'manufacturer',fixed: 'left', title: '生产厂家', width: 120, align: 'center', unresize: true}, + {field: 'manufactureDate',fixed: 'left', title: '生产日期', width: 120, align: 'center', unresize: true}, + {field: 'devModule',fixed: 'left', title: '规格型号', width: 100, align: 'center', unresize: true}, + ]]; + setFirstTitle(); + setTwoTitle(); + function setFirstTitle(){ + $.each(configList,function (index,item){ + tableTitle[0].push({title: item.experTypeName,colspan: item.experNum, width: 180 * (item.experNum), align: 'center', unresize: true}) + }) + } + function setTwoTitle(){ + let indexNum = 0; + $.each(configList,function (index,item){ + let itemList = item.itemList; + let length = itemList.length; + $.each(itemList,function (index2,item2){ + indexNum = index * length + index2; + tableTitle[1].push({field: 'val' + indexNum ,title: item2.itemName, width: 180, align: 'center', unresize: true}); + }) + }) + } + return tableTitle; +} + +/**处理数据*/ +function handleData(dataList){ + $.each(dataList,function (index,item){ + let arr = JSON.parse(item.devData); + $.each(arr,function (index2,item2){ + item['val' + index2] = item2; + }) + }) + return dataList; +} \ No newline at end of file diff --git a/src/main/resources/static/pages/samples/child/samplesForm.html b/src/main/resources/static/pages/samples/child/samplesForm.html index 555c72b..3a5c093 100644 --- a/src/main/resources/static/pages/samples/child/samplesForm.html +++ b/src/main/resources/static/pages/samples/child/samplesForm.html @@ -13,6 +13,7 @@ + 详情 @@ -47,6 +48,58 @@
+
+ + + \ No newline at end of file diff --git a/src/main/resources/static/pages/samples/samplesMge.html b/src/main/resources/static/pages/samples/samplesMge.html index 4620664..db4fbe8 100644 --- a/src/main/resources/static/pages/samples/samplesMge.html +++ b/src/main/resources/static/pages/samples/samplesMge.html @@ -48,11 +48,11 @@
-
-
diff --git a/src/main/resources/static/pages/testReport/child/testReportView.html b/src/main/resources/static/pages/testReport/child/testReportView.html new file mode 100644 index 0000000..6255f14 --- /dev/null +++ b/src/main/resources/static/pages/testReport/child/testReportView.html @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + 检测报告 + + + +
+ +
+
+
+
+
+
+ + + + \ No newline at end of file