From 5cfd88e2477472588b0282c7cac80dc9a60c950d Mon Sep 17 00:00:00 2001 From: lSun <15893999301@qq.com> Date: Thu, 10 Apr 2025 15:47:28 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=89=E5=85=A8=E6=8E=AA=E6=96=BD=E8=90=BD?= =?UTF-8?q?=E5=AE=9E=E5=8A=9F=E8=83=BD=E6=8E=A5=E5=8F=A3=E5=AF=B9=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../implement/child/implementForm.js | 363 ------------------ .../safetyMeasure/child/safetyMeasureForm.js | 332 ++++++++++++++++ .../safetyMeasureList.js} | 12 +- .../child/safetyMeasureForm.html} | 22 +- .../safetyMeasureList.html} | 2 +- 5 files changed, 350 insertions(+), 381 deletions(-) delete mode 100644 src/main/resources/static/js/imageUpload/implement/child/implementForm.js create mode 100644 src/main/resources/static/js/imageUpload/safetyMeasure/child/safetyMeasureForm.js rename src/main/resources/static/js/imageUpload/{implement/implementList.js => safetyMeasure/safetyMeasureList.js} (95%) rename src/main/resources/static/pages/imageUpload/{implement/child/implementForm.html => safetyMeasure/child/safetyMeasureForm.html} (77%) rename src/main/resources/static/pages/imageUpload/{implement/implementList.html => safetyMeasure/safetyMeasureList.html} (95%) diff --git a/src/main/resources/static/js/imageUpload/implement/child/implementForm.js b/src/main/resources/static/js/imageUpload/implement/child/implementForm.js deleted file mode 100644 index 0cb6f1a..0000000 --- a/src/main/resources/static/js/imageUpload/implement/child/implementForm.js +++ /dev/null @@ -1,363 +0,0 @@ -let form, layer, util, idParam, laydate; -let arr = ['background', 'web', 'mobile', 'wx']; -let background, web, mobile, wx; -let data = []; - -// 初始化下拉选 -let proList; -let majorList; -let processList; - - -// 模拟后台返回的数据结构 -const mockBackendResponse = (file) => { - const originalPath = `/uploads/original/${file.name}`; - const compressedPath = `/uploads/compressed/${file.name}`; - const watermarkedPath = `/uploads/watermarked/${file.name}`; - return { - code: 200, - msg: '上传成功', - data: { - originalPath, - compressedPath, - watermarkedPath - } - }; -}; - -// 存储图片路径信息 -var imagePaths = []; - -layui.use(['laydate', 'upload'], function () { - var upload = layui.upload; - var layer = layui.layer; - var element = layui.element; - var $ = layui.$; - - - // 多图片上传 - upload.render({ - elem: '#ID-upload-demo-btn-2', - url: '/your/upload/endpoint', - // url: 'javascript:;', // 阻止真实请求 - multiple: true, - auto: true, - // 文件选择后的回调 - choose: function (obj) { - // 当前已有的图片数量 - const currentImages = $('#upload-demo-preview div').length; - // 获取当前批次选择的文件列表 - const newFiles = obj.pushFile(); - const newFilesCount = Object.keys(newFiles).length; - // 总图片数量 - const totalImages = currentImages + newFilesCount; - if (totalImages > 9) { - layer.alert(`最多只能上传9张图片,当前已选 ${currentImages} 张,此次选择了 ${newFilesCount} 张`, { icon: 2 }); - return false; // 阻止上传 - } - }, - before: function (obj) { - obj.preview(function (index, file, result) { - const uniqueId = new Date().getTime() + '-' + index; - $('#upload-demo-preview').append( - '
' + - '' + file.name + '' + - '' + - '
' - ); - }); - }, - done: function (res, index, upload) { - // 获取当前上传的文件 - const files = this.files; - const file = files[index]; - const backendResponse = mockBackendResponse(file); - if (backendResponse.code === 200) { - const imageData = { - uniqueId: `${new Date().getTime()}-${index}`, - originalPath: backendResponse.data.originalPath, - compressedPath: backendResponse.data.compressedPath, - watermarkedPath: backendResponse.data.watermarkedPath - }; - imagePaths.push(imageData); - $('#imagePaths').val(JSON.stringify(imagePaths)); - } else { - layer.alert('上传失败: ' + res.msg, {icon: 2}); - } - console.log("imagePaths",imagePaths) - } - }); - - - upload.render({ - elem: '#ID-upload-demo-btn-3', - url: '/your/upload/endpoint', - // url: 'javascript:;', // 阻止真实请求 - multiple: true, - auto: true, - // 文件选择后的回调 - choose: function (obj) { - // 当前已有的图片数量 - const currentImages = $('#upload-demo-preview div').length; - // 获取当前批次选择的文件列表 - const newFiles = obj.pushFile(); - const newFilesCount = Object.keys(newFiles).length; - // 总图片数量 - const totalImages = currentImages + newFilesCount; - if (totalImages > 9) { - layer.alert(`最多只能上传9张图片,当前已选 ${currentImages} 张,此次选择了 ${newFilesCount} 张`, { icon: 2 }); - return false; // 阻止上传 - } - }, - before: function (obj) { - obj.preview(function (index, file, result) { - const uniqueId = new Date().getTime() + '-' + index; - $('#upload-demo-preview-3').append( - '
' + - '' + file.name + '' + - '' + - '
' - ); - }); - }, - done: function (res, index, upload) { - // 获取当前上传的文件 - const files = this.files; - const file = files[index]; - const backendResponse = mockBackendResponse(file); - if (backendResponse.code === 200) { - const imageData = { - uniqueId: `${new Date().getTime()}-${index}`, - originalPath: backendResponse.data.originalPath, - compressedPath: backendResponse.data.compressedPath, - watermarkedPath: backendResponse.data.watermarkedPath - }; - imagePaths.push(imageData); - $('#imagePaths').val(JSON.stringify(imagePaths)); - } else { - layer.alert('上传失败: ' + res.msg, {icon: 2}); - } - console.log("imagePaths",imagePaths) - } - }); - - $('#ID-upload-submit-btn').click(function() { - if (imagePaths.length === 0) { - layer.msg('请先选择图片', {icon: 2}); - return; - } - - layer.msg('模拟上传中...', {icon: 16, time: 2000}); - - // 模拟上传延迟 - setTimeout(function() { - // 清空旧数据(仅保留成功上传的) - const successPaths = []; - - // 遍历所有图片,模拟上传 - imagePaths.forEach(item => { - const backendResponse = mockBackendResponse(item.file); - if (backendResponse.code === 200) { - successPaths.push({ - uniqueId: item.uniqueId, - originalPath: backendResponse.data.originalPath, - compressedPath: backendResponse.data.compressedPath, - watermarkedPath: backendResponse.data.watermarkedPath - }); - } - }); - - // 更新数据 - imagePaths = successPaths; - $('#imagePaths').val(JSON.stringify(imagePaths)); - - layer.msg('上传成功!', {icon: 1}); - console.log("当前图片数据:", imagePaths); - }, 1500); - }); - - window.removeImage = function (uniqueId) { - $('#img-' + uniqueId).remove(); - const indexToRemove = imagePaths.findIndex(path => path.uniqueId === uniqueId); - if (indexToRemove !== -1) { - imagePaths.splice(indexToRemove, 1); - $('#imagePaths').val(JSON.stringify(imagePaths)); - } - }; - - laydate = layui.laydate; - // Render date pickers - laydate.render({ - elem: '#violationTime', - }); - laydate.render({ - elem: '#rectificationDeadline', - }); - laydate.render({ - elem: '#correctionTime', - }); - - -}); - - -function setParams(params) { - console.log(params) - idParam = JSON.parse(params).id; - layui.use(['form', 'layer', 'util'], function () { - layer = layui.layer; - form = layui.form; - util = layui.util; - var $ = layui.jquery; - proList = getProSelected(); - majorList = getMajorSelected(); - processList = getProcessSelected(); - if (idParam) { - getUserById(); - } - form.render();//重新渲染页面checkbox控件 - form.on('submit(formData)', function (data) { - data.field.id = $('#id').val(); - saveData(data); - }); - - }); -} - -/** - * 获取工程数据 - */ -function getProSelected() { - let url = dataUrl + '/users/getRoleAll'; - ajaxRequest(url, "POST", null, true, function () { - }, function (result) { - if (result.code === 200) { - setSelectValueName(result.data, 'projectName', "请选择项目(可搜索)"); - } else { - layer.alert(result.msg, {icon: 2}) - } - }, function (xhr) { - error(xhr) - }); -} - -/** - * 获取专业数据 - */ -function getMajorSelected() { - let url = dataUrl + '/sys/select/getProfessionSelect'; - ajaxRequest(url, "GET", null, true, function () { - }, function (result) { - if (result.code === 200) { - setSelectValueName(result.data, 'specialty', "请选择专业"); - } else { - layer.alert(result.msg, {icon: 2}) - } - }, function (xhr) { - error(xhr) - }); -} - -/** - * 获取工序数据 - */ -function getProcessSelected() { - let url = dataUrl + '/sys/select/getProcessSelect'; - ajaxRequest(url, "GET", null, true, function () { - }, function (result) { - if (result.code === 200) { - setSelectValueName(result.data, 'process', '请选择工序'); - } else { - layer.alert(result.msg, {icon: 2}) - } - }, function (xhr) { - error(xhr) - }); -} - - -// 根据id获取用户信息 -function getUserById() { - let loadingMsg = layer.msg("数据加载中,请稍候...", {icon: 16, scrollbar: false, time: 0,}); - let url = dataUrl + "/users/getById"; - let params = { - id: idParam - } - console.log(params) - params = { - encryptedData: encryptCBC(JSON.stringify(params)) - } - ajaxRequest(url, "POST", params, true, function () { - }, function (result) { - layer.close(loadingMsg); // 关闭提示层 - if (result.code === 200) { - console.log(result) - setFormData(result.data); - } else if (result.code === 500) { - layer.alert(result.msg, {icon: 2}) - } - }, function (xhr) { - layer.close(loadingMsg); // 关闭提示层 - error(xhr) - }); -} - -// 设置表单内容 -function setFormData(data) { - console.log("data:", data) - if (data) { - $('#id').val(data.id) - $('#inspector').val("修改") - $('#loginName').val(data.loginName) - $('#phone').val(data.phone) - $('#roleId option[value=' + data.roleId + ']').attr('selected', true) - - layui.form.render(); - } -} - -function saveData2() { - $('#formSubmit').trigger('click') -} - -// 保存数据 -function saveData(data) { - let loadingMsg = layer.msg('数据上传中,请稍候...', {icon: 16, scrollbar: false, time: 0}); - let url = dataUrl + "/users/addTemp"; - let params = data.field; - if (params.id != "") { - url = dataUrl + "/users/update"; - } - console.log(params) - params = { - encryptedData: encryptCBC(JSON.stringify(params)) - } - ajaxRequest(url, "POST", params, true, function () { - $('.save').addClass("layui-btn-disabled").attr("disabled", true); - $('.cancel').addClass("layui-btn-disabled").attr("disabled", true); - }, function (result) { - layer.close(loadingMsg); // 关闭提示层 - if (result.code === 200) { - closePage(1); - parent.layer.msg(result.msg, {icon: 1}); - } else { - layer.alert(result.msg, {icon: 2}) - $('.save').removeClass("layui-btn-disabled").attr("disabled", false); - $('.cancel').removeClass("layui-btn-disabled").attr("disabled", false); - } - }, function (xhr) { - layer.close(loadingMsg); // 关闭提示层 - $('.save').removeClass("layui-btn-disabled").attr("disabled", false); - $('.cancel').removeClass("layui-btn-disabled").attr("disabled", false); - error(xhr) - }); -} - -// 关闭页面 -function closePage(type) { - let index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引 - parent.layer.close(index); //再执行关闭 - if (type === 1) { - parent.reloadData() - } -} \ No newline at end of file diff --git a/src/main/resources/static/js/imageUpload/safetyMeasure/child/safetyMeasureForm.js b/src/main/resources/static/js/imageUpload/safetyMeasure/child/safetyMeasureForm.js new file mode 100644 index 0000000..069d4d0 --- /dev/null +++ b/src/main/resources/static/js/imageUpload/safetyMeasure/child/safetyMeasureForm.js @@ -0,0 +1,332 @@ +let form, layer, util, idParam, laydate; +let arr = ['background', 'web', 'mobile', 'wx']; +let background, web, mobile, wx; +let data = []; + +// 初始化下拉选 +let proList; +let majorList; +let processList; + +let vrImgList = []; // 违章照片 +let CODE_1 = 0; + +let proId, proName, majorId, majorName, gxId, gxName; +layui.use(['laydate', 'upload'], function () { + var upload = layui.upload; + var layer = layui.layer; + var element = layui.element; + var $ = layui.$; + + var violation = JSON.stringify({ + uploadType: 3, // 上传类型 + sourceType: 5, // 来源类型 + sourceTypeName: "安全措施落实-现场照片" // 来源类型名称 + }) + + // 多图片上传 + var uploadcom1 = upload.render({ + elem: '#test1', + url: '/imgTool/sys/file/uploadFile?token=' + tokens, + multiple: true, + auto: false, + exts: 'jpg|png|jpeg', + field: 'files', + data: {params: violation}, + bindAction: '#hideUpload1', //绑定的按钮 + // 文件选择后的回调 + choose: function (obj) { + CODE_1 = 1; + uploadcom1.config.elem.next()[0].value = ''; + let files = obj.pushFile(); + obj.preview(function (index, file, result) { + var length = $('#demo1 img').length; + if (length > 8) { + delete files[index];//删除指定图片 + $(this).remove(); + return layer.msg("附件为1-9张,请勿过多上传", {icon: 5}); + } + + const uniqueId = new Date().getTime() + '-' + index; + $('#demo1').append( + '
' + + '' + file.name + '' + + '' + + '
' + ); + }); + }, + before: function (obj) { + + }, + done: function (res, index, upload) { + if (res.code === 200) { + vrImgList.push(res.data[0]); + } else { + + } + }, + allDone: function (res, index, upload) { + + }, + error: function (e) { + //请求异常回调 + console.log(e) + } + }); + + window.removeImage = function (uniqueId) { + $('#img-' + uniqueId).remove(); + }; + + laydate = layui.laydate; + // Render date pickers + laydate.render({ + elem: '#checkDate', + }); +}); + + +function setParams(params) { + idParam = JSON.parse(params).id; + details = JSON.parse(params).details; + layui.use(['form', 'layer', 'util'], function () { + layer = layui.layer; + form = layui.form; + util = layui.util; + var $ = layui.jquery; + proList = getProSelected(); + majorList = getMajorSelected(); + processList = getProcessSelected(); + if (idParam) { + getUserById(); + } + + form.on('select(proId)', function (data) { + // 获取选中的 id 和 name + const selectedId = data.value; // 获取选中项的 value 值 + const selectedName = $(data.elem).find("option:selected").text(); // 获取选中项的文本 + proId = selectedId; + proName = selectedName; + }); + + form.on('select(majorId)', function (data) { + const selectedId = data.value; // 获取选中项的 value 值 + const selectedName = $(data.elem).find("option:selected").text(); // 获取选中项的文本 + majorId = selectedId; + majorName = selectedName; + + let gxs = getGxsSelect(data.value); + setSelectValueName(gxs, 'gxId', '请选择工序'); + }); + + form.on('select(gxId)', function (data) { + const selectedId = data.value; // 获取选中项的 value 值 + const selectedName = $(data.elem).find("option:selected").text(); // 获取选中项的文本 + gxId = selectedId; + gxName = selectedName; + }); + + form.render();//重新渲染页面checkbox控件 + form.on('submit(formData)', function (data) { + data.field.id = $('#id').val(); + saveData(data); + }); + + }); +} + +/** + * 获取工程数据 + */ +function getProSelected() { + let url = dataUrl + '/sys/select/getProsSelect'; + let data = { + encryptedData: encryptCBC(JSON.stringify({})) + } + ajaxRequest(url, "POST", data, true, function () { + }, function (result) { + if (result.code === 200) { + setSelectValueName(result.data, 'proId', "请选择项目(可搜索)"); + } else { + layer.alert(result.msg, {icon: 2}) + } + }, function (xhr) { + error(xhr) + }); +} + +/** + * 获取专业数据 + */ +function getMajorSelected() { + let url = dataUrl + '/sys/select/getProfessionSelect'; + ajaxRequest(url, "GET", null, true, function () { + }, function (result) { + if (result.code === 200) { + setSelectValueName(result.data, 'majorId', "请选择专业"); + } else { + layer.alert(result.msg, {icon: 2}) + } + }, function (xhr) { + error(xhr) + }); +} + +/** + * 获取工序数据 + */ +function getProcessSelected() { + let url = dataUrl + '/sys/select/getProcessSelect'; + let data = { + encryptedData: encryptCBC(JSON.stringify({})) + } + ajaxRequest(url, "GET", data, true, function () { + }, function (result) { + if (result.code === 200) { + setSelectValueName(result.data, 'gxId', '请选择工序'); + } else { + layer.alert(result.msg, {icon: 2}) + } + }, function (xhr) { + error(xhr) + }); +} + + +// 根据id获取用户信息 +function getUserById() { + let loadingMsg = layer.msg("数据加载中,请稍候...", {icon: 16, scrollbar: false, time: 0,}); + let url = dataUrl + "/safetyMeasure/getSafetyMeasuresById"; + let params = { + id: idParam + } + console.log(params) + params = { + encryptedData: encryptCBC(JSON.stringify(params)) + } + ajaxRequest(url, "POST", params, true, function () { + }, function (result) { + layer.close(loadingMsg); // 关闭提示层 + if (result.code === 200) { + console.log(result) + setFormData(result.data); + } else if (result.code === 500) { + layer.alert(result.msg, {icon: 2}) + } + }, function (xhr) { + layer.close(loadingMsg); // 关闭提示层 + error(xhr) + }); +} + +// 设置表单内容 +function setFormData(data) { + console.log("data:", data) + if (data) { + $('#id').val(data.id) + $('#proId option[value=' + data.proId + ']').attr('selected', true) + $('#majorId option[value=' + data.majorId + ']').attr('selected', true) + $('#gxId option[value=' + data.gxId + ']').attr('selected', true) + $('#checkUserName').val(data.checkUserName) + $('#checkDate').val(data.checkDate) + $('#checkPlace').val(data.checkPlace) + $('#checkDesc').val(data.checkDesc) + + vrImgList = data.sysFileResourceList; + var vioPhotoListEdit = data.sysFileResourceList; + if (vioPhotoListEdit && vioPhotoListEdit.length > 0) { + var html = ""; + var demo1 = $("#demo1"); + for (var i = 0; i < vioPhotoListEdit.length; i++) { + html = html + '
' + + '' +vioPhotoListEdit[i].fileName + '' ; + if (details != 1) { + html = html + ''; + } + html = html + '
'; + } + demo1.append(html); + } + + if(details == 1){ + document.querySelector('.layui-btn.save').style.display = 'none'; + document.getElementById("test1").style.display = 'none'; + } + + layui.form.render(); + } +} + +function removeImageUpdate(uniqueId) { + console.log("uniqueId:", uniqueId) + $('#img-' + uniqueId).remove(); + uniqueId = parseInt(uniqueId, 10); // 转换为数字类型 + vrImgList = vrImgList.filter(item => item.id !== uniqueId); + console.log(vrImgList) +} + +function saveData2() { + $('#formSubmit').trigger('click') +} + +// 保存数据 +function saveData(data) { + if(idParam =="" || idParam == null || idParam == undefined){ + if (CODE_1 == 0) { + layer.msg("请上传现场照片", {icon: 2, time: 2000}); + return ""; + } + } + $("#hideUpload1").trigger("click"); + + let loadingMsg = layer.msg('数据上传中,请稍候...', {icon: 16, scrollbar: false, time: 0}); + let url = dataUrl + "/safetyMeasure/addSafetyMeasures"; + data.field.uploadType = "3"; + data.field.dataSource = 1; + data.field.sysFileResourceList = [...vrImgList]; + + data.field.proId = proId; + data.field.proName = proName; + data.field.majorId = majorId; + data.field.majorName = majorName; + data.field.gxId = gxId; + data.field.gxName = gxName; + console.log("data:", data) + let params = data.field; + if (params.id != "") { + url = dataUrl + "/safetyMeasure/updateSafetyMeasures"; + } + console.log("params:", params) + params = { + encryptedData: encryptCBC(JSON.stringify(params)) + } + ajaxRequest(url, "POST", params, true, function () { + $('.save').addClass("layui-btn-disabled").attr("disabled", true); + $('.cancel').addClass("layui-btn-disabled").attr("disabled", true); + }, function (result) { + layer.close(loadingMsg); // 关闭提示层 + if (result.code === 200) { + closePage(1); + parent.layer.msg(result.msg, {icon: 1}); + } else { + layer.alert(result.msg, {icon: 2}) + $('.save').removeClass("layui-btn-disabled").attr("disabled", false); + $('.cancel').removeClass("layui-btn-disabled").attr("disabled", false); + } + }, function (xhr) { + layer.close(loadingMsg); // 关闭提示层 + $('.save').removeClass("layui-btn-disabled").attr("disabled", false); + $('.cancel').removeClass("layui-btn-disabled").attr("disabled", false); + error(xhr) + }); +} + +// 关闭页面 +function closePage(type) { + let index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引 + parent.layer.close(index); //再执行关闭 + if (type === 1) { + parent.reloadData() + } +} \ No newline at end of file diff --git a/src/main/resources/static/js/imageUpload/implement/implementList.js b/src/main/resources/static/js/imageUpload/safetyMeasure/safetyMeasureList.js similarity index 95% rename from src/main/resources/static/js/imageUpload/implement/implementList.js rename to src/main/resources/static/js/imageUpload/safetyMeasure/safetyMeasureList.js index be3896e..12c2485 100644 --- a/src/main/resources/static/js/imageUpload/implement/implementList.js +++ b/src/main/resources/static/js/imageUpload/safetyMeasure/safetyMeasureList.js @@ -156,7 +156,7 @@ function detailsData(id) { 'id': id, 'details':'1' } - openIframe2("detailsSafetyViolations", title, "child/implementForm.html", '1200px', '625px', param); + openIframe2("detailsSafetyViolations", title, "child/safetyMeasureForm.html", '1200px', '625px', param); } @@ -170,7 +170,7 @@ function addData(id) { 'id': id, 'details':'' } - openIframe2("addOrEditSafetyViolations", title, "child/implementForm.html", '1200px', '625px', param); + openIframe2("addOrEditSafetyViolations", title, "child/safetyMeasureForm.html", '1200px', '625px', param); } /*删除用户*/ @@ -189,11 +189,11 @@ function delData(id) { ajaxRequest(url, "POST", params, true, function () { }, function (result) { layer.close(loadingMsg); // 关闭提示层 - if (result.code === 200) { - parent.layer.msg(result.msg, {icon: 1}) + if (result.status === 200) { + parent.layer.msg("删除成功", {icon: 1}) query() - } else if (result.code === 500) { - layer.alert(result.msg, {icon: 2}) + } else if (result.status === 500) { + layer.alert("删除失败", {icon: 2}) } }, function (xhr) { layer.close(loadingMsg); // 关闭提示层 diff --git a/src/main/resources/static/pages/imageUpload/implement/child/implementForm.html b/src/main/resources/static/pages/imageUpload/safetyMeasure/child/safetyMeasureForm.html similarity index 77% rename from src/main/resources/static/pages/imageUpload/implement/child/implementForm.html rename to src/main/resources/static/pages/imageUpload/safetyMeasure/child/safetyMeasureForm.html index a14f91a..819a478 100644 --- a/src/main/resources/static/pages/imageUpload/implement/child/implementForm.html +++ b/src/main/resources/static/pages/imageUpload/safetyMeasure/child/safetyMeasureForm.html @@ -60,7 +60,7 @@
-
@@ -68,13 +68,13 @@
-
-
@@ -85,22 +85,22 @@
- +
- +
- +
- +
@@ -108,15 +108,15 @@
-
预览图: -
+
-
+
@@ -129,5 +129,5 @@
- + \ No newline at end of file diff --git a/src/main/resources/static/pages/imageUpload/implement/implementList.html b/src/main/resources/static/pages/imageUpload/safetyMeasure/safetyMeasureList.html similarity index 95% rename from src/main/resources/static/pages/imageUpload/implement/implementList.html rename to src/main/resources/static/pages/imageUpload/safetyMeasure/safetyMeasureList.html index f405a6b..2a72f13 100644 --- a/src/main/resources/static/pages/imageUpload/implement/implementList.html +++ b/src/main/resources/static/pages/imageUpload/safetyMeasure/safetyMeasureList.html @@ -77,5 +77,5 @@ } - + \ No newline at end of file