var blank_img = 'data:image/bmp;base64,Qk1CAAAAAAAAAD4AAAAoAAAAAQAAAAEAAAABAAEAAAAAAAQAAADEDgAAxA4AAAAAAAAAAAAAAAAAAP///wCAAAAA'; var bak_link_id = 0; var page_sid = ''; var link_id = ''; var load_index; var module = _GET('source') === 'tpl' ? ['form', 'upload'] : ['form', 'upload', 'miniTab']; layui.use(module, function () { var $ = layui.jquery; var form = layui.form; var upload = layui.upload; var edit_mode = _GET('page') == 'link_edit'; //是否编辑模式 //独立页面 if(top.location == self.location){ $(".layuimini-container").addClass("layui-col-lg6 layui-col-md-offset3"); } //初始变量 if(edit_mode){ link_id = form_data.lid; }else{ page_sid = randomString(8); } //添加链接 form.on('submit(add_link)', function(data){ data.field.file = page_sid; //传递sid,用于上传图标时保存图标 $.post(get_api('write_link','add'),data.field,function(data,status){ if(data.code == 1) { //将服务端返回的图标填入页面 if(data.path != '' ){$("#iconurl").val(data.path);} //如果勾选连续添加 if($("#continuity").is(":checked")){ form.val('form',{'url':'','title':'','description':'','icon':'','keywords':''}); $('form input[name^="_"]').val(''); //扩展字段清空 $('#icon_img').attr('src', blank_img);//清除缩略图 layer.msg('添加成功', {icon: 1}); $("#url").focus();//URL获取输入焦点 if(_GET('source')=='link_list'){ parent.layui.table.reload('table');//刷新父页面的表格 } return false; } layer.msg('添加成功!', {icon: 1,time: 700, end: function() { if(_GET('source') == 'tpl'){ //第三方调用时刷新父页面 parent.location.reload(); }else if(_GET('source')=='link_list'){ // 链接列表调用 parent.layui.table.reload('table');//刷新父页面的表格 $('#close').click();//关闭子页面 }else{ if($("#continuity").is(":checked")){ location.reload(); }else{ $('#close').click(); } } } }); }else{ layer.msg(data.msg, {icon: 5}); } }); return false; }); //上传图标 upload.render({ elem: '#up_icon' ,url: get_api('write_link','upload_images') ,exts: 'jpg|jpeg|png|ico|bmp|svg' ,acceptMime: 'image/*' ,accept: 'file' ,size: 1024 ,data: {"page_sid":page_sid,"link_id":link_id} ,choose: function(obj){ //选择文件回调 load_index = layer.load(1); obj.preview(function(index, file, result){ $("#ico_preview").show(); //显示预览图 $('#icon_img').attr('src', result); //加载预览图 }); } ,done: function(res){ layer.close(load_index); if(res.code == 1){ form_data.icon = res.icon; $("#icon").val(res.icon); }else{ layer.msg(res.msg || '上传失败', {icon: 5}); } },error: function(){ layer.msg("上传异常,请刷新重试", {icon: 5}); } }); //编辑链接(保存更新) form.on('submit(edit_link)', function(data){ $.post(get_api('write_link','edit'),data.field,function(data,status){ if(data.code == 1) { if(data.icon != '' ){ $("#icon").val(data.icon); preview_icon(data.icon); }else{ $('#icon_img').attr('src', blank_img); //清除预览图 $("#ico_preview").hide(); } if(top.location == self.location){ layer.msg('已更新!', {icon: 1}); }else{ if(_GET('source') == 'tpl'){ //第三方调用时刷新父页面 layer.msg('添加成功!', {icon: 1,time: 700, end: function() { parent.location.reload(); $('#close').click();//关闭子页面 } }); }else{ parent.layui.table.reload('table');//刷新父页面的表格 parent.layui.layer.msg('已更新!', {icon: 1}); $('#close').click();//关闭子页面 } } }else{ layer.msg(data.msg, {icon: 5}); } }); return false; }); //权限不足提示 $(document).on('click', '#no_purview', function() { layer.msg("您的用户组无权限上传图标", {icon: 2}); }); //关闭按钮 $(document).on('click', '#close', function() { //独立页面时关闭页面,而非标签 if(top.location == self.location){ window.close(); //关闭当前页面 }else{ parent.layer.close(parent.layer.getFrameIndex(window.name));//关闭当前页(内嵌窗口) if(_GET('source') != 'tpl'){ layui.miniTab.deleteCurrentByIframe(); //关闭当前标签(标签窗口) } } }); //添加备用链接 $(document).on('click', '#add_standby_url', function() { if(bak_link_id >= 10){ layer.msg("最多能支持10条备用链接!", {icon: 2}); return false; } bak_link_id++; html = '
'; $("#backup_link").append(html); }); //删除备用链接 $(document).on('click', '#del_standby_url', function() { if($(this).parents('.layui-form-item').remove()){ bak_link_id--; }else{ layer.msg("删除失败", {icon: 3}); } }); //删除图标 $(document).on('click', '#del_icon', function() { $.post(get_api('write_link','del_images'),{"page_sid":page_sid,"link_id":link_id},function(data,status){ if(data.code == 1) { form_data.icon = ''; $("#icon").val(''); //清除图标URL $('#icon_img').attr('src', blank_img); //清除预览图 $("#ico_preview").hide(); }else{ layer.msg(data.msg, {icon: 5}); } }); }); if(edit_mode){ //重置按钮点击事件 $(document).on('click', '#reset', function() { form.val('form',form_data); //重置表单 form.val('form',{"property":form_data.property == 1}); //重新渲染备用链接 $("#backup_link").empty(); bak_link_id = 0; for (let i=0; i