/**
* 搜索自动补全 -- 局外点击隐藏
*/
$(function () {
$(document).on("click", function (e) {
if (!$(e.target).parents(".cool-auto-complete").length) {
$(".cool-auto-complete-window").hide();
}
});
});
/**
* 搜索自动补全 -- div
*/
function autoShow(id) {
var cac = document.getElementById(id).parentNode;
var cacw = cac.getElementsByClassName("cool-auto-complete-window")[0];
if (cacw.style.display === "none" || cacw.style.display === "") {
cacw.style.display = "block";
var cacwi = cacw.getElementsByClassName("cool-auto-complete-window-input")[0];
cacwi.focus();
autoLoad(cacwi.getAttribute('data-key'));
} else {
cacw.style.display = "none";
}
}
/**
* 搜索自动补全 -- input
*/
function autoLoad(val) {
var inputDomVal = document.querySelector("input[data-key=" + val + "]").value;
var selectDom = document.querySelector("select[data-key=" + val + "Select]");
selectDom.length = 0;
var defaultOption = new Option("取消选择", "");
defaultOption.title = "";
selectDom.appendChild(defaultOption);
selectDom.style.display = 'none';
$.ajax({
url: baseUrl + "/" + getForeignKeyQuery(val) + "/auth",
headers: {'token': localStorage.getItem('token')},
data: {condition: inputDomVal},
method: 'POST',
traditional: true,
success: function (res) {
if (res.code === 200) {
var list = res.data;
for (var i = 0; i < list.length; i++) {
var option = new Option(list[i].value, i);
option.title = list[i].id;
selectDom.options[i + 1] = option;
}
selectDom.style.display = 'block';
} else if (res.code === 403) {
top.location.href = baseUrl + "/";
} else {
layer.msg(res.msg)
}
}
});
}
/**
* 搜索自动补全 -- select
*/
function confirmed(val) {
var inputDom = $("input[data-key=" + val.substring(0, val.length - 6) + "]");
var selectDom = $("select[data-key=" + val + "]");
console.log(val.substring(0, val.length - 6))
selectDom.dblclick(function () {
inputDom.focus();
selectDom.css("display", "none");
});
// 修饰字段
var cacw = inputDom.parent();
cacw.css("display", "none");
var cacd = cacw.parent().find(".cool-auto-complete-div");
var realDom = cacd.prev();
// id字段
var selectOptionDom = selectDom.find("option:selected");
var html = selectOptionDom.html();
if (html === "取消选择") {
cacd.val("");
realDom.val("");
} else {
cacd.val(selectOptionDom.html());
realDom.val(selectOptionDom.attr("title"));
}
inputDom.val("");
}
function reviewImg(src) {
window.open().document.write("
");
}
/**
* 截取By之前的字符串
*/
function getForeignKeyQuery(str) {
var index = str.indexOf('By');
if (index !== -1) {
return str.substring(0, index);
}
return str;
}
// 表单值清空
function clearFormVal(el) {
$(':input', el)
.val('')
.removeAttr('checked')
.removeAttr('selected');
}
var banMsg;
var tips;
// 主键校验
function check(id, domain) {
var param = {
key: id,
val: $('#' + id).val()
};
$.ajax({
url: baseUrl + "/" + domain + "/check/column/auth",
headers: {'token': localStorage.getItem('token')},
data: JSON.stringify(param),
dataType: 'json',
contentType: 'application/json;charset=UTF-8',
method: 'POST',
success: function (res) {
if (res.code === 200) {
layer.close(tips);
banMsg = null;
} else if (res.code === 403) {
top.location.href = baseUrl + "/";
} else if (res.code === 407) {
banMsg = res.data + "不可用";
tips = layer.tips(
"已存在",
'#' + id,
{
// tipsMore: true,
tips: [2, '#fff'],
time: 0
, area: 'auto'
, maxWidth: 500
});
}
}
});
}