var versionControl = {
|
platfrom: '',
|
version: '',
|
androidPlatformArray: [],
|
iosPlatformArray: [],
|
getPlatform: function() {
|
var platform = $("#vc-platform").val();
|
if (platform != null && platform != '' && platform != undefined)
|
return platform;
|
else
|
return null;
|
},
|
getVersion: function() {
|
var version = $("#vc-version").val();
|
if (version != null && version != '' && version != undefined)
|
return version;
|
else
|
return null;
|
},
|
init: function(navContainer) {
|
//加入弹出层
|
var html = "";
|
html+=" <div id=\"versionDialog\" style=\"display: none;\">";
|
html+=" <form class=\"layui-form\" lay-filter='vc-form'>";
|
html+=" <div style=\"width: 100%;height: auto;padding:0.1rem;\" class=\"layui-tab\">";
|
html+=" <div>Android</div>";
|
html+=" <div class=\"layui-show content-android layui-form-item\">";
|
html+=" </div>";
|
html+=" <div>----------------------------------------------</div>";
|
html+=" <div>IOS</div>";
|
html+=" <div class=\"content-ios layui-form-item\"></div>";
|
html+=" <div>----------------------------------------------</div>";
|
html+=" <div>小程序</div>";
|
html+=" <div class=\"content-wxmp layui-form-item\"></div>";
|
|
html+=" <div id=\"control\" style=\"position: absolute;bottom: 0.1rem;right: 0.1rem;\">";
|
html+=" <div class=\"layui-btn layui-btn-primary cancel\">取消</div>";
|
html+=" <button class=\"layui-btn sure\" lay-submit lay-filter=\"sure\">确定</button>";
|
html+=" </div>";
|
html+=" </div>";
|
html+=" </form>";
|
html+="</div>";
|
$("body").append(html);
|
|
|
// 平台版本获取
|
doui.request({
|
type: "jsonp",
|
url: gethttp() + "/admin/new/api/v1/config/getVersionList",
|
async: false,
|
success: function(res) {
|
if (res.code != 0) {
|
doui.showToast(res.msg);
|
} else {
|
// 循环所有跳转方式
|
for (var i = 1, mo = res.data.android; i < mo.length; i++) {
|
var jiedian = {
|
id: mo[i].id,
|
key: mo[i].versionCode,
|
value: mo[i].version
|
};
|
versionControl.androidPlatformArray.push(jiedian);
|
}
|
|
for (var i = 1, mo = res.data.ios; i < mo.length; i++) {
|
var jiedian = {
|
id: mo[i].id,
|
key: mo[i].versionCode,
|
value: mo[i].version
|
};
|
versionControl.iosPlatformArray.push(jiedian);
|
}
|
|
setTimeout(function() {
|
versionControl.initChoice(navContainer, versionControl.androidPlatformArray, versionControl.iosPlatformArray);
|
}, 500);
|
}
|
}
|
});
|
},
|
initChoice: function(navContainer, androidPlatformArray, iosPlatformArray) {
|
var html = "";
|
html += "<div>平台:</div>";
|
html += "<select id='vc-platform'>";
|
html += "<option value=''>全部</option>";
|
html += "<option value='android'>安卓</option>";
|
html += "<option value='ios'>IOS</option>";
|
html += "</select>"
|
|
html += "<div style='margin-left:5px;'>版本:</div>";
|
html += "<select id='vc-version'>";
|
html += "<option value=''>全部</option>";
|
html += "</select>"
|
|
navContainer.append(html);
|
$("#vc-platform").bind("change", function() {
|
var platform = $(this).val();
|
var versionsHtml = "<option value=''>全部</option>";
|
if (platform == 'android') {
|
for (var i = 0; i < androidPlatformArray.length; i++) {
|
versionsHtml += "<option value=" + androidPlatformArray[i].id + ">";
|
versionsHtml += androidPlatformArray[i].value;
|
versionsHtml += "</option>";
|
}
|
} else if (platform == 'ios') {
|
for (var i = 0; i < iosPlatformArray.length; i++) {
|
versionsHtml += "<option value=" + iosPlatformArray[i].id + ">";
|
versionsHtml += iosPlatformArray[i].value;
|
versionsHtml += "</option>";
|
}
|
} else if (platform == '') {
|
|
}
|
$("#vc-version").empty();
|
$("#vc-version").append(versionsHtml);
|
});
|
},
|
setVersions: function(sourceId, versionIds, callback) {
|
var form = null;
|
let sets = new Set();
|
if (versionIds.length > 0) {
|
for (var i = 0; i < versionIds.length; i++)
|
sets.add(versionIds[i]);
|
}
|
|
//初始化值
|
$(".content-android").empty();
|
//增加全选按钮
|
$(".content-android").append(
|
"<div style='display:block;'> <input type='checkbox' name='android' title='全选' id='vc-android-check-all' lay-filter='vc-android-check-all'> </div>"
|
);
|
|
for (var i = 0; i < versionControl.androidPlatformArray.length; i++) {
|
var inputHtml = "<input type='checkbox' name=" + versionControl.androidPlatformArray[i].id;
|
if (sets.has(versionControl.androidPlatformArray[i].id))
|
inputHtml += " checked ";
|
|
inputHtml += " lay-skin='primary' title='" + versionControl.androidPlatformArray[i].value + "' >";
|
$(".content-android").append(inputHtml);
|
}
|
|
|
$(".content-ios").empty();
|
//增加全选按钮
|
$(".content-ios").append(
|
"<div style='display:block;'> <input type='checkbox' name='ios' title='全选' id='vc-ios-check-all' lay-filter='vc-ios-check-all'> </div>"
|
);
|
|
for (var i = 0; i < versionControl.iosPlatformArray.length; i++) {
|
var inputHtml = "<input type='checkbox' name=" + versionControl.iosPlatformArray[i].id;
|
if (sets.has(versionControl.iosPlatformArray[i].id))
|
inputHtml += " checked ";
|
inputHtml += " lay-skin='primary' title='" + versionControl.iosPlatformArray[i].value + "' >";
|
$(".content-ios").append(inputHtml);
|
}
|
|
|
|
var dialog = layer.open({
|
type: 1,
|
title: '版本选择',
|
shadeClose: true,
|
shade: 0.8,
|
area: ['500px', '600px'],
|
content: $("#versionDialog").html(), //iframe的url
|
});
|
|
layui.use('form', function() {
|
form = layui.form;
|
});
|
//监听提交
|
form.on('submit(sure)', function(data) {
|
|
var versionArray = new Array();
|
try {
|
for (var key in data.field) {
|
versionArray.push(key);
|
}
|
} catch (e) {
|
|
}
|
|
try {
|
callback(versionArray);
|
} catch (e) {
|
layer.msg("版本设置出错");
|
}
|
layer.close(dialog);
|
return false;
|
});
|
|
form.on('checkbox(vc-android-check-all)', function(data) {
|
var values = {};
|
for (var i = 0; i < $(".content-android input").length; i++) {
|
if (!isNaN($(".content-android input").eq(i).attr("name")))
|
values[$(".content-android input").eq(i).attr("name")] = (data.elem.checked ? true : false);
|
}
|
form.val('vc-form', values);
|
});
|
|
form.on('checkbox(vc-ios-check-all)', function(data) {
|
var values = {};
|
for (var i = 0; i < $(".content-ios input").length; i++) {
|
if (!isNaN($(".content-ios input").eq(i).attr("name")))
|
values[$(".content-ios input").eq(i).attr("name")] = (data.elem.checked ? true : false);
|
}
|
form.val('vc-form', values);
|
});
|
|
|
setTimeout(function() {
|
form.render();
|
}, 100);
|
|
|
setTimeout(function() {
|
$("#control .cancel").bind("click", function() {
|
layer.close(dialog);
|
});
|
}, 100);
|
|
}
|
|
};
|