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); //再执行关闭
}