let form, layer, util, tag, active = null; function setParams(teamLabelIds, teamLabelNames) { layui.config({ base: "../../../js/layui-v2.9.2/layui/modules/", //此处路径请自行处理, 可以使用绝对路径 }).extend({ tag: 'tag' }).use(['layer', 'form', 'util', 'tag'], function () { layer = layui.layer; form = layui.form; forutilm = layui.util; tag = layui.tag; form.render(); // 加载班组标签数据 loadTeamLabelData(); // 加载班组标签缓存数据 loadHcTeamLabelData(teamLabelIds, teamLabelNames); //全局设置 tag.set({ skin: 'layui-btn layui-btn-primary layui-btn-sm layui-btn-radius',//标签样式 tagText: '添加标签' //标签添加按钮提示文本 }); // 触发事件 active = { // 新增demo2标签 tagAdd: function (nameValue, index) { tag.add('demo2', { text: nameValue, id: index }) }, // 删除demo2标签 tagDelete: function (index) { tag.delete('demo2', index); } }; // 添加demo标签 tag.on('add(demo)', function (data) { let valueName = data.valueName; let rex = /^[\u4e00-\u9fa5]{0,}$/; if (!rex.test(valueName) && valueName.length < 50) { layer.msg('标签只能输入中文且少于50字符', { icon: 7 }); return false; } else { return addTeamLabelData({ 'labelName': valueName }); } }); // 删除demo标签后删除demo2标签 tag.on('delete(demo)', function (data) { let innerText = data.elem[0].innerText; if (innerText) { innerText = innerText.replace('ဆ添加标签', ''); let innerTextArr = innerText.split('ဆ'); let nameValue = innerTextArr[data.index]; let flag = false, layId = null; $('#demo2 button').each(function () { if (replaceChinese($(this).html()) === nameValue) { flag = true; layId = $(this).attr('lay-id'); } }) let result = delTeamLabelData({ 'labelName': nameValue }); if (!result) { return result; } else if (result && flag) { active.tagDelete(layId); } } }); // 点击demo标签添加demo2标签 tag.on('click(demo)', function () { let name = replaceChinese($(this).html()); let index = $(this).attr('lay-id'); let flag = false; $('#demo2 button').each(function () { if (replaceChinese($(this).html()) === name) { flag = true } }) if (flag) { return layer.msg('选中标签已存在', { icon: 7 }); } else { active.tagAdd(name, index); } }); }); } // 保留中文汉字 function replaceChinese(value) { let str = value.match(/[\u4e00-\u9fa5]/g).join(""); return str; } // 保存标签 function addTeamLabelData(params) { let loadingMsg = layer.msg('数据上传中,请稍候...', { icon: 16, scrollbar: false, time: 0 }); let flag = false; let url = dataUrl + 'proteam/pot/team/addTeamLabel'; ajaxRequest(url, "POST", params, false, function () { }, function (result) { layer.close(loadingMsg); // 关闭提示层 if (result.code === 200) { layer.msg(result.msg, { icon: 1 }); flag = true; } else if (result.code === 500) { layer.alert(result.msg, { icon: 2, move: false }) } else if (result.code === 401) { logout(1); } }, function (xhr) { layer.close(loadingMsg); // 关闭提示层 }); return flag; } // 获取班组评价标签 function loadTeamLabelData() { function setTeamLabel(list) { if (list && list.length > 0) { let html = ''; $.each(list, function (index, item) { html += '' }) $('#demo').empty().append(html); } } let loadingMsg = layer.msg('数据加载中,请稍候...', { icon: 16, scrollbar: false, time: 0 }); let url = dataUrl + 'proteam/pot/team/getTeamLabel'; ajaxRequest(url, "POST", null, false, function () { }, function (result) { layer.close(loadingMsg); // 关闭提示层 if (result.code === 200) { setTeamLabel(result.data); } else if (result.code === 500) { } else if (result.code === 401) { logout(1); } }, function (xhr) { layer.close(loadingMsg); // 关闭提示层 }); } // 加载班组标签缓存数据 function loadHcTeamLabelData(teamLabelIds, teamLabelNames) { if (teamLabelIds && teamLabelNames) { let teamLabelIdsArr = teamLabelIds.split(','); let teamLabelNamesArr = teamLabelNames.split(','); let html = ''; for (let i = 0; i < teamLabelIdsArr.length; i++) { html += '' } $('#demo2').empty().append(html); } } // 删除标签 function delTeamLabelData(params) { let flag = false; let loadingMsg = layer.msg('数据删除中,请稍候...', { icon: 16, scrollbar: false, time: 0 }); let url = dataUrl + 'proteam/pot/team/delTeamLabel'; ajaxRequest(url, "POST", params, false, function () { }, function (result) { layer.close(loadingMsg); // 关闭提示层 if (result.code === 200) { layer.msg(result.msg, { icon: 1 }); flag = true; } else if (result.code === 500) { layer.alert(result.msg, { icon: 2, move: false }) } else if (result.code === 401) { logout(1); } }, function (xhr) { layer.close(loadingMsg); // 关闭提示层 }); return flag; } // 暂存标签数据,并返回上一页面 function saveLabelData() { let labelNameArr = []; $('#demo2 button').each(function () { labelNameArr.push(replaceChinese($(this).html())) }) let teamLabelNames = '', teamLabelIds = ''; // 保存后,查询班组标签真实ID function getTeamLabelIds() { let params = { 'labelName': labelNameArr.toString() }; let url = dataUrl + 'proteam/pot/team/getTeamLabelIds'; ajaxRequest(url, "POST", params, false, function () { }, function (result) { if (result.code === 200) { if (result.data.nameList && result.data.valueList) { teamLabelNames = result.data.nameList.toString(); teamLabelIds = result.data.valueList.toString(); } } else if (result.code === 500) { } else if (result.code === 401) { logout(1); } }, function (xhr) { }); } getTeamLabelIds(); parent.setTeamLabelData(teamLabelIds, teamLabelNames); closePage(); } function closePage() { let index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引 parent.layer.close(index); //再执行关闭 }