//这里的代码是最早写的,很乱,以后整合优化 var editors = []; var editors_index = []; var tables = []; var select = ''; var submitButton = ''; var editorWidth = 0; var admingroup = false; String.prototype.replaceAll = function(reallyDo, replaceWith, ignoreCase) { if (!RegExp.prototype.isPrototypeOf(reallyDo)) { return this.replace(new RegExp(reallyDo, (ignoreCase ? "gi": "g")), replaceWith); } else { return this.replace(reallyDo, replaceWith); } } Array.prototype.remove = function(val) { var index = -1; for(var i = 0; i < this.length; i++) { if(this[i] == val) { index = i; } } if (index > -1) { this.splice(index, 1); } }; Array.prototype.replaceOne = function(old, val) { var index = -1; for(var i = 0; i < this.length; i++) { if(this[i] == old) { index = i; } } if (index > -1) { this.splice(index, 1, val); } }; $(document).ready(function() { //init(); }); function init(ew) { if (ew) { editorWidth = ew; } else { editorWidth = 0; } editors = []; editors_index = []; initEditor(); select = ''; edit(); del(); checkbox(); image(); change(); autocomplete(); template(); submit(); loadShow(); initPic(); initDate(); initLayui(); initColor(); initUpdate(); initClipboard(); initEmoji(); initSearch(); //更新页面一些功能,上边的一些功能等找时间再优化吧 dever_update.init(); hljs.initHighlightingOnLoad(); table(); } function initSearch() { $("#form1 input").bind('keypress', function (event) { if (event.keyCode == 13) { $("#search_button").click(); } }); } function initEmoji() { if ($('.dever-emoji').length) { $('.dever-emoji').each(function() { emoji($(this), $(this).html()); }) } } function emoji(e, content) { var handle = function() { e.html(twemoji.parse(content)).show(200); }; if (typeof jEmoji != 'object') { $.getScript('//twemoji.maxcdn.com/2/twemoji.min.js?11.4', function() { /* $("head").append(""); var css = $("head").children(":last"); css.attr({ rel: "stylesheet", type: "text/css", href: config.script + '/lib/emoji/emoji.css' }); */ return handle(); }); } else { return handle(); } } function checkClick(e) { var objEvt = $._data(e[0], "events"); if (objEvt && !objEvt["click"]) { return false; } return true; } function initClipboard() { var clipboard = new ClipboardJS('.clipboard'); clipboard.on('success', function(e) { notify('复制成功', e.trigger); e.clearSelection(); }); clipboard.on('error', function(e) { notify('复制失败', e.trigger); }); } function initUpdate() { if ($('.update_show_editor').length) { $('.update_show_editor').each(function() { $(this).bind('click', function() { var url = $(this).attr('key'); var value = $(this).attr('editor_id'); var title = $(this).attr('value'); var send = ''; if ($(this).attr('data-value')) { send = $(this).attr('data-value'); } $.post(url, {value:send}, function(t) { var func = function() { var url = $('#editor_applet_pic').val(); var appid = $('#editor_applet_id').val(); var path = $('#editor_applet_path').val(); var link = $('#editor_applet_link').val(); if (!appid) { //alert('请选择小程序'); //return; } if (!path) { alert('请填写路径'); return; } if (!url) { alert('请上传封面'); return; } var w = 750/2; KindEditor.insertHtml('#' + value, ''); layer.closeAll(); }; showAlert(t, func, title); image(); }) }) }); } } function initLayui() { layui.use('layer', function() { var layer = layui.layer; layer.ready(function() { $(".dever-img").each(function() { layer.photos({ photos: '#' + $(this).attr('id'), shade : 0.5 }); }); }); }); } function initColor() { if ($('.dever-color').length) { $('.dever-color').each(function() { var self = $(this); var val = self.val(); if (!val) { val = '#000000'; } self.css('border-right', '40px solid '+val); self.colpick({ layout:'hex', submit:0, colorScheme:'dark', color: val, onChange : function (hsb,hex,rgb,el,bySetColor) { $(el).css('border-color','#'+hex); if(!bySetColor) $(el).val('#' + hex); } }).keyup(function(){ $(this).colpickSetColor(this.value); }); }) } } function formData(form) { var d = {}; var t = $(form).serializeArray(); var u = ''; $.each(t, function() { if (this.name.indexOf('search_') != -1) { d[this.name] = this.value; u += '&' + this.name + '=' + this.value; } }); return [d,u]; } function initMenu() { if(typeof(config.layout) != "undefined") { $('.list-unstyled li').each(function(j) { $(this).unbind('click').bind('click', function() { if ($(this).index() == i) { //return; } $('.list-unstyled .active').each(function() { $(this).attr('class', ''); $(this).find('a').attr('class', ''); }) $(this).attr('class', 'active'); var a = $(this).find('a'); a.attr('class', 'subdrop'); //alert($(this).attr('class')); }) }); /* $('.project-list').each(function(i) { $(this).unbind('click').bind('click', function() { if ($(this).index() == i) { return; } $('.project-list').each(function() { $(this).find('i').parent().attr('class', ''); $(this).find('ul').attr('class', 'list-unstyled upload-menu'); }) $(this).find('i').parent().attr('class', 'active'); $(this).find('ul').attr('class', 'list-unstyled upload-menu in'); }) }); */ } } function setOption(e, id) { var s = $("select[name="+id+"]"); var v = s.val(); if (!select) { select = s.clone(); } s.find('option[parent]').remove(); //查找出需要显示的option并复制 var options = select.find("option[parent="+e.val()+"]").clone(); //将需要显示的option添加到select中 s.append(options); //因为option.remove()不会刷新控件,需要将新的option切换上去 //这里排除了options.size() == 0的情况 var state = 2; s.find('option').each(function() { var val = $(this).val(); if (v == val) { state = 1; } }); if (state == 1) { s.val(v); } else { s.val(0); } } function table() { if ($('.table-responsive').length) { $('.table-responsive[data-pattern]').each(function() { $(this).responsiveTable('update'); }); } } function pjax(param) { param.timeout = 8000; $.pjax(param); } function initDate() { $.datetimepicker.setLocale('ch'); if($(".manage_date").length) { $(".manage_date").each(function() { $(this).datetimepicker( { //datepicker:false, format:'Y-m-d H:i:s', lang:'ch' }); }); } if($(".manage_day").length) { $(".manage_day").each(function() { $(this).datetimepicker( { //inline:true, timepicker:false, format:'Y-m-d', lang:'ch' }); }); } if($(".manage_sday").length) { $(".manage_sday").each(function() { $(this).datetimepicker( { //inline:true, timepicker:false, format:'Y-m-d', lang:'ch' }); }); } if($(".manage_sdate").length) { $(".manage_sdate").each(function() { $(this).datetimepicker( { //datepicker:false, format:'Y-m-d H:i:s', lang:'ch' }); }); } layui.use('laydate', function() { var laydate = layui.laydate; if ($('.manage_year').length) { $('.manage_year').each(function(i) { $(this).attr('id', 'manage_year_' + i); laydate.render({ elem: '#manage_year_' + i, type: 'year', }); }) } if ($('.manage_month').length) { $('.manage_month').each(function(i) { $(this).attr('id', 'manage_month_' + i); laydate.render({ elem: '#manage_month_' + i, type: 'month', }); }) } }); } function initPic() { $('a[rel]').fancybox(); } function initEditor(e) { if (!e) { e = $('.editor'); } if(e.length) { var param = false; var editor = []; e.each(function() { var parent = $(this).parent().parent(); //alert(parent.attr('id')); if(parent.attr('id') && parent.attr('id').indexOf('-child-0') != -1) { return; } if (!param) { param = loadEditorParam($(this)); } editor.push($(this).attr('id')); }); if (editor) { for (var i in editor) { var id = editor[i]; if (typeof(id) == 'string' && !editors[id]) { param.index = editors_index.length; editors[id] = KindEditor.create('#' + id, param); editors_index.push(id); } } } } if ($('.editor_tool').length) { $('.editor_tool').each(function() { $(this).click(function() { var tool = $(this).attr('tool'); var id = $(this).attr('editor_id'); editors[id].clickToolbar(tool); }) }); } } function loadEditorParam(e) { if(!e.length) { return; } var key = e.attr('key'); var media = e.attr('media'); var token = e.attr('token'); var host = e.attr('host'); var domain = e.attr('domain'); var path = e.attr('path'); var upload_search = e.attr('upload_search'); var upload_search_value = e.attr('upload_search_value'); var yun = {}; if (token && host) { yun.token = token; yun.host = host; yun.domain = domain; yun.path = path; } if (!key) { key = 1; } if (!media) { media = 3; } var view = config.upload.replace('save', 'view'); var param = { height : "400px", allowImageUpload: true, //上传图片框本地上传的功能,false为隐藏,默认为true allowImageRemote : true, //上传图片框网络图片的功能,false为隐藏,默认为true allowFileManager : true, //浏览图片空间 allowMediaUpload : true, filterMode : false, //HTML特殊代码过滤 themeType : 'default', filePostName : 'file', dialogOffset : 0, //对话框距离页面顶部的位置,默认为0居中, uploadJson : config.upload + '.kindeditor?key=' + key + '&search=' + upload_search_value, uploadResJson : config.uploadRes + '.kindeditor?key=' + key + '&search=' + upload_search_value, uploadMediaJson : config.upload + '.kindeditor?key=' + media + '&search=' + upload_search_value, uploadYunJson : yun, fileManagerJson : view + '.files?key=' + key + '&upload_search=' + upload_search, mediaManagerJson : view + '.files?key=' + media + '&upload_search=' + upload_search, htmlTags : { section : ['id', 'class', 'color', 'size', 'face', '.background-color'], font : ['id', 'class', 'color', 'size', 'face', '.background-color'], span : [ 'id', 'class', '.color', '.background-color', '.font-size','.letter-spacing', '.background', '.font-weight', '.font-style', '.text-decoration', '.vertical-align', '.line-height' ], div : [ 'id', 'class', 'data-applet', 'data-file', 'data-id', 'data-key','.dever-video', 'align', '.border', '.margin', '.padding', '.text-align', '.color', '.background-color', '.font-size','.letter-spacing', '.font-weight', '.background', '.font-style', '.text-decoration', '.vertical-align', '.margin-left' ], table: [ 'id', 'class', 'border', 'cellspacing', 'cellpadding', 'width', 'height', 'align', 'bordercolor', '.padding', '.margin', '.border', 'bgcolor', '.text-align', '.color', '.background-color', '.font-size', '.font-weight', '.font-style', '.text-decoration', '.background', '.width', '.height', '.border-collapse' ], 'td,th': [ 'id', 'class', 'align', 'valign', 'width', 'height', 'colspan', 'rowspan', 'bgcolor', '.text-align', '.color', '.background-color', '.font-size','.letter-spacing', '.font-weight', '.font-style', '.text-decoration', '.vertical-align', '.background', '.border' ], a : ['id', 'class', 'href', 'target', 'name'], embed : ['id', 'class', 'src', 'width', 'height', 'type', 'loop', 'autostart', 'quality', '.width', '.height', 'align', 'allowscriptaccess', 'wmode'], img : ['id', 'class', 'data-applet', 'data-file', 'data-id', 'data-key', 'src', 'width', 'height', 'border', 'alt', 'title', 'align', '.width', '.height', '.border'], 'p,ol,ul,li,blockquote,h1,h2,h3,h4,h5,h6' : [ 'id', 'class', 'align', '.text-align', '.color', '.background-color', '.font-size','.letter-spacing', '.background', '.font-weight', '.font-style', '.text-decoration', '.vertical-align', '.text-indent', '.margin-left' ], pre : ['id', 'class'], hr : ['id', 'class', '.page-break-after'], 'br,tbody,tr,strong,b,sub,sup,em,i,u,strike,s,del' : ['id', 'class'], iframe : ['id', 'class', 'src', 'frameborder', 'width', 'height', '.width', '.height'] }, items : [ 'preview', 'undo', 'redo', '|', 'cut', 'copy', 'paste', 'plainpaste', 'wordpaste', '|', 'justifyleft', 'justifycenter', 'justifyright', 'justifyfull', 'indent', 'outdent', 'clearhtml', 'quickformat', 'selectall', '|', 'fullscreen', 'source', '/', 'formatblock', 'fontsize', 'fontheight', '|', 'forecolor', 'hilitecolor', 'bold', 'italic', 'underline', 'lineheight', 'removeformat', 'insertorderedlist','|', 'image', 'multiimage','table', 'hr', 'pagebreak','link', 'unlink' ] /*,'media' items : [ 'source', '|', 'undo', 'redo', '|', 'preview', 'print', 'template', 'code', 'cut', 'copy', 'paste', 'plainpaste', 'wordpaste', '|', 'justifyleft', 'justifycenter', 'justifyright', 'justifyfull', 'insertorderedlist', 'insertunorderedlist', 'indent', 'outdent', 'subscript', 'superscript', 'clearhtml', 'quickformat', 'selectall', '|', 'fullscreen', '/', 'formatblock', 'fontsize', 'fontheight', '|', 'forecolor', 'hilitecolor', 'bold', 'italic', 'underline', 'strikethrough', 'lineheight', 'removeformat', '|', 'image', 'multiimage','table', 'hr', 'emoticons', 'baidumap', 'pagebreak', 'anchor', 'link', 'unlink' ] */ //media /* items : [ 'source', '|', 'undo', 'redo', '|', 'preview', 'print', 'template', 'code', 'cut', 'copy', 'paste', 'plainpaste', 'wordpaste', '|', 'justifyleft', 'justifycenter', 'justifyright', 'justifyfull', 'insertorderedlist', 'insertunorderedlist', 'indent', 'outdent', 'subscript', 'superscript', 'clearhtml', 'quickformat', 'selectall', '|', 'fullscreen', '/', 'formatblock', 'fontname', 'fontsize', '|', 'forecolor', 'hilitecolor', 'bold', 'italic', 'underline', 'strikethrough', 'lineheight', 'removeformat', '|', 'image', 'multiimage', 'flash', 'media', 'insertfile', 'table', 'hr', 'emoticons', 'baidumap', 'pagebreak', 'anchor', 'link', 'unlink', '|', 'about' ] */ } if (editorWidth > 0) { param.width = editorWidth + 'px'; param.minWidth = editorWidth + 'px'; } return param; } //更新页面的提交按钮 function submit() { if($(".save-data").length) { if (submitButton) { $(".save-data").each(function() { $(this).html(submitButton); }) } $(".save-data").unbind('click').bind('click', function() { if (editors) { for (var i in editors) { if (i.indexOf('update_') != -1) { editors[i].sync(); } } } //return; submitButton = $(this).html(); $(this).html('loading...'); $(this).unbind('click'); submit_action(); }) } } //直接提交更新页的数据 function submit_action() { $(".form1").submit(); } //设置某一个input的值 function set_update(id, value) { if($(id).length) { $(id).val(value); } } /** * 批量复制数据 */ function copy_data(e) { var html = '
'; html += '
请输入要复制的数量:
'; html += '
'; $('#dever_modal_body').html(html); $('#dever_modal_title').html('复制数据'); $("#dever_modal_yes").unbind('click').bind('click', function() { set_update('#copy_num', $("#temp_copy_num").val()); set_update('#update_where_id', 0); submit_action(); }); } //头部菜单 function topMenu(e) { var p = e.parent().parent().parent().find('span'); p.html(e.html()); //更新当前的精细权限 var url = config.host + 'top.update_action?json=1'; var id = e.attr('data-id'); $.post(url, {id:id}, function(t) { var href = location.href; if(location.href.indexOf('where_id') != -1) { var temp = location.href.split('where_id'); href = temp[0] + 'where_id=' + t; } if(typeof(config.layout) != "undefined" && $(config.layout).length) { pjax({url: href, container: config.layout}) } else { location.href = href; } }) } //头部菜单 function topCMenu(e) { var p = e.parent().parent().parent().find('span'); p.html(e.html()); //更新当前的精细权限 var url = config.host + 'company.set?json=1'; var id = e.attr('data-id'); $.post(url, {company_id:id}, function(t) { location.reload(); }) } function topFMenu(e) { var p = e.parent().parent().parent().find('span'); p.html(e.html()); //更新当前的精细权限 var url = config.host + 'company.setFactory?json=1'; var id = e.attr('data-id'); $.post(url, {company_id:id}, function(t) { location.reload(); }) } //链接跳转 function go(key, value) { var href = location.href; if(location.href.indexOf(key) != -1) { var temp = location.href.split(key + '='); href = temp[0] + key + '=' + value + '&' + temp[1]; } else { href = href + '&' + key + '=' + value; } location.href = href; } //更新页面的批量载入选择 function loadShow() { if($(".show_input").length) { $(".show_input input:radio").each(function() { if ($(this).attr('checked')) { inputShow($(this), $(this).attr('show_id'), 'input'); } var filter = $(this).attr('lay-filter'); if (filter && filter.indexOf('_all') == -1) { form.on('radio('+filter+')', function(data) { inputShow($(this), $(this).attr('show_id'), 'input'); }) } }) $(".show_input input:checkbox").each(function() { if ($(this).attr('checked')) { inputShow($(this), $(this).attr('show_id'), 'input'); } var filter = $(this).attr('lay-filter'); if (filter && filter.indexOf('_all') == -1) { form.on('checkbox('+filter+')', function(data) { inputShow($(this), $(this).attr('show_id'), 'input'); }) } }) $(".show_input select").each(function() { if($(this).find('option:selected').text()) { inputShow($(this), $(this).attr('show_id')); } }) } if($(".control_url").length) { $(".control_url input:radio").each(function() { if ($(this).attr('checked')) { inputShowUrl($(this), $(this).attr('control_url'), $(this).attr('data-id')); } var filter = $(this).attr('lay-filter'); if (filter) { form.on('radio('+filter+')', function(data) { inputShowUrl($(this), $(this).attr('control_url'), $(this).attr('data-id')); }) } }) $(".control_url input:checkbox").each(function() { if ($(this).attr('checked')) { inputShowUrl($(this), $(this).attr('control_url'), $(this).attr('data-id')); } var filter = $(this).attr('lay-filter'); if (filter) { form.on('checkbox('+filter+')', function(data) { inputShowUrl($(this), $(this).attr('control_url'), $(this).attr('data-id')); }) } }) $(".control_url select").each(function() { if($(this).find('option:selected').text()) { inputShowUrl($(this), $(this).attr('control_url'), $(this).attr('data-id')); } }) } } function menuGroup(id, e) { if (typeof(layer) != 'undefined' && admingroup) { layer.close(admingroup); } $('.menu_group').hide(); $('.menu_group_' + id).show(); $('.menu_group_' + id).eq(0).addClass('layui-nav-itemed'); } function inputShow(e,n,t) { $(".show_" + n).hide(); if (e.attr('v')) { var v = e.attr('v'); } else { var v = e.val(); } if (t == 'input') { var item = e.parent().find('input'); item.each(function() { if($(this).get(0).checked == true) { inputShowOne($(this),n); } }); } else { var item = e.parent().find('select'); item.each(function() { if($(this).find('option:selected').text()) { inputShowOne($(this),n); } }); } var array = ['input', 'textarea']; for(var a in array) { if ($(".show_" + n).find(array[a]).length) { var s = $(".show_" + n).find(array[a]); var p = s.parent().parent().parent().css('display'); var c = s.attr('class'); if (c.indexOf('validate[required]') > -1 && p == 'none') { $(".show_" + n).find(array[a]).removeClass('validate[required]').addClass('validates'); } if (c.indexOf('validates') > -1) { $(".show_" + n).find(array[a]).removeClass('validates').addClass('validate[required]'); } } } } function inputShowOne(e,n) { var value = e.val(); var ele = '.show_' + n + '_ajax'; if ($(ele).length) { $(ele).each(function() { var self = $(this); var url = self.attr('dever-ajax'); $.getJSON(url + value + '&callback=?', function(t) { self.find('.margin-top').html(t.data); inputShowOneValiDate(self); checkbox(); }) }) } else { ele = '.show_' + n + '_' + value; inputShowOneValiDate($(ele)); } } function inputShowOneValiDate(e) { e.show(); var array = ['input', 'textarea']; for(var a in array) { if(e.length && e.attr('class').indexOf('show_no') == -1) { e.find(array[a]).each(function() { var parent = $(this).parent(); if($(this).attr('class') && $(this).attr('class') != 'editor' && $(this).attr('class').indexOf('validates') > -1 && parent.find('label').length && parent.find('label').html().indexOf('选填') == -1) { $(this).addClass('validate[required]'); } }) } } } //批量更新 var list_mul_state = 1; function list_mul(e, t, url) { if (t == 1) { var type = parseInt($("#mul_type").val()); if(type != 1 && type != 2) { showAlert('您还没有选择数据'); return; } } if (list_mul_state == 2) { showAlert('请不要重复点击'); return; } var index = layer.confirm('确定进行此项操作吗?', function() { list_mul_state = 2; $('#method').val('mul'); $('#function').val('msg'); layer.close(index); if (url) { $('#method').val('mul.' + url); } $('#form1').attr('target', 'f1').submit(); }) } //搜索 function list_search(e) { $('#method').val('search'); $('#function').val(''); $('#form1').attr('target', '').submit(); } //更新数据 function update(e, id, project, table, notice, menu_id) { var call = function() { var col = e.attr('data-col').replace('up_col_', ''); var value = e.val(); var old = e.attr('data-old'); var url = config.host + 'database.update_action_commit?json=1'; $.post(url, {where_id:id,col:col,value:value,project:project,table:table,menu_id:menu_id}, function(t) { var t = eval('('+t+')'); if (t.status == 1) { e.attr('data-old', value); notify('操作已成功!您的操作已修改当前选项!', e); preview(); } else { msg(t); e.val(old); } }) } if(notice) { var index = layer.confirm(notice, function(i, l) { $(l).find('.layui-layer-btn0').css('pointer-events','none'); layer.close(index); call(); }); } else { call(); } } function notify(msg, e) { if (!e) { layer.msg(msg); return; } layer.tips(msg, e, { tips: [1, '#3595CC'] }); /* var notice = new PNotify({ title: '提示信息', text: msg, buttons: { closer: false, sticker: false } }); notice.get().click(function() { notice.remove(); }); */ } //模板选择 function template() { if(config.template) { $('body').attr('class', 'theme-' + config.template); } if($(".selector").length) { $(".selector").each(function() { if($(this).data('check') == 'checked') { selector($(this)); } }) } } //选择器 function selector(e) { var value = e.data('value'); var name = e.data('name'); $('#'+name+'_value').val(value); $('.'+name+'_selector').children().css({'border':'2px solid #ccc'}); e.children().css({'border':'2px solid #1e9fff'}); if(name == 'update_template') { $('body').attr('class', 'theme-' + value); } } //根据e的值,获取总数 var manage_total = {}; function total(e, data) { var value = e.val(); if(data.url) { var parent = e.parent().parent(); var tagName = parent.prop("tagName"); var pid = ''; if (tagName == 'TD') { pid = parent.parent().attr('id'); } data.value = value; data.where_id = $('#update_where_id').val(); data.table = $('#table').val(); data.project = $('#project').val(); if (data.col) { if (data.col.indexOf(',') != -1) { var s = data.col.split(','); for (var i in s) { if (i >= 0) { var a = s[i]; var k = s[i]; if (a.indexOf('=') != -1) { var t = a.split('='); a = t[0]; k = t[1]; } if (pid) { var b = $('#update_'+ (pid + '_i_' + a)); if (b.length) { var ue = b; } else { var ue = $('#update_'+a); } } else { var ue = $('#update_'+a); } data[k] = ue.val(); if (!data[k]) { data[k] = ue.attr('v'); } if (!data[k]) { data[k] = ue.html(); } } } } else { var a = data.col; var k = data.col; if (a.indexOf('=') != -1) { var t = a.split('='); a = t[0]; k = t[1]; } if (pid) { var b = $('#update_'+ (pid + '_i_' + a)); if (b.length) { var ue = b; } else { var ue = $('#update_'+a); } } else { var ue = $('#update_'+a); } data[k] = ue.val(); if (!data[k]) { data[k] = ue.attr('v'); } if (!data[k]) { data[k] = ue.html(); } } } var url = data.url; delete data.url; if (!pid) { pid = 'pid'; } $.getJSON(url + '&json=1', data, function(s) { t = s.data; for (var i in t) { if (!manage_total[i]) { manage_total[i] = {}; } manage_total[i][pid] = 0; manage_total[i][pid] += t[i]; } for (var i in manage_total) { var s = $('#' + i); var n = 0; for (var j in manage_total[i]) { n += manage_total[i][j]; } s.html(n); } }); } } //根据e的值,来载入其他数据 function loading(e, data, type) { if (type == 1) { var value = e.attr('v'); } else { var value = e.val(); if (e.attr('id') && e.attr('id').indexOf('_temp') != -1) { var id = e.attr('id').replace('_temp', ''); if ($('#' + id).length) { var value = $('#' + id).val(); } } } if (data.element) { if (data.url) { data.value = value; $.getJSON(data.url + '&json=1', data, function(t) { $('#update_'+data.element+'').val(t.data); }); } else { $('#update_'+data.element+'').val(value); } } else if(data.url) { var parent = e.parent().parent(); var tagName = parent.prop("tagName"); var pid = ''; if (tagName == 'TD') { pid = parent.parent().attr('id'); } data.value = value; data.where_id = $('#update_where_id').val(); data.table = $('#table').val(); data.project = $('#project').val(); if (data.col) { if (data.col.indexOf(',') != -1) { var s = data.col.split(','); for (var i in s) { if (i >= 0) { var a = s[i]; var k = s[i]; if (a.indexOf('=') != -1) { var t = a.split('='); a = t[0]; k = t[1]; } if (pid) { var b = $('#update_'+ (pid + '_i_' + a)); if (b.length) { var ue = b; } else { var ue = $('#update_'+a); } } else { var ue = $('#update_'+a); } data[k] = ue.val(); if (!data[k]) { data[k] = ue.attr('v'); } if (!data[k]) { data[k] = ue.html(); } } } } else { var a = data.col; var k = data.col; if (a.indexOf('=') != -1) { var t = a.split('='); a = t[0]; k = t[1]; } if (pid) { var b = $('#update_'+ (pid + '_i_' + a)); if (b.length) { var ue = b; } else { var ue = $('#update_'+a); } } else { var ue = $('#update_'+a); } data[k] = ue.val(); if (!data[k]) { data[k] = ue.attr('v'); } } } var url = data.url; delete data.url; $.getJSON(url + '&json=1', data, function(s) { t = s.data; if (typeof(t) == 'object') { var r = t.remove; if (r) { for(var i in r) { $(r[i]).remove(); } } var o = t.option; if (o) { for (var i in o) { if (pid) { var ti = pid + '_i_' + i; var ue = $('#update_'+ti); } else { var ue = $('#update_'+i); } ue.html(o[i]); } } var d = t.data; t = t.html; if (d) { for(var i in d) { if (pid) { var ti = pid + '_i_' + i; var ue = $('#update_'+ti); } else { var ue = $('#update_'+i); } var div = ue.prop("tagName"); if (d[i] == 'onload') { ue.load(); } else if (d[i] == 'onclick') { ue.click(); } else if (d[i] == 'onkeyup') { ue.keyup(); } else { if (div == 'DIV') { ue.html(d[i]); } else { ue.val(d[i]); } } } } } if (t) { if (t.indexOf('onblur') != -1) { eval(t); } else { if (t.indexOf('status') == -1) { if (data.type == 1) { $('.checking_1,.checking_2,.checking_3,.checking_4').each(function() { $(this).remove(); }); } else { $('.checking_-1,.checking_3,.checking_4').each(function() { $(this).remove(); }); } if (!parent.parent().find('.bind_show').length) { if (tagName == 'TD') { parent.next().html('
' + t + '
'); } else { parent.after('
' + t + '
'); } } else if (parent.parent().find('.bind_show').html() != t) { parent.parent().find('.bind_show').html(t); } checkbox(); } } } }); } } //根据e的值,来载入其他数据,先检测是否选中 function checking(name, e, data) { var value = []; $('.' + name).each(function() { if($(this).get(0).checked == true) { value.push($(this).val()); } }); if(data.url) { data.value = value.join(','); data.where_id = $('#update_where_id').val(); data.table = $('#table').val(); data.project = $('#project').val(); if(data.check) { data.check_value = false; $(data.check).each(function() { if($(this).get(0).checked == true) { data.check_value = $(this).val(); } }); } var url = data.url; delete data.url; $.getJSON(url, data, function(s) { t = s.data; var parent = e.parent().parent().parent(); if(t.indexOf('status') == -1) { if(data.type == 1) { $('.checking_1,.checking_2,.checking_3,.checking_4').each(function() { $(this).remove(); }); } else { $('.checking_-1,.checking_3,.checking_4').each(function() { $(this).remove(); }); } parent.after(t); checkbox(); } }); } } function autocomplete() { if ($("input").length) { $("input").each(function() { $(this).attr('autocomplete', 'off'); }); } if($("input[complete]").length) { $("input[complete]").each(function() { var cache = {}; var self = $(this); self.autocomplete( { minLength: 2, source: function( request, response ) { var term = request.term.split( /,\s*/ ); request.term = term.pop(); if ( request.term in cache ) { response( cache[ request.term ] ); return; } var cate = self.attr('complete_cate'); if (cate) { request[cate] = $('#update_' + cate).val(); } $.getJSON(self.attr('complete') + '&callback=?', request, function( data, status, xhr ) { data = data.data cache[ term ] = data; var state = true; for(var i in data) { if(data[i].id <=0) { state = false; } } if(state) { response( data ); } }); }, focus: function() { // prevent value inserted on focus return false; }, select: function( event, ui ) { //log( "Selected: " + ui.item.value + " aka " + ui.item.id ); var value = self.attr('complete_callback'); var id = self.attr('id').replace('_temp', ''); var name = self.attr('name').replace('_temp', ''); //var e = $("#" + id); var e = self; var html = '
'; if (!$("#" + id + '_show').length) { e.parent().append(html); } if ($("#" + id + '_show').html().indexOf(ui.item.value) == -1) { var link = ''; var attr = ''; var pic = ''; if (ui.item['pic']) { pic = ''; } if (ui.item['link']) { link = ui.item['link']; attr = ' target="_blank"'; } var html = '  '+pic+''+ui.item.value+'[删除]'; $("#" + id + '_show').append(html); if (!autocomplete_value[id]) { autocomplete_value[id] = []; } autocomplete_value[id].push(ui.item[value]); } ui.item.value = ''; } }); }) } } function autocomplete_del(e, id, value, name) { e.parent().parent().remove(); autocomplete_value[id].remove(value); var len = autocomplete_value[id].length; if (len < 1 && !($('#del_' + name).length)) { $("#" + id + '_show').append(''); } } function searchbox(id, e) { var self = e.parent().find("input"); var v = self.val(); var key = self.attr('id').replace('_temp', ''); var request = {}; request.term = v; var cate = self.attr('searchbox_cate'); if (cate) { var c = cate.split(','); for (var i in c) { if (typeof(c[i]) == 'string' && $('#'+c[i]).length) { request[c[i]] = $('#'+c[i]).val(); } } } var index = layer.msg('加载中...'); $.getJSON(self.attr('searchbox') + '&callback=?', request, function( data, status, xhr ) { layer.close(index); var data = data.data; if (!data) { showAlert('没有搜索到数据'); return; } var html = '
{content}
 全选
