From 36b086c294fc886dac02c23c154019bc2d4ef9e2 Mon Sep 17 00:00:00 2001 From: jjLv <1981429112@qq.com> Date: Thu, 25 Jul 2024 11:03:20 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9F=BA=E7=A1=80=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../js/basis/child/teamConfigDataFormTable.js | 199 +++++++++++++++ .../static/js/basis/customAddDeptForm.js | 177 +++++++++++++ .../static/js/basis/teamConfigAjax.js | 63 +++++ .../static/js/basis/teamConfigTable.js | 185 ++++++++++++++ .../static/js/basis/teamConfig_new.js | 49 ++++ src/main/resources/static/js/exper/device.js | 182 +++++++++++++ .../static/js/exper/deviceAddForm.js | 134 ++++++++++ .../js/primaryData/child/primaryDataList.js | 195 ++++++++++++++ .../static/js/primaryData/primary.js | 239 ++++++++++++++++++ 9 files changed, 1423 insertions(+) create mode 100644 src/main/resources/static/js/basis/child/teamConfigDataFormTable.js create mode 100644 src/main/resources/static/js/basis/customAddDeptForm.js create mode 100644 src/main/resources/static/js/basis/teamConfigAjax.js create mode 100644 src/main/resources/static/js/basis/teamConfigTable.js create mode 100644 src/main/resources/static/js/basis/teamConfig_new.js create mode 100644 src/main/resources/static/js/exper/device.js create mode 100644 src/main/resources/static/js/exper/deviceAddForm.js create mode 100644 src/main/resources/static/js/primaryData/child/primaryDataList.js create mode 100644 src/main/resources/static/js/primaryData/primary.js diff --git a/src/main/resources/static/js/basis/child/teamConfigDataFormTable.js b/src/main/resources/static/js/basis/child/teamConfigDataFormTable.js new file mode 100644 index 0000000..8d12cfd --- /dev/null +++ b/src/main/resources/static/js/basis/child/teamConfigDataFormTable.js @@ -0,0 +1,199 @@ +let form, layer, table, tableIns; +let pageNum = 1, limitSize = 10; // 默认第一页,分页数量为10 +layui.use(['form', 'layer', 'table', 'laydate'], function () { + form = layui.form; + layer = layui.layer; + table = layui.table; + layui.form.render(); + pages(1, 10, 1); +}) + + +function pages(pageNum, pageSize, typeNum) { + let params = getReqParams(pageNum, pageSize, typeNum); + let url = dataUrl + "/teamconfigs/getListTemp" + ajaxRequest(url, "POST", params, true, function () { + }, function (result) { + console.log(result); + if (result.code === 200) { + if (result.data) { + initTable(result.data, result.limit, result.curr) + laypages(result.count, result.curr, result.limit) + } + } else if (result.code === 500) { + layer.alert(result.msg, {icon: 2}) + } + }, function (xhr) { + error(xhr) + }); +} + +function laypages(total, page, limit) { + layui.use(['laypage'], function () { + let laypage = layui.laypage; + laypage.render({ + elem: 'voi-page', + count: total, + curr: page, + limit: limit, + limits: [10, 20, 50, 100, 200, 500], + layout: ['prev', 'page', 'next', 'skip', 'count', 'limit'], + groups: 5, + jump: function (obj, first) { + if (!first) { + pageNum = obj.curr, limitSize = obj.limit; + pages(obj.curr, obj.limit, null); + } + } + }); + }) +} + +/*初始化表格*/ +function initTable(dataList, limit, page) { + let loadingMsg = layer.msg("数据加载中,请稍候...", {icon: 16, scrollbar: false, time: 0,}); + tableIns = table.render({ + elem: "#table_data", + height: "full-130", + data: dataList, + limit: limit, + cols: [ + [ + {type: 'checkbox', width: '5%', fixed: 'left'}, + //表头 + {title: "序号", width: 80, unresize: true, align: "center", + templet: function (d) { + return (page - 1) * limit + d.LAY_INDEX; + } + }, + {field: "teamConfigId", title: "ID", unresize: true, align: "center",hide:true}, + {field: "teamConfigName", title: "姓名", unresize: true, align: "center"}, + {field: "teamConfigJobNumber", title: "工号", unresize: true, align: "center"}, + {field: "teamConfigSex", title: "性别", unresize: true, align: "center", + templet: function (d) { + if (d.teamConfigSex == 0) { + return "女"; + } else if (d.teamConfigSex == 1) { + return "男"; + } + } + }, + // {field: "teamConfigTeamId", title: "班组id", unresize: true, align: "center"}, + {field: "teamConfigPhone", title: "联系电话", unresize: true, align: "center"}, + {title: "操作", unresize: true, width: 300, align: "center", + templet: function (d) { + + let html = ''; + let add="" + html=add; + return html; + } + }, + ], + ], + done: function (res, curr, count) { + layer.close(loadingMsg); + table.resize("table_data"); + count || this.elem.next(".layui-table-view").find(".layui-table-header").css("display", "inline-block"); + count || this.elem.next(".layui-table-view").find(".layui-table-box").css("overflow", "auto"); + }, + }); +} + + +// 获取参数 +function getReqParams(page, limit, type) { + let obj = {}; + if (!type) { + obj = { + page: page + "", + limit: limit + "", + keyWord: $('#keyWord').val(), + }; + } else { + obj = { + page: '1', + limit: '10', + keyWord: '', + }; + } + console.log(obj) + obj={ + encryptedData:encryptCBC(JSON.stringify(obj)) + } + return obj; +} + +// 查询/重置 +function query() { + let pattern = new RegExp("[%_<>]"); + pageNum = 1; + pages(1, limitSize); +} + +function reloadData() { + pages(pageNum, limitSize); +} + +// 获取选中的数据 +function getCheckedValues() { + let data = table.checkStatus("table_data").data; + let ids = [] + if (data.length === 0) { + return ids; + } + for (let i = 0; i < data.length; i++) { + ids.push(data[i].teamConfigId); + } + return ids; +} + +// 批量添加 +function batchAddData() { + let ids = getCheckedValues(); + console.log(ids); + let id = areaIdParam; + if (ids.length === 0) { + return layer.msg('至少添加一行数据', {icon: 7}) + } else { + addTeamConfigData(ids.toString(),id); + } +} + +/*修改用户*/ +function addData(id,teamConfigId) { + layer.confirm("确定添加到该班组吗?", { + move: false + }, function () { + let loadingMsg = layer.msg('数据添加中,请稍候...', {icon: 16, scrollbar: false, time: 0}); + let url = dataUrl + "/teamconfigs/addById"; + let params = { + 'id':id, + 'teamConfigId': teamConfigId + } + console.log(params); + params={ + encryptedData:encryptCBC(JSON.stringify(params)) + } + ajaxRequest(url, "POST", params, true, function () { + }, function (result) { + layer.close(loadingMsg); // 关闭提示层 + if (result.code === 200) { + parent.layer.msg(result.msg, {icon: 1}) + query() + } else if (result.code === 500) { + layer.alert(result.msg, {icon: 2}) + } + }, function (xhr) { + layer.close(loadingMsg); // 关闭提示层 + error(xhr) + }); + }) +} + + +function setParams(params){ + let obj = JSON.parse(params) + console.log(obj) + areaIdParam = obj.id +} \ No newline at end of file diff --git a/src/main/resources/static/js/basis/customAddDeptForm.js b/src/main/resources/static/js/basis/customAddDeptForm.js new file mode 100644 index 0000000..8b69064 --- /dev/null +++ b/src/main/resources/static/js/basis/customAddDeptForm.js @@ -0,0 +1,177 @@ +let form, layer, dtree, util, idParam, phoneParam,statusParam; +let arr = ['background', 'web', 'mobile', 'wx']; +let background, web, mobile, wx; +let data = [], appResList = []; +// 角色下拉选 +let roleList; +getTeamSelected(); +function setParams(params) { + idParam = JSON.parse(params).customId; + // statusParam = 0; + console.log(idParam) + layui.config({ + base: "../../../js/layui-v2.6.8/dtree/", //此处路径请自行处理, 可以使用绝对路径 + }).extend({ + dtree: 'dtree' + }).use(['form', 'layer', 'util'], function () { + layer = layui.layer; + form = layui.form; + util = layui.util; + form.on('submit(formData)', function (data) { + data.field.id = $('#id').val(); + // data.field.customStatus = $('#customStatus').val(); + // data.field.type = !$('#id').val() ? '1' : '2'; + saveData(data); + }); + // form.on('switch',function(data){ + // if(data.elem.checked==true){ + // statusParam = 1; + // } + // + // }); + form.verify( + { + required: function (value, item) { + let customPhone = $('#customPhone').val(); + if(customPhone){ + if (!(/^1[3456789]\d{9}$/.test(customPhone))) { + return '请输入正确的手机号'; + } + } + } + }, + ); + // if (idParam) { + // getFormbyId(); + // } + }); +} + +// 根据id获取用户信息 +function getFormbyId() { + let loadingMsg = layer.msg("数据加载中,请稍候...", {icon: 16, scrollbar: false, time: 0,}); + let url = dataUrl + "/customs/getCustomId?token=" + tokens; + let params = { + customId: idParam + } + params={ + encryptedData:encryptCBC(JSON.stringify(params)) + } + + ajaxRequest(url, "POST", params, true, function () { + }, function (result) { + layer.close(loadingMsg); // 关闭提示层 + if (result.code === 200) { + setFormData(result.data); + } else { + layer.alert(result.msg, {icon: 2}) + } + }, function (xhr) { + layer.close(loadingMsg); // 关闭提示层 + error(xhr) + }); +} + +// 设置表单内容 +function setFormData(data) { + if (data) { + form.val('formInfo',data) + // if(data.customStatus == 1){ + // $("#customStatus").prop("checked", 1); + // }else{ + // $("#customStatus").prop("checked", 0); + // + // } + deptId = data.deptId; + pid = data.pid + console.log(data) + form.render(); + + + } +} + +function saveData2() { + $('#formSubmit').trigger('click') +} + +// 保存数据 +function saveData(data) { + let loadingMsg = layer.msg('数据上传中,请稍候...', {icon: 16, scrollbar: false, time: 0}); + + let params = data.field; + params.customId = idParam; + // params.customStatus = statusParam; + let path_url = ''; + path_url = 'addDeptCustom'; + + let url = dataUrl + "/customs/" + path_url + "?token=" + tokens; + + 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) { + console.log(result) + layer.close(loadingMsg); // 关闭提示层 + if (result.code === 200) { + parent.layer.msg(result.msg, {icon: 1,time:1000},function (){ + closePage(1); + }) + // closePage(1); + // parent.layer.msg(result.data, {icon: 1}); + } else if (result.code === 500) { + layer.alert(result.msg, {icon: 2}) + $('.save').removeClass("layui-btn-disabled").attr("disabled", false); + $('.cancel').removeClass("layui-btn-disabled").attr("disabled", false); + } else if (result.code === 204) { + 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() + } +} +function getTeamSelected() { + debugger + let url = dataUrl + '/customs/all'; + ajaxRequest(url, "POST", null, true, function () { + }, function (result) { + if (result.code === 200) { + setSelectValue(result.data, 'pid'); + // return result.data + } else { + layer.alert(result.msg, {icon: 2}) + } + }, function (xhr) { + error(xhr) + }); +} + +/*下拉选表单赋值*/ + // function setSelectValue(list, selectName) { + // let html = ''; + // $.each(list, function (index, item) { + // html += ''; + // }) + // $('#' + selectName).empty().append(html); + // layui.form.render(); + // } diff --git a/src/main/resources/static/js/basis/teamConfigAjax.js b/src/main/resources/static/js/basis/teamConfigAjax.js new file mode 100644 index 0000000..6b55e5a --- /dev/null +++ b/src/main/resources/static/js/basis/teamConfigAjax.js @@ -0,0 +1,63 @@ +// 智慧楼宇区域树 +function getDTreeData() { + let dataList = []; + let url = dataUrl + "/teamconfigs/getTeamTree"; + ajaxRequest(url, "POST", null, false, function () { + }, function (result) { + if (result.status === 200) { + dataList = result.data; + } else if (result.status === 500) { + layer.alert(result.msg, {icon: 2, move: false}) + } + }, function (xhr) { + error(xhr) + }); + return dataList; +} + + +/*批量添加*/ +function addTeamConfigData(ids,id) { + layer.confirm("确定添加吗?", { + move: false + }, function () { + let loadingMsg = layer.msg('数据添加中,请稍候...', {icon: 16, scrollbar: false, time: 0}); + let url = dataUrl + "/teamconfigs/addTeamConfigData" + console.log(ids) + let obj = { + 'id':id, + 'teamConfigIdTemp': ids + } + // console.log(params) + params = { + encryptedData: encryptCBC(JSON.stringify(obj)) + } + console.log(params) + ajaxRequest(url, "POST", params, true, function () { + }, function (result) { + layer.close(loadingMsg); // 关闭提示层 + if (result.status === 200) { + parent.layer.msg(result.msg, {icon: 1,time:1000},function (){ + closePageTemp(1); + }) + + } else if (result.status === 500) { + layer.alert(result.msg, {icon: 2}) + } + }, function (xhr) { + layer.close(loadingMsg); // 关闭提示层 + error(xhr) + }); + }) +} +function reloadTableData() { + pages(pageNum, limitSize); +} + +function closePageTemp(type) { + let index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引 + parent.layer.close(index); //再执行关闭 + if (type === 1) { + parent.reloadTableData()() + } +} \ No newline at end of file diff --git a/src/main/resources/static/js/basis/teamConfigTable.js b/src/main/resources/static/js/basis/teamConfigTable.js new file mode 100644 index 0000000..5ecbb17 --- /dev/null +++ b/src/main/resources/static/js/basis/teamConfigTable.js @@ -0,0 +1,185 @@ +function pages(pageNum, pageSize, typeNum) { + let params = getReqParams(pageNum, pageSize, typeNum); + $.ajax({ + url: dataUrl + "/teamconfigs/getList", + headers: { + "token": tokens + }, + data: params, + type: 'POST', + async: false, + success: function (result) { + if (result.status === 200) { + if (result.data) { + initTable(result.data, result.limit, result.curr) + laypages(result.count, result.curr, result.limit) + } + } else if (result.status === 500) { + layer.alert(result.msg, {icon: 2}) + } + }, error: function (xhr) { + error(xhr); + } + }); +} + +function laypages(total, page, limit) { + layui.use(['laypage'], function () { + let laypage = layui.laypage; + laypage.render({ + elem: 'voi-page', + count: total, + curr: page, + limit: limit, + limits: [10, 20, 50, 100, 200, 500], + layout: ['prev', 'page', 'next', 'skip', 'count', 'limit'], + groups: 5, + jump: function (obj, first) { + if (!first) { + pageNum = obj.curr, limitSize = obj.limit; + pages(pageNum, limitSize, null); + } + } + }); + }) +} + +/*初始化表格*/ +function initTable(dataList, limit, page) { + let loadingMsg = layer.msg("数据加载中,请稍候...", {icon: 16, scrollbar: false, time: 0,}); + tableIns = table.render({ + elem: "#table_data", + height: "full-130", + data: dataList, + limit: limit, + cols: [ + [ + //表头 + {title: "序号", width: 80, unresize: true, align: "center", + templet: function (d) { + return (page - 1) * limit + d.LAY_INDEX; + } + }, + {field: "teamConfigId", title: "ID", unresize: true, align: "center",hide:true}, + {field: "teamConfigName", title: "姓名", unresize: true, align: "center"}, + {field: "teamConfigJobNumber", title: "工号", unresize: true, align: "center"}, + {field: "teamConfigSex", title: "性别", unresize: true, align: "center", + templet: function (d) { + if (d.teamConfigSex == 0) { + return "女"; + } else if (d.teamConfigSex == 1) { + return "男"; + } + } + }, + {field: "teamConfigPhone", title: "联系电话", unresize: true, align: "center"}, + {title: "操作", unresize: true, width: 300, align: "center", + templet: function (d) { + + let html = ''; + let del="" + html=del; + return html; + } + }, + ], + ], + done: function (res, curr, count) { + layer.close(loadingMsg); + table.resize("table_data"); + count || this.elem.next(".layui-table-view").find(".layui-table-header").css("display", "inline-block"); + count || this.elem.next(".layui-table-view").find(".layui-table-box").css("overflow", "auto"); + }, + }); +} + +// 获取参数 +function getReqParams(page, limit, type) { + let obj = {}; + if (!type) { + obj = { + page: page + "", + limit: limit + "", + id: areaIdParam, + parentId: parentIdParam, + level: levelParam, + keyWord: $('#keyWord').val(), + }; + } else { + obj = { + page: '1', + limit: '10', + id: areaIdParam, + parentId: parentIdParam, + level: levelParam, + keyWord: '', + }; + } + console.log(obj) + obj={ + encryptedData:encryptCBC(JSON.stringify(obj)) + } + return obj; +} + +function reloadTableData() { + pages(pageNum, limitSize); +} + +// 查询/重置 +function query() { + let pattern = new RegExp("[%_<>]"); + if (pattern.test($("#keyWord").val())) { + $("#keyWord").val(''); + return layer.msg('关键字查询包含特殊字符,请重新输入', { + icon: 2, + time: 2000 //2秒关闭(如果不配置,默认是3秒) + }); + } + pageNum = 1; + pages(1, limitSize); +} + +/*移除用户*/ +function delData(teamConfigId) { + layer.confirm("确定移除吗?", { + move: false + }, function () { + let loadingMsg = layer.msg('数据移除中,请稍候...', {icon: 16, scrollbar: false, time: 0}); + let url = dataUrl + "/teamconfigs/delById"; + let params = { + 'teamConfigId': teamConfigId + } + params={ + encryptedData:encryptCBC(JSON.stringify(params)) + } + ajaxRequest(url, "POST", params, true, function () { + }, function (result) { + layer.close(loadingMsg); // 关闭提示层 + if (result.code === 200) { + parent.layer.msg(result.msg, {icon: 1}) + query() + } else if (result.code === 500) { + layer.alert(result.msg, {icon: 2}) + } + }, function (xhr) { + layer.close(loadingMsg); // 关闭提示层 + error(xhr) + }); + }) +} + +// 新增/修改 房间 +function addTeamConfigData(id) { + console.log(areaIdParam) + if (levelParam !== '2') { + return layer.msg('请选择班组后添加成员', {icon: 7}); + } + let title = '新增成员' + + let param = { + 'id': areaIdParam, + } + openIframe2("addOrEditTeamConfigData", title, "child/teamConfigDataForm.html", '1300px', '600px', param); +} + diff --git a/src/main/resources/static/js/basis/teamConfig_new.js b/src/main/resources/static/js/basis/teamConfig_new.js new file mode 100644 index 0000000..7a01ab5 --- /dev/null +++ b/src/main/resources/static/js/basis/teamConfig_new.js @@ -0,0 +1,49 @@ +let form, layer, dtree, table, tableIns, areaTree, util, dtreeData = [], jsonData = null; +let pageNum = 1, limitSize = 10; // 默认第一页,分页数量为10 +let roomTypeList = []; +// 当前选中的节点id和父节点id +let areaIdParam = null, parentIdParam = null, levelParam = null; +layui.config({ + base: "../../js/layui-v2.6.8/dtree/", //此处路径请自行处理, 可以使用绝对路径 +}).extend({ + dtree: 'dtree' +}).use(['form', 'layer', 'table', 'dtree', 'util'], function () { + layer = layui.layer; + form = layui.form; + table = layui.table; + dtree = layui.dtree; + util = layui.util; + form.render(); + dtreeData = getDTreeData(); + areaTree = dtree.render({ + elem: "#areaTree", + // scroll: "#left", + width: "98%", // 指定树的宽度 + dataFormat: "list", + data: dtreeData, + line: true, // 显示树线 + // skin: "laySimple", + toolbar: true, + icon: "-1", // 隐藏二级图标 + toolbarWay: "follow", + toolbarShow: [], + + done: function (result, $ul, first) { + + } + }); + dtree.on('node("areaTree")', function (obj) { + console.log(obj) + areaIdParam = obj.param.nodeId, parentIdParam = obj.param.parentId, levelParam = obj.param.level; + pageNum = 1, limitSize = 10; // 默认第一页,分页数量为10 + pages(1, 10, 1); + }); + + pages(1, 10, 1); +}); + + +赋值新增节点 +function reloadData(data) { + jsonData = data; +} \ No newline at end of file diff --git a/src/main/resources/static/js/exper/device.js b/src/main/resources/static/js/exper/device.js new file mode 100644 index 0000000..8d2a9de --- /dev/null +++ b/src/main/resources/static/js/exper/device.js @@ -0,0 +1,182 @@ +let form, layer, table, tableIns; +let pageNum = 1, limitSize = 10; // 默认第一页,分页数量为10 +layui.use(['form', 'layer', 'table', 'laydate'], function () { + form = layui.form; + layer = layui.layer; + table = layui.table; + layui.form.render(); + // getRoleSelected(); + pages(1, 10, 1); +}) + +function pages(pageNum, pageSize, typeNum) { + let params = getReqParams(pageNum, pageSize, typeNum); + let url = dataUrl + "/expers/getList" + ajaxRequest(url, "POST", params, true, function () { + }, function (result) { + console.log(result); + if (result.code === 200) { + if (result.data) { + initTable(result.data, result.limit, result.curr) + laypages(result.count, result.curr, result.limit) + } + } else if (result.code === 500) { + layer.alert(result.msg, {icon: 2}) + } + }, function (xhr) { + error(xhr) + }); +} + +function laypages(total, page, limit) { + layui.use(['laypage'], function () { + let laypage = layui.laypage; + laypage.render({ + elem: 'voi-page', + count: total, + curr: page, + limit: limit, + limits: [10, 20, 50, 100, 200, 500], + layout: ['prev', 'page', 'next', 'skip', 'count', 'limit'], + groups: 5, + jump: function (obj, first) { + if (!first) { + pageNum = obj.curr, limitSize = obj.limit; + pages(obj.curr, obj.limit, null); + } + } + }); + }) +} + +/*初始化表格*/ +function initTable(dataList, limit, page) { + let loadingMsg = layer.msg("数据加载中,请稍候...", {icon: 16, scrollbar: false, time: 0,}); + tableIns = table.render({ + elem: "#table_data", + height: "full-130", + data: dataList, + limit: limit, + cols: [ + [ + //表头 + {title: "序号", width: 80, unresize: true, align: "center", + templet: function (d) { + return (page - 1) * limit + d.LAY_INDEX; + } + }, + {field: "devId", title: "ID", unresize: true, align: "center",hide:true}, + {field: "devName", title: "设备名称", unresize: true, align: "center"}, + {field: "devModule", title: "设备型号", unresize: true, align: "center"}, + {field: "devCode", title: "设备编号", unresize: true, align: "center"}, + {field: "contractDate", title: "合同生效日期", unresize: true, align: "center"}, + {field: "createTime", title: "创建时间", unresize: true, align: "center"}, + {field: "updateTime", title: "更新时间", unresize: true, align: "center"}, + {field: "dataSource", title: "数据来源", unresize: true, align: "center", + templet: function (d) { + if (d.dataSource == 0) { + return "新增"; + } else if (d.dataSource == 1) { + return "实验配置"; + } + } + }, + {title: "操作", unresize: true, width: 300, align: "center", + templet: function (d) { + + let html = ''; + let del="" + let edit=""; + html=edit+del; + return html; + } + }, + ], + ], + done: function (res, curr, count) { + layer.close(loadingMsg); + table.resize("table_data"); + count || this.elem.next(".layui-table-view").find(".layui-table-header").css("display", "inline-block"); + count || this.elem.next(".layui-table-view").find(".layui-table-box").css("overflow", "auto"); + }, + }); +} + + +// 获取参数 +function getReqParams(page, limit, type) { + let obj = {}; + if (!type) { + obj = { + page: page + "", + limit: limit + "", + keyWord: $('#keyWord').val(), + }; + } else { + obj = { + page: '1', + limit: '10', + keyWord: '', + }; + } + console.log(obj) + obj={ + encryptedData:encryptCBC(JSON.stringify(obj)) + } + return obj; +} + + +function reloadData() { + pages(pageNum, limitSize); +} + +// 查询/重置 +function query() { + let pattern = new RegExp("[%_<>]"); + pageNum = 1; + pages(1, limitSize); +} + +// 新增/修改实验设备 +function addData(devId) { + console.log() + let title = '新增实验设备' + if (devId) { + title = '修改实验设备'; + } + let param = { + 'devId': devId + } + openIframe2("addOrEditFormDevice", title, "deviceAddForm.html", '1000px', '700px', param); +} + +/*删除设备*/ +function delData(devId) { + layer.confirm("确定删除吗?", { + move: false + }, function () { + let loadingMsg = layer.msg('数据删除中,请稍候...', {icon: 16, scrollbar: false, time: 0}); + let url = dataUrl + "/expers/delById"; + let params = { + 'devId': devId + } + params={ + encryptedData:encryptCBC(JSON.stringify(params)) + } + ajaxRequest(url, "POST", params, true, function () { + }, function (result) { + layer.close(loadingMsg); // 关闭提示层 + if (result.code === 200) { + parent.layer.msg(result.msg, {icon: 1}) + query() + } else if (result.code === 500) { + layer.alert(result.msg, {icon: 2}) + } + }, function (xhr) { + layer.close(loadingMsg); // 关闭提示层 + error(xhr) + }); + }) +} + diff --git a/src/main/resources/static/js/exper/deviceAddForm.js b/src/main/resources/static/js/exper/deviceAddForm.js new file mode 100644 index 0000000..33832fd --- /dev/null +++ b/src/main/resources/static/js/exper/deviceAddForm.js @@ -0,0 +1,134 @@ +let form, layer, dtree, util, idParam, phoneParam; +let arr = ['background', 'web', 'mobile', 'wx']; +let background, web, mobile, wx; +let data = [], appResList = []; +// 角色下拉选 +let roleList; + + +layui.use(['laydate'],function(){ + var laydate = layui.laydate; + // 渲染 + laydate.render({ + elem: '#contractDate', + type: 'datetime' + + }); +}); + +function setParams(params) { + idParam = JSON.parse(params).devId; + console.log(idParam) + layui.config({ + base: "../../../js/layui-v2.6.8/dtree/", //此处路径请自行处理, 可以使用绝对路径 + }).extend({ + dtree: 'dtree' + }).use(['form', 'layer', 'util'], function () { + layer = layui.layer; + form = layui.form; + util = layui.util; + form.on('submit(formData)', function (data) { + data.field.id = $('#id').val(); + saveData(data); + }); + + if (idParam) { + getFormbyId(); + } + }); +} + +// 根据id获取设备信息 +function getFormbyId() { + let loadingMsg = layer.msg("数据加载中,请稍候...", {icon: 16, scrollbar: false, time: 0,}); + let url = dataUrl + "/expers/getDeviceId?token=" + tokens; + let params = { + devId: idParam + } + params={ + encryptedData:encryptCBC(JSON.stringify(params)) + } + + ajaxRequest(url, "POST", params, true, function () { + }, function (result) { + layer.close(loadingMsg); // 关闭提示层 + if (result.code === 200) { + setFormData(result.data); + } else { + layer.alert(result.msg, {icon: 2}) + } + }, function (xhr) { + layer.close(loadingMsg); // 关闭提示层 + error(xhr) + }); +} + +// 设置表单内容 +function setFormData(data) { + if (data) { + form.val('formInfo',data) + devId = data.devId + form.render(); + + + } +} + +function saveData2() { + $('#formSubmit').trigger('click') +} + +// 保存数据 +function saveData(data) { + let loadingMsg = layer.msg('数据上传中,请稍候...', {icon: 16, scrollbar: false, time: 0}); + + let params = data.field; + params.devId = idParam; + // params.customStatus = statusParam; + let path_url=''; + if(params.devId==null || params.devId ==''){ + path_url='addDevice'; + }else{ + path_url="updateDevice"; + } + let url = dataUrl + "/expers/"+path_url+"?token=" + tokens; + + 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) { + console.log(result) + layer.close(loadingMsg); // 关闭提示层 + if (result.code === 200) { + closePage(1); + parent.layer.msg(result.data, {icon: 1}); + } else if (result.code === 500) { + layer.alert(result.msg, {icon: 2}) + $('.save').removeClass("layui-btn-disabled").attr("disabled", false); + $('.cancel').removeClass("layui-btn-disabled").attr("disabled", false); + }else if (result.code === 204) { + 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/primaryData/child/primaryDataList.js b/src/main/resources/static/js/primaryData/child/primaryDataList.js new file mode 100644 index 0000000..1a2ca58 --- /dev/null +++ b/src/main/resources/static/js/primaryData/child/primaryDataList.js @@ -0,0 +1,195 @@ +let form, layer, table, tableIns,idParam,customNumParam; +let pageNum = 1, limitSize = 10; // 默认第一页,分页数量为10 + +function setParams(params) { + idParam = JSON.parse(params).id; + customNumParam = JSON.parse(params).customNum; + layui.use(['form', 'layer', 'table', 'laydate'], function () { + form = layui.form; + layer = layui.layer; + table = layui.table; + layui.form.render(); + getDevSelected(); + pages(1, 10, 1); + }) +} + + +function pages(pageNum, pageSize, typeNum) { + let params = getReqParams(pageNum, pageSize, typeNum); + let url = dataUrl + "/experimental/getDetailList" + ajaxRequest(url, "POST", params, true, function () { + }, function (result) { + if (result.code === 200) { + if (result.data) { + initTable(result.data, result.limit, result.curr) + laypages(result.count, result.curr, result.limit) + } + } else if (result.code === 500) { + layer.alert(result.msg, {icon: 2}) + } + }, function (xhr) { + error(xhr) + }); +} + +function laypages(total, page, limit) { + layui.use(['laypage'], function () { + let laypage = layui.laypage; + laypage.render({ + elem: 'voi-page', + count: total, + curr: page, + limit: limit, + limits: [10, 20, 50, 100, 200, 500], + layout: ['prev', 'page', 'next', 'skip', 'count', 'limit'], + groups: 5, + jump: function (obj, first) { + if (!first) { + pageNum = obj.curr, limitSize = obj.limit; + pages(obj.curr, obj.limit, null); + } + } + }); + }) +} + +/*初始化表格*/ +function initTable(dataList, limit, page) { + let loadingMsg = layer.msg("数据加载中,请稍候...", {icon: 16, scrollbar: false, time: 0,}); + tableIns = table.render({ + elem: "#table_data", + height: "full-130", + data: dataList, + limit: limit, + cols: [ + [ + //表头 + {title: "序号", width: 80, unresize: true, align: "center", + templet: function (d) { + return (page - 1) * limit + d.LAY_INDEX; + } + }, + {field: "devTypeName", title: "样品类型", unresize: true, align: "center"}, + {field: "devModule", title: "规格型号", unresize: true, align: "center"}, + {field: "sampleQuantity", title: "样品数量", unresize: true, align: "center"}, + {field: "", title: "状态", unresize: true, align: "center"}, + {field: "causeOfRejection", title: "驳回原因", unresize: true, align: "center"}, + {title: "原始记录", unresize: true, width: 300, align: "center", + templet: function (d) { + var html = ''; + let search="查看"; + if (d.status == "待试验" || d.status == "待提交" || d.status == "审阅不通过" || d.status == "审核不通过" || d.status == "审批不通过") { + let edit="编制"; + html=search+edit; + } else { + html=search; + } + return html; + } + }, + ], + ], + done: function (res, curr, count) { + layer.close(loadingMsg); + table.resize("table_data"); + count || this.elem.next(".layui-table-view").find(".layui-table-header").css("display", "inline-block"); + count || this.elem.next(".layui-table-view").find(".layui-table-box").css("overflow", "auto"); + }, + }); +} + + +// 获取参数 +function getReqParams(page, limit, type) { + // console.log(idParam) + let obj = {}; + if (!type) { + obj = { + page: page + "", + limit: limit + "", + devTypeCode: $('#devId').val(), + id: idParam + }; + } else { + obj = { + page: '1', + limit: '10', + devTypeCode: '', + id: idParam + }; + } + // console.log(obj) + obj={ + encryptedData:encryptCBC(JSON.stringify(obj)) + } + return obj; +} + +// 查询/重置 +function query() { + pageNum = 1; + pages(1, limitSize); +} + +function reloadData() { + pages(pageNum, limitSize); +} + +// 查看 +function checkData(experId,sampleId,devTypeCode) { + let param = { + 'experId': experId, + 'sampleId': sampleId, + 'devTypeCode':devTypeCode, + 'customNum':customNumParam + } + openIframeMax("testCheck.html", "查看试验", "testCheck.html", '80%', '100%', param); +} + +// 试验新增、修改 +function addData(experId,sampleId,devTypeCode) { + let title = '新增试验' + if (experId!=null && experId!='null') { + title = '修改试验'; + } + let param = { + 'experId': experId, + 'sampleId': sampleId, + 'devTypeCode':devTypeCode, + 'customNum':customNumParam + } + openIframeMax("testForm", title, "testForm.html", '80%', '100%', param); +} + +function getDevSelected() { + let url = dataUrl + '/sys/select/getDicts'; + let obj = { + 'code':"dev_code" + } + let params = { + encryptedData: encryptCBC(JSON.stringify(obj)) + } + + ajaxRequest(url, "POST", params, true, function () { + }, function (result) { + if (result.code === 200) { + setSelectValue(result.data, 'devId'); + // return result.data + } else { + layer.alert(result.msg, {icon: 2}) + } + }, function (xhr) { + error(xhr) + }); +} + +/*下拉选表单赋值*/ +function setSelectValue(list, selectName) { + let html = ''; + $.each(list, function (index, item) { + html += ''; + }) + $('#' + selectName).empty().append(html); + layui.form.render(); +} \ No newline at end of file diff --git a/src/main/resources/static/js/primaryData/primary.js b/src/main/resources/static/js/primaryData/primary.js new file mode 100644 index 0000000..ed5e91b --- /dev/null +++ b/src/main/resources/static/js/primaryData/primary.js @@ -0,0 +1,239 @@ +let form, layer, table, tableIns; +let pageNum = 1, limitSize = 10; // 默认第一页,分页数量为10 +let selectedIds = []; // 存储选中项的ID +layui.use(['form', 'layer', 'table', 'laydate'], function () { + form = layui.form; + layer = layui.layer; + table = layui.table; + var laydate = layui.laydate; + // 渲染 + laydate.render({ + elem: '#ID-laydate-rangeLinked', + range: ['#startTime', '#endTime'], + rangeLinked: true // 开启日期范围选择时的区间联动标注模式 --- 2.8+ 新增 + }); + layui.form.render(); + getDevSelected(); + pages(1, 10, 1); +}) + +function pages(pageNum, pageSize, typeNum) { + let params = getReqParams(pageNum, pageSize, typeNum); + let url = dataUrl + "/primaryDatas/getList" + ajaxRequest(url, "POST", params, true, function () { + }, function (result) { + if (result.code === 200) { + if (result.data) { + initTable(result.data, result.limit, result.curr) + laypages(result.count, result.curr, result.limit) + } + } else if (result.code === 500) { + layer.alert(result.msg, {icon: 2}) + } + }, function (xhr) { + error(xhr) + }); +} + +function laypages(total, page, limit) { + layui.use(['laypage'], function () { + let laypage = layui.laypage; + laypage.render({ + elem: 'voi-page', + count: total, + curr: page, + limit: limit, + limits: [10, 20, 50, 100, 200, 500], + layout: ['prev', 'page', 'next', 'skip', 'count', 'limit'], + groups: 5, + jump: function (obj, first) { + if (!first) { + pageNum = obj.curr, limitSize = obj.limit; + pages(obj.curr, obj.limit, null); + } + } + }); + }) +} + +/*初始化表格*/ +function initTable(dataList, limit, page) { + let loadingMsg = layer.msg("数据加载中,请稍候...", {icon: 16, scrollbar: false, time: 0,}); + tableIns = table.render({ + elem: "#table_data", + height: "full-130", + data: dataList, + limit: limit, + cols: [ + [ + {type: 'checkbox', fixed: 'left'}, + //表头 + {title: "序号", width: 80, unresize: true, align: "center", + templet: function (d) { + return (page - 1) * limit + d.LAY_INDEX; + } + }, + {field: "customName", title: "送样单位", unresize: true, align: "center"}, + {field: "sampleTime", title: "送样时间", unresize: true, align: "center"}, + {field: "sampleDev", title: "送样设备", unresize: true, align: "center"}, + {field: "customNum", title: "送样数量", unresize: true, align: "center"}, + {field: "sampleDate", title: "收样时间", unresize: true, align: "center"}, + {field: "sampleUserName", title: "收样人", unresize: true, align: "center"}, + {field: "experTime", title: "试验时间", unresize: true, align: "center"}, + {field: "teamName", title: "试验班组", unresize: true, align: "center"}, + {title: "操作", unresize: true, width: 300, align: "center", + templet: function (d) { + return '查看'; + } + }, + ], + ], + done: function (res, curr, count) { + layer.close(loadingMsg); + table.resize("table_data"); + count || this.elem.next(".layui-table-view").find(".layui-table-header").css("display", "inline-block"); + count || this.elem.next(".layui-table-view").find(".layui-table-box").css("overflow", "auto"); + // 每次分页完成后,根据selectedIds选中复选框 + /*$.each(res.data, function(i, item){ + if($.inArray(item.id, selectedIds) !== -1){ + table.checkRow(item); + } + });*/ + }, + }); + + // 监听单个复选框的选中和取消事件 + table.on('checkbox(table_data)', function (obj) { + if (obj.checked) { + selectedIds.push(obj.data.id); + } else { + var index = selectedIds.indexOf(obj.data.id); + if (index > -1) { + selectedIds.splice(index, 1); + } + } + }); + // 获取头部复选框元素 + var headerCheckbox = $('input[name="layTableCheckbox"]'); + + // 监听头部复选框的change事件 + headerCheckbox.on('change', function() { + if ($(this).is(':checked')) { + // 全选操作 + table.checkAll('table_data'); + selectedIds = table.cache.table_data.map(function(item) { + return item.id; + }); + } else { + // 全不选操作 + table.uncheckAll('table_data'); + selectedIds = []; + } + }); +} + + +// 获取参数 +function getReqParams(page, limit, type) { + let obj = {}; + if (!type) { + obj = { + page: page + "", + limit: limit + "", + devTypeCode: $('#devId').val(), + keyWord: $('#keyWord').val(), + sampleUserName: $('#sampleUserName').val(), + startTime: $('#startTime').val(), + endTime: $('#endTime').val(), + }; + } else { + obj = { + page: '1', + limit: '10', + devTypeCode: '', + keyWord: '', + sampleUserName: '', + startTime: '', + endTime:'' + }; + } + obj={ + encryptedData:encryptCBC(JSON.stringify(obj)) + } + return obj; +} + +// 查询/重置 +function query() { + pageNum = 1; + pages(1, limitSize); +} + +function reloadData() { + pages(pageNum, limitSize); +} + +// 试验标准新增、修改 +function testClick(id,customNum) { + let title = '试验' + let param = { + 'id': id, + 'customNum':customNum + } + openIframeMax("primaryDataList", title, "child/primaryDataList.html", '100%', '100%', param); +} + +function getDevSelected() { + let url = dataUrl + '/sys/select/getDicts'; + let obj = { + 'code':"dev_code" + } + let params = { + encryptedData: encryptCBC(JSON.stringify(obj)) + } + + ajaxRequest(url, "POST", params, true, function () { + }, function (result) { + if (result.code === 200) { + setSelectValue(result.data, 'devId'); + // return result.data + } else { + layer.alert(result.msg, {icon: 2}) + } + }, function (xhr) { + error(xhr) + }); +} + +/*下拉选表单赋值*/ +function setSelectValue(list, selectName) { + let html = ''; + $.each(list, function (index, item) { + html += ''; + }) + $('#' + selectName).empty().append(html); + layui.form.render(); +} + +function commitCheckTestData(){ + console.log(selectedIds); + let url = dataUrl + '/experimental/commitCheckTestData'; + let obj = { + 'ids':selectedIds + } + let params = { + encryptedData: encryptCBC(JSON.stringify(obj)) + } + + ajaxRequest(url, "POST", params, true, function () { + }, function (result) { + if (result.code === 200) { + console.log("数据",result.data) + // return result.data + } else { + layer.alert(result.msg, {icon: 2}) + } + }, function (xhr) { + error(xhr) + }); +} \ No newline at end of file