217 lines
7.5 KiB
Plaintext
217 lines
7.5 KiB
Plaintext
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 += '<button lay-id="' + item.id + '" type="button" class="tag-item">' + item.labelName + '</button>'
|
||
})
|
||
$('#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 += '<button lay-id="' + teamLabelIdsArr[i] + '" type="button" class="tag-item">' + teamLabelNamesArr[i] + '</button>'
|
||
}
|
||
$('#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); //再执行关闭
|
||
} |