var form, laytpl;
var goodsLink = ['ALL_GOODS', 'PINTUAN_GOODS', 'PINFAN_GOODS', 'GROUPBUY_GOODS', 'DISTRIBUTION_GOODS', 'BARGAIN_GOODS', 'PRESALE_GOODS'];
layui.use(['form', 'laytpl'], function () {
form = layui.form;
laytpl = layui.laytpl;
setTimeout(function () {
if (selectLink.name) {
// 编辑赋值
$('.link-box .link-left dd.text-color').click();
} else if (selectLink.parent && goodsLink.indexOf(selectLink.parent) !== -1) {
// 如果选择了商品
$('.link-box .link-left dd[data-name="' + selectLink.parent + '"]').click();
} else {
// 默认选中第一个
$('.link-box .link-left dd:eq(0)').click();
}
}, 100);
});
/**
* 查询子级链接
* @param name
*/
function getLinkInfo(name) {
try {
$('.link-box .link-right.js-system dl').hide();
var linkList = $('.link-box .link-right.js-system dl[data-parent="' + name + '"]');
linkList.show();
if (linkList.length === 0) childLinkCallback(name); // 触发选择子级链接回调
} catch (e) {
console.log('childLinkCallback error', e);
}
}
// 展开收缩自定义链接
$(".link-box .link-left dt").click(function () {
if ($(this).hasClass("active")) {
$(this).removeClass("active");
$(this).parent("dl").find("dd").removeClass("layui-hide");
} else {
$(this).addClass("active");
$(this).parent("dl").find("dd").addClass("layui-hide");
}
if ($(this).parent("dl").find("dd").length === 0) {
$(".link-box .link-left dd,.link-box .link-left dt").removeClass("text-color");
$(this).addClass("text-color");
}
});
// 选择左侧父级链接
$('.link-box .link-left dd').click(function () {
$('.link-box .link-left dd').removeClass("text-color");
$(this).addClass("text-color");
var name = $(this).attr('data-name');
switch (name) {
case 'CUSTOM_LINK':
// 自定义链接,支持外链
var data = JSON.parse(JSON.stringify(selectLink));
if(data.parent !=='CUSTOM_LINK') {
data.title = '';
data.wap_url = '';
}
laytpl($('#customHtml').html()).render(data, function (html) {
$(".link-right.js-system").hide();
$(".link-right.js-extend").html(html).show();
});
break;
case 'OTHER_APPLET':
// 跳转小程序
laytpl($('#appletHtml').html()).render(selectLink, function (html) {
$(".link-right.js-system").hide();
$(".link-right.js-extend").html(html).show();
});
break;
case 'MOBILE':
// 拨打手机号
laytpl($('#mobileHtml').html()).render(selectLink, function (html) {
$(".link-right.js-system").hide();
$(".link-right.js-extend").html(html).show();
});
break;
default:
$(".link-right.js-extend").hide();
$(".link-right.js-system").show();
getLinkInfo(name);
break;
}
});
$("body").on("click", ".link-box .link-right dd", function () {
$(".link-box .link-right dd").removeClass("border-color text-color");
$(this).addClass("border-color text-color");
});
//清空
$(".link-btn .link-eliminate").click(function () {
window.linkData = {};
layer.close(window.linkIndex);
});
// 取消
$(".link-btn .link-cancel").click(function () {
layer.close(window.linkIndex);
});
// 保存
$(".link-box .link-save").click(function () {
var value = {};
var dd = $(".link-box .link-right dd.border-color"); // 子级链接
var parentLink = $('.link-box .link-left dd.text-color'); // 父级链接
// 标准链接
if (dd.length) {
value = {
name: dd.attr('data-name'),
title: dd.text(),
wap_url: dd.attr('data-wap-url')
};
}
// 自定义链接
if (parentLink.attr('data-name') === 'CUSTOM_LINK') {
var title = $(".custom-link input[name='title']").val();
var wap_url = $(".custom-link input[name='wap_url']").val();
if (!title) {
layer.msg("链接名称不能为空");
return;
}
if (!wap_url) {
layer.msg("跳转路径不能为空");
return;
}
value = {
name: parentLink.attr('data-name'),
title: title,
wap_url: wap_url
};
}
// 跳转小程序
if (parentLink.attr('data-name') === 'OTHER_APPLET') {
var appid = $(".other-applet input[name='appid']").val();
var page = $(".other-applet input[name='page']").val();
if (!appid) {
layer.msg("跳转小程序的appid不能为空");
return;
}
if (!page) {
layer.msg("小程序路径不能为空");
return;
}
value = {
name: parentLink.attr('data-name'),
title: '小程序-' + appid,
appid: appid,
page: page
};
}
if (parentLink.attr('data-name') === 'MOBILE') {
var mobile = $(".call-mobile input[name='mobile']").val();
if (!mobile) {
layer.msg("电话号码不能为空");
return;
}
value = {
name: parentLink.attr('data-name'),
title: '拨打电话:' + mobile,
mobile: mobile
};
}
try {
value = beforeSaveCallback(value); // 保存前处理数据的回调
} catch (e) {
console.log('saveCallback error', e);
}
if (Object.keys(value).length) {
value.parent = parentLink.attr('data-name');
window.linkData = value;
}
layer.close(window.linkIndex);
});
/**
* 触发选择子级链接回调
* @param name
*/
function childLinkCallback(name) {
if (name === 'GOODS_CATEGORY') {
// 商品分类
var html = `
`;
$(".link-right.js-extend").html(html).show();
$(".link-right.js-system").hide();
getGoodsCategory();
} else if (goodsLink.indexOf(name) !== -1) {
var html = "
";
html += ``;
html += ``;
html += "
";
html += `
`;
$(".link-right.js-extend").html(html).show();
$(".link-right.js-system").hide();
getGoodsList(name);
} else if (['CARDS_GAME', 'TURNTABLE_GAME', 'EGG_GAME'].indexOf(name) !== -1) {
var html = `
`;
$(".link-right.js-extend").html(html).show();
$(".link-right.js-system").hide();
getGameList(name);
} else if (['DIY_FORM'].indexOf(name) !== -1) {
var html = `