| | |
| | | /** |
| | | * 搜索自动补全 -- 局外点击隐藏 |
| | | */ |
| | | $(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
|
| | | });
|
| | | }
|
| | | }
|
| | | });
|
| | | } |