'; if (data) { var j = 0; var c = ''; var s = ''; var cateHtml = ''; var content = ''; for (var i in data) { if (j == 0) { c = 'class="layui-this"'; s = 'layui-show'; } else { c = ''; s = ''; } cateHtml += '
  • '+data[i].name+'
  • '; j++; var item = '
    {head}'; var p = false; for (var k in data[i].child) { if (data[i].child[k].name) { var pic = ''; if (data[i].child[k].pic) { pic = ''; p = true; } var check = ''; if (searchbox_value[key].indexOf(data[i].child[k].id) != -1) { check = 'checked'; } item += ''+pic+''; } } item += '
    '+data[i].child[k].name+'
    '; var head = '标题'; if (p) { head = head.replace('', '图片'); } item = item.replace('{head}', head); content += item; } if (cateHtml) { html = html.replace('{cate}', cateHtml); } if (content) { html = html.replace('{content}', content); } } var config = { type: 1, shade: 0.3, title : false, shadeClose : true, area : ['800px', '600px'], content: html }; layer.open(config); layui.use('element', function(){ var element = layui.element; }); }); } function searchbox_checkall(e, id) { $('.' + id).each(function() { $(this).get(0).checked = e.get(0).checked; //$(this).click(); }) } function searchbox_checkone(e, id, key, value) { if (!e.get(0).checked) { $('#searchbox_check_' + key + '_' + value).remove(); searchbox_value.remove(value); var len = searchbox_value.length; var name = key.replace('_value', ''); if (len < 1 && !($('#del_' + name).length)) { $("#" + key + '_show').append(''); } } else { var c = '.' + e.attr('data-class'); searchbox_yes(id, c, false); } } function searchbox_yes(e, c, state) { var self = $("#" +e); $(c).each(function() { if ($(this).get(0).checked && $(this).val() && $(this).attr('data-value')) { var value = self.attr('searchbox_callback'); var id = self.attr('id').replace('_temp', ''); var name = self.attr('name').replace('_temp', ''); var html = '
    '; if (!$("#" + id + '_show').length) { self.parent().append(html); } if (!$("#" + id + '_show').find('#searchbox_check_'+id+'_'+$(this).attr('data-value')).length) { var link = ''; var attr = ''; var pic = ''; if ($(this).attr('data-pic') && $(this).attr('data-pic') != 'undefined') { pic = ''; } if ($(this).attr('data-link')) { link = $(this).attr('data-link'); attr = ' target="_blank"'; } var html = '  '+pic+''+$(this).attr('data-name')+'[删除]'; $("#" + id + '_show').append(html); if (!searchbox_value[id]) { searchbox_value[id] = []; } searchbox_value[id].push($(this).attr('data-value')); } } }) if (state == true) { layer.closeAll(); } } function searchbox_del(e, id, value, name) { e.parent().parent().remove(); searchbox_value.remove(value); var len = searchbox_value.length; if (len < 1 && !($('#del_' + name).length)) { $("#" + id + '_show').append(''); } } //后台通用的提示 function msg(value) { $("#dever_modal_no").click(); if(!value.data) { value.data = value.msg; } if(value == 1) { location.reload(); return; } submit(); var url = ''; if(value.data != 'reload' && value.status == 2 && value.code == 1) { if ($('#dever_submit').length && value.uuid) { $('#dever_submit').val(value.uuid); } showAlertFlag = false; list_mul_state = 1; showAlert(value.msg, false, '错误提示'); //alert(value.data); //location.reload(); return; } else if(value.data == 'reload') { if(typeof(config.layout) != "undefined" && $(config.layout).length) { pjax({url: location.href, container: config.layout}) } else { location.reload(); } return; } else if(value.data == 'refer') { history.back(); return; } else { if(value.data.indexOf('http') != -1) { url = value.data; } else if($("#url").length) { url = $("#url").val(); } else { notify(value.data) return; } if(url) { if(typeof(config.layout) != "undefined" && $(config.layout).length) { pjax({url: url, container: config.layout}); } else { location.href = url; } } else { if(typeof(config.layout) != "undefined" && $(config.layout).length) { pjax({url: location.href, container: config.layout}); } else { location.reload(); } } } return; } /** * 处理多选问题,处理全选按钮 */ function checkbox() { if($(".autoload").length) { $(".autoload").each(function() { if($(this).get(0).checked == true) { $(this).removeClass('autoload'); $(this).load(); } }); } if($(".autoload_text").length) { $(".autoload_text").each(function() { if($(this).val()) { $(this).removeClass('autoload_text'); $(this).load(); } }); } var name = 'checkbox-checkall'; var checkbox = $("." + name); if(checkbox.length) { if (checkbox.attr('title')) { checkbox.each(function() { var self = $(this); var ele = "." + name + "-" + self.val(); var len = $(ele).length; $(ele).each(function() { if(this.checked == true) { self.get(0).checked = true; if ($(this).attr('onclick') && $(this).attr('onclick').indexOf('show') > 0) { inputShow($(this), 'col'); } } var filter = $(this).attr('lay-filter'); if (filter) { form.on('checkbox('+filter+')', function (data) { var next = $(this).next(); var state = $(this).attr('data-state'); if(data.elem.checked == true) { if (state == 2) { self.get(0).checked = true; } else { if ($("." + name + "-" + self.val()+":checked").length >= len) { self.get(0).checked = true; } } if(self.attr('type') == 'radio') { //如果父选项是radio类型,做下限制 //alert(1); } if($("#mul_type").length) { $("#mul_type").val(1); } if(next.length && next.attr('type') != 'checkbox' && next.attr('type') != 'hidden') { next.attr('disabled', false); } } else { if(next.length && next.attr('type') != 'checkbox' && next.attr('type') != 'hidden') { next.attr('disabled', true); } } var num = 0; var id = $(this).attr('name'); var hidden = id; id = id.replace('[]', ''); $(ele).each(function() { if($(this).get(0).checked == true) { num = 1; /* if ($('#' + id).length) { $('#' + id).remove(); }*/ } }); if(num == 0) { self.get(0).checked = false; if($("#mul_type").length) { $("#mul_type").val(0); } if (state == 2) { } else if (!$('#' + id).length) { self.parent().append(''); } } form.render('checkbox'); }); } }); var filter = self.attr('lay-filter'); form.on('checkbox('+filter+')', function (data) { $("." + name + "-" + $(this).val()).each(function() { this.checked = data.elem.checked; var next = $(this).next(); if(this.checked == true) { if(next.length && next.attr('type') != 'checkbox' && next.attr('type') != 'hidden') { next.attr('disabled', false); } if($("#mul_type").length) { $("#mul_type").val(1); } } else { if(next.length && next.attr('type') != 'checkbox' && next.attr('type') != 'hidden') { next.attr('disabled', true); } if($("#mul_type").length) { $("#mul_type").val(0); } } if ($(this).attr('onclick') && $(this).attr('onclick').indexOf('Show') > 0) { //inputShow($(this), 'col'); inputShow($(this), $(this).attr('show_id'), 'input'); } form.render('checkbox'); }); }); form.render('checkbox'); }); } else { checkbox.unbind('click').bind('click', function() { var self = $(this); $("." + name + "-" + self.val()).each(function() { $(this).get(0).checked = self.get(0).checked; var next = $(this).next(); if($(this).get(0).checked == true) { if(next.length && next.attr('type') != 'checkbox' && next.attr('type') != 'hidden') { next.attr('disabled', false); } if($("#mul_type").length) { $("#mul_type").val(1); } } else { if(next.length && next.attr('type') != 'checkbox' && next.attr('type') != 'hidden') { next.attr('disabled', true); } if($("#mul_type").length) { $("#mul_type").val(0); } } if ($(this).attr('onclick') && $(this).attr('onclick').indexOf('Show') > 0) { //inputShow($(this), 'col'); inputShow($(this), $(this).attr('show_id'), 'input'); } }) }); checkbox.each(function() { var self = $(this); var len = $("." + name + "-" + self.val()).length; $("." + name + "-" + self.val()).each(function() { $(this).unbind('click').bind('click', function() { var next = $(this).next(); var state = $(this).attr('data-state'); if($(this).get(0).checked == true) { if (state == 2) { self.get(0).checked = true; } else { if ($("." + name + "-" + self.val()+":checked").length >= len) { self.get(0).checked = true; } } if(self.attr('type') == 'radio') { //如果父选项是radio类型,做下限制 //alert(1); } if($("#mul_type").length) { $("#mul_type").val(1); } if(next.length && next.attr('type') != 'checkbox' && next.attr('type') != 'hidden') { next.attr('disabled', false); } } else { if(next.length && next.attr('type') != 'checkbox' && next.attr('type') != 'hidden') { next.attr('disabled', true); } } var num = 0; $("." + name + "-" + self.val()).each(function() { if($(this).get(0).checked == true) { num = 1; } }); var id = $(this).attr('name'); var hidden = id; id = id.replace('[]', ''); if(num == 0) { self.get(0).checked = false; if($("#mul_type").length) { $("#mul_type").val(0); } if (state == 2) { } else if (!$('#' + id).length) { self.parent().append(''); } } else { /* if ($('#' + id).length) { $('#' + id).remove(); }*/ } }) if($(this).get(0).checked == true) { self.get(0).checked = true; if ($(this).attr('onclick') && $(this).attr('onclick').indexOf('show') > 0) { inputShow($(this), 'col'); } } }); }) } } } /** * 处理双击编辑 */ function edit() { if($(".edit").length) { $(".edit").each(function() { $(this).bind('dblclick', function() { var col = $(this).attr('data-col'); var project = $(this).attr('data-project'); var table = $(this).attr('data-table'); var url = $(this).attr('data-url'); var id = $(this).attr('data-id'); var html = $(this).attr('data-content'); var type = $(this).attr('data-type'); if($(this).find(".edit-content").length) { html = $(this).find(".edit-content").html(); html = html.replace('', '>'); } if (html == '点此编辑') { html = ''; } if(html.indexOf('input') == -1) { if(type && type == 'textarea') { $(this).html(''); } else { $(this).html(''); } var self = $(this); self.find("#edit").focus(); self.find("#edit").blur(function() { var value = self.find("#edit").val(); if(!value) { alert('不能为空'); return; } if($(this).find(".edit-content").length) { $(this).find(".edit-content").html(value); } else { self.attr('data-content', value); } self.html(value); $.post(url, {project:project,table:table,value:value,where_id:id,col:col}, function(t) { notify('修改成功', self); preview(); /* if(type && type == 'textarea') { self.html(t); } */ }) }) } }); }) } } function preview() { if($("#preview").length) { var time = Date.parse(new Date()); var src = $('#preview').attr('src').split('#'); $('#preview').attr('src', src[0] + '&' + time + '#' + src[1]); } } function del() { if($(".oper_delete").length) { $(".oper_delete").each(function() { var href = $(this).attr('href'); $(this).attr('href', '#'); $(this).unbind('click'); $(this).bind('click', function() { del_act(href); }); }) } } /** * 处理删除 */ function del_act(href) { var index = layer.confirm('确定进行此项操作吗?', function(i, l) { $(l).find('.layui-layer-btn0').css('pointer-events','none'); $.getJSON(href + '&json=1&callback=?', {}, function(t) { msg(t); layer.close(index); }) }); } /** * 处理特殊加载的按钮 */ function load(href, content, title) { if (!content) { content = '确定进行此项操作吗?'; } if (!title) { title = '温馨提示'; } var i = 0; var flag = false; var send = {title:title} var index = layer.confirm(content, send, function(i, l) { if (!flag) { i++; $(l).find('.layui-layer-btn0').css('pointer-events','none'); if(href.indexOf('&') == -1) { href += '?json=1&callback=?'; } else { href += '&json=1&callback=?'; } $.getJSON(href, {}, function(t) { if (t.status == 2) { flag = false; showAlert(t.msg, false, '错误提示'); return; } else { // 修改标志位 flag = true; msg(t); layer.close(index); //location.reload(); } }) } }) /* showAlert('确定进行此项操作吗?', function() { $("#dever_modal_no").click(); $.getJSON(href + '&json=1', {}, function(t) { msg(t); }) }); */ } /** * 处理特殊页面 */ function loadPage(href, title, submit) { if(href.indexOf('&') == -1) { href += '?json=1&callback=?'; } else { href += '&json=1&callback=?'; } $.getJSON(href, {}, function(t) { var func = false; if (submit) { } showAlert(t.data, func, title); }) } /** * 处理特殊加载的按钮 */ function jump(href, form) { if (form) { var param = formData(form); href += param[1]; } if (href.indexOf('list_excel') != -1) { layer.confirm('确认导出数据吗?', function() { Excel.export(href); }) } else { location.href = href; } } /** * 处理change */ function change() { if($(".change").length) { $(".change").each(function() { var key = $(this).attr('data-child'); /* $('.' + key).each(function() { if($(this).find('select option:selected').val()) { $(this).show(); $('#set_cate_id_child').get(0).value = $(this).attr('parent'); } }); */ $(this).change(function() { $('.' + key).hide(); var v = $('.' + key + '_' + $(this).val()); var s = v.find('select'); s.change(function() { $('.' + key + '_value').val($(this).val()); }) if(v.length) { $('.' + key + '_value').val(s.val()); v.show(); } else { $('.' + key + '_value').val(-1); } }); if($(this).val() > 0) { $(this).change(); } }); } } /** * 处理图库系统 */ function image() { if($(".dever-note").length) { $(".dever-note").each(function() { var key = $(this).attr('key'); $(this).inlineattachment( { uploadUrl: config.upload + '.drag?key='+ key }); }); } if($(".image_upload").length) { $(".image_upload").each(function(i) { //如果是大文件 if ($(this).attr('l')) { loadUploadL(i,$(this),$(this).attr('key'),config.upload + '.start', config.lib + 'upload/'); } else { var parent = $(this).parent().parent(); //alert(parent.attr('id')); if(parent.attr('id') && parent.attr('id').indexOf('-child-0') != -1) { return; } loadUpload(i,$(this),$(this).attr('key'),config.upload + '.start', config.lib + 'upload/');//三个参数说明1:第几个上传框2:文件对象3:图片的基本配置标题 } }) } if($(".upload_show").length) { $(".upload_show").each(function(i) { var parent = $(this).parent().parent(); if(parent.attr('id') && parent.attr('id').indexOf('-child-0') != -1) { return; } showUpload(i,$(this),$(this).attr('key'),config.upload + '.files', config.lib + 'upload/', 1);//三个参数说明1:第几个上传框2:文件对象3:图片的基本配置标题 }) } if($(".upload_cover").length) { $(".upload_cover").each(function(i) { var parent = $(this).parent().parent(); if(parent.attr('id') && parent.attr('id').indexOf('-child-0') != -1) { return; } showUploadCover(i,$(this),$(this).attr('key'),config.upload + '.videoCover', config.lib + 'upload/', 1);//三个参数说明1:第几个上传框2:文件对象3:图片的基本配置标题 }) } if($(".upload_show_editor").length) { $(".upload_show_editor").each(function(i) { var parent = $(this).parent().parent(); if(parent.attr('id') && parent.attr('id').indexOf('-child-0') != -1) { return; } showUpload(i,$(this),$(this).attr('key'),config.upload + '.files', config.lib + 'upload/', 3);//三个参数说明1:第几个上传框2:文件对象3:图片的基本配置标题 }) } } /** * 修改密码 */ function pass(e) { var html = '
    '; html += '
    '; html += '
    '; html += '
    '; var edit = function() { var old_password = $("#edit_old_password").val(); var new_password = $("#edit_new_password").val(); if(!old_password || !new_password) { alert('请输入密码'); return; } if(old_password == new_password) { alert('旧密码和新密码相同'); return; } $.post(config.host + 'auth.password', {old:old_password,new:new_password}, function(t) { alert(t); }) }; showAlert(html, edit, '修改密码'); /* $('#dever_modal_body').html(html); $('#dever_modal_title').html('修改密码'); */ } var MSG = []; /** * 打开弹窗 */ //function showMsg(title, e, id, func) function showMsg(title, e, id, func, param) { if(id.indexOf('http://') == -1) { if($(id).length) { var html = $(id).html(); if($(id).html()) { var html = $(id).html(); MSG[id] = html; $(id).html(''); } else { var html = MSG[id]; } } else { var html = id; } showAlert(html, func, title); /* $('#dever_modal_body').html(html); $('#dever_modal_title').html(title); if (func) { $("#dever_modal_yes").unbind('click').bind('click', func); } else { $("#dever_modal_yes").unbind('click').bind('click', function(){$("#dever_modal_no").click()}); } */ } else { var url = id; var send = {}; if (param) { send = param; } if (e && e.attr('msg-send')) { send.data = e.attr('msg-send'); } if (url.indexOf('?') != -1) { url = url + '&'; } else { url = url + '?'; } $.getJSON(url+'json=1&callback=?',send,function(t) { t = t.data; showAlert(t, func, t); /* $('#dever_modal_body').html(t); $('#dever_modal_title').html(title); if(func) { $("#dever_modal_yes").unbind('click').bind('click', func); } */ }); } } function updateMsg(id) { $("#"+id).submit(); } var showAlertFlag = false; function showAlert(msg, func, title, index, t) { if (!title) { title = '温馨提示'; } var type = 0; if (msg.indexOf('<') != -1) { type = 1; } if (t) { type = t; } var config = { type: 0, title: title, shade: 0.1, shadeClose : true, content: msg }; if (index) { config.zIndex = index; } config.scrollbar = false; if (type == 1) { config.type = 1; if (func) { config.btn = ['保存', '关闭']; } else { config.btn = ['关闭']; } if (window.screen.width >= 800) { config.area = ['800px', '550px']; } } else if (type == 2) { config.type = 1; config.btn = []; if (window.screen.width >= 800) { config.area = ['800px', '550px']; } } config.cancel = config.btn2 = function(index) { layer.close(index); }; if (msg.indexOf('保存成功') != -1) { config.end = function(index) { layer.closeAll(); }; } if (func) { config.yes = function(index) { if (!showAlertFlag) { showAlertFlag = true; func(index); } }; } else { config.yes = config.cancel; } config.success = function() { //$('.layui-layer-content').css('padding', '10px'); } config.end = function() { $('.layui-layer-content').css('overflow-x', 'auto'); $('#update_button').show(); } var index = layer.open(config); } function fastEdit(e, url, title, col, index, type, mul, mul_load) { var func = function() { $(".fast").submit(); }; var send = {}; if (col) { send.col = col; } if (mul) { var ids = []; $('.checkbox-checkall-list').each(function() { if ($(this).get(0).checked) { ids.push($(this).val()) } }) if (ids.length <= 0) { showAlert('您还没有选择数据'); return; } send.mul_ids = ids.join(','); send.mul_load = mul_load; } $.get(url + '&fast=1',send,function(t) { var html = ''; var valid = ''; var action = ''; //if ($(t).find('form').length && !$(t).find('#form1').length) { if ($(t).find('form').length) { if ($(t).find('form').length > 1 && $(t).find('form').eq(1).html()) { var form_1 = $(t).find('form').eq(1); form_1.addClass('layui-card-body'); } else { var form_1 = $(t).find('form').eq(0); } action = form_1.attr('action'); form_1.addClass('fast'); form_1.find('#function').eq(0).val('showYes'); var html = form_1.prop("outerHTML"); if ($(t).find('#valid').length) { var valid = $(t).find('#valid').prop("outerHTML"); html = html + valid; } if (html.indexOf('left: 740px') != -1) { html = html.replace('left: 740px', 'left:583px;') } if ($(t).find('.dever_no_save').length) { func = false; } } else { html = t; func = false; } /* if ($(html).find('.layui-card-body').length > 0) { html = html.replace('class="layui-card-body"', 'class="layui-card-body" style="display:none"'); html = html.replaceAll('class="layui-btn layuiadmin-btn-list"', 'class="layui-btn layuiadmin-btn-list" style="display:none"'); } */ if (!action) { type = 2; func = false; } showAlertFlag = false; if (index == 1) { showAlert(html, func, title, 19850422, type); } else { showAlert(html, func, title, false, type); } $('.layui-layer-content').css('overflow-x', 'hidden'); if ($('#update_button').length) { $('#update_button').hide(); } layui.use(['form'], function(){ layui.form.render(); /* $('select').each(function() { if ($(this).attr('xm-select')) { layui.formSelects.render($(this).attr('xm-select')); } });*/ }); init(560); }); } /* var test = { refreshPage: false, addAjaxFlag: true, //添加收藏 add: function(cfg) { } } */ function showToggle(e) { var id = e.attr('toggle'); var child = e.attr('toggle_child'); var parent = e.parent(); parent.parent().find('li').removeClass('active'); parent.addClass('active'); $(child).fadeOut(100); $(id).fadeIn(500); initEditor($(id).find('.editor')); } function addChange(e) { var val = e.val(); if (val == 0) { var o = e.find('option:selected'); var type = o.attr('data-type'); if (type && type == 'add') { var url = o.attr('data-url'); var p = e.parent(); if (p.find('.addchange').length < 1) { p.html(p.html() + '
    '); } var id = e.attr('id'); p.find('.addchange').html(''); } e.val('0'); } } function addChangeAction(url, id, self) { var send = {}; var e = $('#' + id); send.value = $('#add_' + id).val(); if (!send.value) { layer.alert('没有填写内容'); return; } send.json = 1; $.getJSON(url, send, function(t) { if (t.status == 1) { e.append(''); e.val(t.data.id); self.parent().remove(); } else { layer.alert(t.msg); } }); } function inputShowUrl(e, url, id) { if (e.attr('v')) { var val = e.attr('v'); } else { var val = e.val(); } var send = {}; send['json'] = 1; send['id'] = id; send['value'] = val; if (url.indexOf('{') != -1) { var start = url.split('{'); var end = start[1].split('}'); url = start[0] + end[1]; if (end[0].indexOf(',')) { var param = end[0].split(','); } else { var param = []; param[0] = end[0]; } for (var i in param) { if (typeof(param[i]) == 'string') { var e = $('#update_'+param[i]); if (e.length > 1) { e.each(function() { if ($(this).get(0).checked) { send[param[i]] = $(this).val(); } }) } else { send[param[i]] = e.val(); } } } } $.getJSON(url, send, function(t) { if (t.status == 1) { for (var i in t.data) { var e1 = $('#update_' + i).parent().parent(); e1.html(t.data[i]); e1.parent().show(); } layui.use(['form'], function(){ layui.form.render(); }); checkbox(); } }); } function loadChange(e, load) { if (e.attr('v')) { var val = e.attr('v'); } else { var val = e.val(); } showLoad(load, [val]); } function showLoad(id, value) { var e = $('#update_' + id); if (!value) { e.html(''); return; } e.html('加载中...'); var url = e.attr("data-load"); var cate = e.attr("data-cate"); var id = e.attr("data-id"); var send = {}; send['json'] = 1; if (cate) { send[cate] = value.join(','); } if (id) { send['id'] = id; } $.getJSON(url, send, function(t) { if (t.status == 1) { if (t.data == 'no') { if (e.html() == '加载中...') { e.html(''); } } else { e.html(t.data); } } else { e.html(''); } layui.use(['form'], function(){ layui.form.render(); }); checkbox(); }); } var level_value = []; var select_api = {}; var select_api_name = []; var select_api_title = ''; var select_api_open = ''; function select_linkage(level, id, url, name, value, valid, w, total, search, level_param, col, api, type, title, open, load) { var e = '#' + id; var parent = value.split(','); var cur = parent[0]; parent.remove(cur); value = parent.join(','); var html = ''; var old = level; var level_name = ''; if (!total) { level_id = 0; } else { level_id = $(e + '_' + level).val(); if (level_id.indexOf('|') != -1) { var temp = level_id.split('|'); if (level == 1) { select_api_name = []; } level_id = temp[0]; level_name = temp[1]; select_api_name[level-1] = level_name; } if (level >= total) { //$(e).show(); if (load) { var key = total-1; if (level_value[key]) { level_value[key] = level_id; } else { level_value.push(level_id); } showLoad(load, level_value); } return; } level = parseInt(level) + 1; } var api_name = ''; if (col && api) { select_api_title = title; select_api_open = open; if (name.indexOf('_no') == -1) { api_name = name; } else { var t = name.split('_no'); api_name = t[0]; } name += '_no'; } $.getJSON(url + '&json=1&callback=?', {level_search:search, level_id:level_id, level_num:level,level_param:level_param}, function(t) { var check = ''; if (t.status == 1) { if (level == 2) { level_value = []; } if (load && level_id > 0) { level_value.push(level_id); showLoad(load, level_value); } var total = t.data.level_total; var data = t.data.list; if(!$(e + '_' + level).length) { html = '  '; $(e).append(html); $(e + '_' + level).change(); } else { $(e + '_' + level).html(html); $(e + '_' + level).change(); } $(".form1").validationEngine("attach",{onSuccess:function(){submit();},onFailure:function(){submit();}}); } else { if (level == 2) { level_value = []; if (load && level_id < 0) { showLoad(load, false); } } if (load && level_id > 0) { level_value.push(level_id) showLoad(load, level_value); } $(e + '_' + old).nextAll('select').remove(); $(e + '_' + old).next('span').nextAll('span').remove(); } if (col && api && level_id > 0) { var send = {}; send[col] = level_id; $.getJSON(api + '&json=1&callback=?', send, function(r) { var h = ''; $(e + '_content').html(h); }); } /* if ($('#' + name + '_level_value').length) { var total = $(id).find('select').length; $('#' + name + '_level_value').val(total); } if ($('#' + name + '_up_value').length) { $('#' + name + '_up_value').val($(id + '_-2').val()); } */ }); if (col && api) { select_linkage_check_show(e, api_name); } } function select_linkage_check_all(e, cur, level_id, level_name, id, api_name) { var checked = e.prop('checked'); $('.' + cur).each(function() { $(this).prop('checked', checked); select_linkage_check($(this), level_id, level_name, id, api_name); }) } function select_linkage_check(e, level_id, level_name, id, api_name, cid) { var level_key = 'level_' + level_id; if (!select_api[level_key]) { select_api[level_key] = {}; select_api[level_key]['id'] = level_id; select_api[level_key]['name'] = level_name; select_api[level_key]['value'] = {}; } var value = e.val(); var temp = value.split('|'); var key = 'id_' + temp[0]; if (e.prop('checked')) { select_api[level_key]['value'][key] = {}; select_api[level_key]['value'][key]['id'] = temp[0]; select_api[level_key]['value'][key]['name'] = temp[1]; select_api[level_key]['value'][key]['state'] = 1; } else { if (select_api[level_key] && select_api[level_key]['value'] && select_api[level_key]['value'][key]) { select_api[level_key]['value'][key]['state'] = 2; } if (cid) { $(cid).prop('checked', false); } } select_linkage_check_show(id, api_name); } function select_linkage_check_show(id, api_name) { if (select_api) { var select_api_json = JSON.stringify(select_api); var html = '
    '; for (var i in select_api) { if (select_api[i]['value']) { html += '[' + select_api[i]['name'] + ']:'; } } html += '
    '; html += ''; $(id + '_data').html(html); } } /* function select_mul(level, id, url, name, value, valid, w, num) { if(level == 0) { $(id).find('select').remove(); $(id).find('span').remove(); return; } var parent = value.split(','); var cur = parent[0]; parent.remove(cur); value = parent.join(','); var html = ''; var old = level; if(level != -1) { if($(id + '_' + level).length) { level = $(id + '_' + level).val(); } alert(level); if(level == 0) { $(id + '_' + old).nextAll('select').remove(); $(id + '_' + old).next('span').nextAll('span').remove(); if($('#' + name + '_level_value').length) { var total = $(id).find('select').length; $('#' + name + '_level_value').val(total); } if(old == -2 && $('#' + name + '_value_value').length) { $('#' + name + '_value_value').val(level); } return; } if(old == -2) { $(id + '_' + old).nextAll('select').remove(); $(id + '_' + old).next('span').nextAll('span').remove(); } if($('#' + name + '_value_value').length) { $('#' + name + '_value_value').val(level); } } var total = $(id).find('select').length; if(num > 0 && total >= num) { return; } var get = url.replace('{level}', level); if(level == -1) { level = -2; } if(!$(id + '_' + level).length) { $.getJSON(get + '&json=1', {total:total,level:level}, function(t) { var check = ''; if(t.status == 1) { html = '  '; $(id).append(html); $(id + '_' + level).change(); } else { $(id + '_' + old).nextAll('select').remove(); $(id + '_' + old).next('span').nextAll('span').remove(); } if($('#' + name + '_level_value').length) { var total = $(id).find('select').length; $('#' + name + '_level_value').val(total); } if($('#' + name + '_up_value').length) { $('#' + name + '_up_value').val($(id + '_-2').val()); } }); } } */ //处理更新页面的一些功能,写到一起吧 var dever_update = { addIndex : 2, index : [], auto : false, save_key : '', init : function() { var self = this; self.index = []; // 增加整个更新的表单 if($(".dever_update_add").length) { $('.dever_update_add').unbind('click').bind('click', function() { self.add($(this)); }) } /* 以后再增加 同时更新另外一个表 if($(".form-add-content").length) { var url = config.host + 'auth.password'; var url = 'http://localhost/dever/manage/?database.update?project=weixin&table=message&menu=weixin&menu_id=39&ajax=1'; $.get(url, function(t) { $(".form-add-content").html(t); init(); }) } */ //增加某一部分表单 if($(".dever_form_add").length) { $('.dever_form_add').each(function() { var key = $.attr('toggle_key'); if(typeof(self.index[key]) == "undefined") { self.index[key] = 0; } $(this).unbind('click').bind('click', function() { self.append($(this)); }) }) self.del(); } // 开启自动保存 if($("#struct").length) { var save = $("#struct").attr('save'); if(save == 'yes') { //检测 self.save_key = location.href + 'test'; self.check(); } } if($('.dever-note').length) { $('.dever-note').each(function() { var mditor = new Mditor($(this),{ fixedHeight:true }); mditor.openPreview(); }) } }, save : function() { //var data = $("#data-1").html(); var data = []; $(".update_value").each(function(i) { if($(this).attr("update_type") == 'checked') { data[i] = $(this).get(0).checked; } else if($(this).attr("update_type") == 'html') { data[i] = $(this).html(); } else if($(this).attr("update_type") == 'src') { data[i] = $(this).attr('src'); } else { data[i] = $(this).val(); } }); store.set(this.save_key, data.join('|||')); //console.info(data); }, recover : function() { var index = layer.confirm('确定恢复上次保存的数据吗?', function(i, l) { $(l).find('.layui-layer-btn0').css('pointer-events','none'); var data = store.get(this.save_key).split('|||'); if(data) { var value = $(".update_value"); for(var k in data) { var e = value.eq(k); if(e.attr('update_type') == 'checked') { if(data[k] == 'true') { e.get(0).checked = true; } else { e.get(0).checked = false; } } else if(e.attr('update_type') == 'html') { e.html(data[k]); } else if(e.attr('update_type') == 'src') { e.attr('src', data[k]); } else { if(e.attr('id')) { var id = e.attr('id'); if(typeof(editors[id]) != "undefined") { editors[id].html(data[k]); } } e.val(data[k]); } } store.set(this.save_key, ''); this.check(); } }) }, check : function() { var data = store.get(this.save_key); var self = this; if(data) { $(".dever_save").unbind('click').bind('click', function() { self.recover(); }).show(); } else { $(".dever_save").hide(); self.auto = setInterval(function(){self.save()}, 3000); } }, del : function() { var self = this; if($(".dever_form_delete").length) { $('.dever_form_delete').each(function() { $(this).unbind('click').bind('click', function() { var parent = $(this).parent(); var id = parent.attr('id'); var index = parseInt($('#tab-' + id).attr('toggle_id')); var key = $('#tab-' + id).attr('toggle_key'); if(index <= 1 && self.index[key] <= index) { } else if(index <= 1 && self.index[key] > index) { index = index+1; $("#tab-"+key+"-child-" + index).click(); } else { index = index-1; $("#tab-"+key+"-child-" + index).click(); }; $('#tab-' + id).parent().remove(); parent.remove(); self.index[key]--; }) }) } }, append : function(e) { var self = this; var key = e.attr('toggle_key'); var parent = e.parent().parent().parent(); var child = '.dever_'+key+'_child'; if(typeof(self.index[key]) == "undefined") { self.index[key] = 0; } if (isNaN(self.index[key])) { self.index[key] = 0; } if(self.index[key] <= 0) { self.index[key] = parent.find(child).length; } if(self.index[key] > 100) { layer.showAlert('最多只能增加100条'); return; } var p = e.parent(); var id = key + '-child-' + self.index[key]; var name = '第' + (self.index[key]) + '条'; p.before('
  • '+name+'
  • '); var e = e.parent().parent(); var n = e.next(); var p = e.parent(); var content = n.html(); content = content.replaceAll('_c_', '_c_' + (self.index[key]-1) + '_i_'); var cname = n.attr('class'); if (cname.indexOf('layui-tab') > -1) { content = ''; } else { //content = ''; content = ''; } p.append(content); if ($("#" + id).find('.ke-container').length >= 1) { $("#" + id).find('.ke-container').eq(0).remove(); } $('#update_' + key +'_c_' + (self.index[key]-1) + '_i_' + 'order').val(parseInt($('#update_' + key +'_c_' + (self.index[key]-2) + '_i_' + 'order').val())+1); self.del(); //$("html,body").animate({scrollTop:$('.dever_form_add_child').eq(this.appendIndex).offset().top},500); self.index[key]++; image(); loadShow(); autocomplete(); change(); form.render(); initPic(); initDate(); /* layui.use(['formSelects'], function(){ $('#' + id + " select").each(function() { if ($(this).attr('xm-select')) { layui.formSelects.render($(this).attr('xm-select')); } }) }); */ }, add : function(e) { var self = this; var p = e.parent(); var id = 'data-' + this.addIndex; var name = '新增数据-' + (this.addIndex-1); p.before('
  • '+name+'
  • '); var content = $("#content").find('.tab-pane').eq(0).html(); content = content.replaceAll('update_', 'update_' + this.addIndex + '__'); content = '
    ' + content + '
    '; $("#content").append(content); $('#update_' + this.addIndex + '__where_id').val('-1'); this.addIndex++; } } $.fn.pasteEvents = function( delay ) { if (delay == undefined) delay = 20; return $(this).each(function() { var $el = $(this); $el.on("paste", function() { $el.trigger("prepaste"); setTimeout(function() { $el.trigger("postpaste"); }, delay); }); }); }; $("textarea").on("postpaste", function() { if($(this).val().indexOf('<') != -1) { $(this).val(toMarkdown($(this).val())); } }).pasteEvents(); function showYes(msg) { if (msg.msg == 'reload') { location.reload(); return; } showAlertFlag = false; if (msg.status == 2) { list_mul_state = 1; layer.alert(msg.msg); } else { showAlert('保存成功', function() { if (select_api_open) { $('.layui-layer-content').css('overflow-x', 'auto'); $('#update_button').show(); layer.closeAll(); } else { if(msg.data.indexOf('http') != -1) { location.href = msg.data; } else if (msg.data && msg.data == 'refer') { history.back(); } else { location.reload(); } } }); } } function setDay(e, d) { $('#search_option_sday').val(d); $('.sday_button').removeClass('sday_button_border'); e.addClass('sday_button_border'); var date = new Date(); var year = date.getFullYear(); var month = date.getMonth()+1; var day = date.getDate(); var nowDate = year + "-" + (month < 10 ? "0" + month : month) + "-" + (day < 10 ? "0" + day : day); //获取30天前得日期 var lastDate = new Date(date - 1000 * 60 * 60 * 24 * d); var lastY = lastDate.getFullYear(); var lastM = lastDate.getMonth()+1; var lastD = lastDate.getDate(); var LDate = lastY + "-" + (lastM < 10 ? "0" + lastM : lastM) + "-" + (lastD < 10 ? "0" + lastD : lastD); $('.manage_sday').eq(0).val(LDate); $('.manage_sday').eq(1).val(nowDate); } function setDate(e, d) { $('#search_option_sdate').val(d); $('.sdate_button').removeClass('sdate_button_border'); e.addClass('sdate_button_border'); var date = new Date(); var year = date.getFullYear(); var month = date.getMonth()+1; var day = date.getDate(); var nowDate = year + "-" + (month < 10 ? "0" + month : month) + "-" + (day < 10 ? "0" + day : day); //获取30天前得日期 var lastDate = new Date(date - 1000 * 60 * 60 * 24 * d); var lastY = lastDate.getFullYear(); var lastM = lastDate.getMonth()+1; var lastD = lastDate.getDate(); var LDate = lastY + "-" + (lastM < 10 ? "0" + lastM : lastM) + "-" + (lastD < 10 ? "0" + lastD : lastD); $('.manage_sdate').eq(0).val(LDate + ' 00:00:00'); $('.manage_sdate').eq(1).val(nowDate + ' 23:59:59'); } function showVideo(video) { var html = ''; showAlert(html); } function sku(e) { var data = $('#sku_table_col').html(); data = JSON.parse(data); var thead = []; var tbody = []; var mthead = []; var mtbody = []; for (var i in data) { if (data[i]['verify'] == 'number') { var type = 'required|number'; var value = '0'; } else { var type = 'required'; var value = ''; } if (data[i]['type'] == 'input') { var icon = 'layui-icon-cols'; } else { var icon = ''; } mthead.push({title: data[i]['name'], icon: icon}); var option = {type: data[i]['type'], field: i, value: value, verify: type, reqtext: data[i]['name'] + '不能为空'}; if (option.type == 'select') { option.option = eval("(" + data[i]['option'] + ")"); } mtbody.push(option); if (option.type != 'image') { thead.push({title: data[i]['name'], icon: 'layui-icon-cols'}); tbody.push(option); } } var obj = skuTable.render({ //规格类型 1统一规格 2多规格 isAttributeValue: e.attr('data-type'), //规格类型容器id isAttributeElemId: 'sku_spec_type', //规格表容器id specTableElemId: 'sku_spec_table', //sku表容器id skuTableElemId: 'sku_table', //规格拖拽排序 sortable: true, //sku表相同属性值是否合并行 rowspan: true, //请求成功返回状态码值 requestSuccessCode: 1, //上传接口地址 //接口要求返回格式参考 upload.json uploadUrl: e.attr('data-upload'), //统一规格配置项 singleSkuTableConfig: { thead: thead, tbody: tbody }, //多规格配置项 multipleSkuTableConfig: { thead: mthead, tbody: mtbody }, //商品id 配合specDataUrl和skuDataUrl使用 productId: e.attr('data-id'), //规格数据, 一般从后台获取, specData: [], specDataUrl: e.attr('data-spec'), skuData : [], skuDataUrl: e.attr('data-sku'), show : parseInt(e.attr('data-show')), }); } var append_total = 10; function append(self, id) { var e = self.parent().parent().parent().find('.table_copy'); var html = e.html(); var parent = e.parent(); var total = parent.find('tr').length-1; append_total++; total += append_total; html = html.replaceAll('_-1_', '_' + total + '_'); html = html.replaceAll('dever_up_', 'update_'); var class_name = 'update_' + id; id = class_name + '_c_' + total; parent.append('' + html + ''); form.render(); /* $('#' + id + " select").each(function() { if ($(this).attr('xm-select')) { layui.formSelects.render($(this).attr('xm-select')); } }); */ image(); initDate(); } function init_xm(xm_id, xm_radio, xm_tips, xm_url, xm_data, xm_value, xm_on) { if (!xm_on) { xm_on = function(){}; } var xm_table = xm_id + '_table'; var xm = xmSelect.render({ el: "#" + xm_id, data: xm_data, tips:xm_tips, name:xm_id, initValue: xm_value, radio:xm_radio, clickClose: xm_radio, layVerify: "required", layVerType: "msg", autoRow: true, toolbar: { show: false }, model: xm_radio ? { label: { type: 'text' } } : {}, filterable: true, autoRow: true, height: 'auto', paging: xm_url ? true : false, pageRemote: xm_url ? true : false, remoteSearch: xm_url ? true : false, on: xm_on, //direction: 'down', remoteMethod: function(val, cb, show, pageIndex) { if (!pageIndex) { pageIndex = 1; } if(!val){ //return cb([]); } if (!xm_url) { return cb(xm_data); } var data = { id: xm_table, keyword: val, pg: pageIndex }; if (xm_url.indexOf('{') != -1) { var start = xm_url.split('{'); var end = start[1].split('}'); xm_url = start[0] + end[1]; if (end[0].indexOf(',')) { var param = end[0].split(','); } else { var param = []; param[0] = end[0]; } for (var i in param) { if (typeof(param[i]) == 'string') { var k = param[i]; if (param[i].indexOf('=') != -1) { var t = param[i].split('='); param[i] = t[0]; k = t[1]; } var e = $('#update_'+param[i]); if (e.length > 1) { e.each(function() { if ($(this).get(0).checked) { data[k] = $(this).val(); } }) } else { var v = e.val(); if (!v) { e = $('input[name="update_'+param[i]+'"]'); if (e.val()) { v = e.val(); } } data[k] = v; } if (!data[k]) { data[k] = -1; } } } } var success = function(response) { if (typeof response == "string") { response = JSON.parse(response); } if (response.status == 2) { cb([]); return; } if (!response.data.list) { if (response.page && response.page.total_page) { cb(response.data, response.page.total_page) } else { cb(response.data) } } else { if (response.page && response.page.total_page) { cb(response.data.list, response.page.total_page) } else { cb(response.data.list) } } /* if (response.data.table) { xm.update({ content: response.data.table, }); layui.table.init(xm_table, response.data.table_config).on('row('+xm_table+')', function(obj) { var values = xm.getValue(); var item = obj.data; var has = values.find(function(i){ return i.value === item.value }); var send = {}; send.arr = [ item ]; if (has) { xm.delete(send.arr); } else if (xm_radio) { xm.setValue(send.arr); xm.closed(); } else { xm.append(send.arr); } xm_on && xm_on(send) }) }*/ }; $.ajax({ dataType: "json", url: xm_url, data: data, timeout:0, success: success }); }, }); }