|  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 搜索自动补全 -- 局外点击隐藏 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | $(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){ | 
|---|
|  |  |  | window.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+"]"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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("<img src="+src+" />"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 截取By之前的字符串 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | function getForeignKeyQuery(str) { | 
|---|
|  |  |  | var index = str.indexOf('By'); | 
|---|
|  |  |  | if (index !== -1){ | 
|---|
|  |  |  | return str.substring(0, index); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return str; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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) { | 
|---|
|  |  |  | window.location.href = baseUrl; | 
|---|
|  |  |  | } else if (res.code === 407) { | 
|---|
|  |  |  | banMsg = res.data + "不可用"; | 
|---|
|  |  |  | tips = layer.tips( | 
|---|
|  |  |  | "<span style='color:red;'>已存在</span>", | 
|---|
|  |  |  | '#'+id, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | // tipsMore: true, | 
|---|
|  |  |  | tips: [2,'#fff'], | 
|---|
|  |  |  | time:0 | 
|---|
|  |  |  | ,area: 'auto' | 
|---|
|  |  |  | ,maxWidth:500 | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 搜索自动补全 -- 局外点击隐藏 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | $(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){ | 
|---|
|  |  |  | window.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+"]"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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("<img src="+src+" />"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 截取By之前的字符串 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | function getForeignKeyQuery(str) { | 
|---|
|  |  |  | var index = str.indexOf('By'); | 
|---|
|  |  |  | if (index !== -1){ | 
|---|
|  |  |  | return str.substring(0, index); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return str; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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) { | 
|---|
|  |  |  | window.location.href = baseUrl; | 
|---|
|  |  |  | } else if (res.code === 407) { | 
|---|
|  |  |  | banMsg = res.data + "不可用"; | 
|---|
|  |  |  | tips = layer.tips( | 
|---|
|  |  |  | "<span style='color:red;'>已存在</span>", | 
|---|
|  |  |  | '#'+id, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | // tipsMore: true, | 
|---|
|  |  |  | tips: [2,'#fff'], | 
|---|
|  |  |  | time:0 | 
|---|
|  |  |  | ,area: 'auto' | 
|---|
|  |  |  | ,maxWidth:500 | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|