layui.use(["index", "api", "tpl"], function () {
var $ = layui.$,
table = layui.table,
element = layui.element,
form = layui.form,
laypage = layui.laypage,
admin = layui.admin;
var sourceTitle = "";
var selectSourceNode = { id: "", name: "" };
var targetNodeId = [];
var selectTargetNode = [];
var unSelectTargetNodeId = "";
var LIST_TABLE_ID = "listTable"; // table ElementId
var LIST_TABLE_DATA = [
{
name: "层MySQL密码格式检查",
content: "检查数据传输服务器是否能连通源数据库",
tips: "查数据传输服务器失败",
status: "1",
},
{
name: "层MySQL密码格式检查",
content: "检查数据传输服务器是否能连通源数据库",
tips: "查数据传输服务器失败",
status: "2",
},
{
name: "层MySQL密码格式检查",
content: "检查数据传输服务器是否能连通源数据库",
tips: "查数据传输服务器失败",
status: "1",
},
{
name: "层MySQL密码格式检查",
content: "检查数据传输服务器是否能连通源数据库",
tips: "查数据传输服务器失败",
status: "2",
},
{
name: "层MySQL密码格式检查",
content: "检查数据传输服务器是否能连通源数据库",
tips: "查数据传输服务器失败",
status: "1",
},
];
// table field 配置
var LIST_TABLE_COLS = [
{
field: "name",
title: "检查项",
align: "left",
},
{
field: "content",
title: "检查内容",
align: "left",
},
{
field: "tips",
title: "消息提醒",
align: "left",
},
{
field: "status",
title: "检查结果",
align: "left",
templet: function templet(d) {
if (d.status == "1") {
return "成功";
} else if (d.status == "2") {
return `
失败
`;
}
return "";
},
},
];
//step1
form.on("submit(lay-step1-submit)", function (data) {
console.log("step1:", data.field);
element.progress("progress", "50%");
$($(".step-ul").children()[1]).addClass("active");
sourceTitle = "sales_order"; //获取了源码名称
$(".source-title").html(sourceTitle);
getSourceNodeLIst();
$(".step-2")
.removeClass("display-none")
.siblings()
.addClass("display-none");
});
//step2
form.on("submit(lay-step2-pre-submit)", function (data) {
console.log("step1:", data.field);
element.progress("progress", "25%");
$($(".step-ul").children()[0]).addClass("active");
$($(".step-ul").children()[1]).removeClass("active");
$(".step-1")
.removeClass("display-none")
.siblings()
.addClass("display-none");
});
form.on("submit(lay-step2-next-submit)", function () {
element.progress("progress", "75%");
$($(".step-ul").children()[2]).addClass("active");
$(".step-3")
.removeClass("display-none")
.siblings()
.addClass("display-none");
});
$(".source-tree-list").on("click", ".tree-node", function (e) {
e.stopPropagation();
selectSourceNode.id = $(this).attr("data-id");
selectSourceNode.name = $(this).attr("data-name");
console.log("tree-node selectSourceNode:", selectSourceNode);
$(this).addClass("active").siblings().removeClass("active");
});
$(".opr-box .icon-next").on("click", function () {
if (selectSourceNode.name == "") {
layer.msg("请选择源对象");
return false;
}
if (targetNodeId.includes(selectSourceNode.id)) {
layer.msg("已选择");
return false;
}
changeTargetNode();
});
$(".opr-box .icon-pre").on("click", function () {
console.log("icon-pre");
if (unSelectTargetNodeId == "") {
layer.msg("请选择目标对象");
return false;
}
resetTargetNodes(unSelectTargetNodeId);
});
$(".target-tree-list").on("click", ".tree-node", function () {
console.log(".target-tree-list .tree-node", $(this).attr("data-id"));
$(this).addClass("active").siblings().removeClass("active");
unSelectTargetNodeId = $(this).attr("data-id");
});
function changeTargetNode() {
targetNodeId.push(selectSourceNode.id);
totalNodes();
selectTargetNode.push({
id: selectSourceNode.id,
name: selectSourceNode.name,
});
var ddHtml = `${selectSourceNode.name}编辑`;
$(".target-tree-list").append(ddHtml);
}
function totalNodes() {
$(".total-nodes").html(`(${targetNodeId.length}个对象)`);
}
function getSourceNodeLIst() {
targetNodeId = [];
var data = [
{ id: "1", name: "sales_orderpromotion1" },
{ id: "2", name: "sales_orderpromotion2" },
{ id: "3", name: "sales_orderpromotion3" },
];
var html = "";
data.forEach((element) => {
html += `${element.name}
`;
});
$(".source-tree-list").html(html);
}
function resetTargetNodes(selectId) {
var html = "";
var newSelectNode = [];
targetNodeId = [];
selectTargetNode.forEach((element) => {
if (element.id != selectId) {
html += `${element.name}编辑`;
targetNodeId.push(element.id);
newSelectNode.push({ id: element.id, name: element.name });
}
});
$(".target-tree-list").html(html);
selectTargetNode = newSelectNode;
totalNodes();
unSelectTargetNodeId = "";
}
$(".target-tree-list").on("click", ".edit", function (e) {
e.stopPropagation();
editDialog({ id: $(this).parent().attr('data-id'), name: $(this).parent().attr('data-name') });
});
function editDialog({ id, name }) {
console.log('editDialog:id,name:', id, name);
var templet = $("#formDialogTemplate").html();
layui.laytpl(templet).render({}, function (html) {
layer.open({
type: 1,
title: "编辑表",
content: templet,
area: ["620px", "640px"],
success: function success() {
table.render({
elem: "#editTable",
data: [
{ id: 1, col: "acount_money", type: "decimal(11,2)" },
{ id: 1, col: "acount_money", type: "decimal(11,2)" },
],
defaultToolbar: [],
toolbar: "#toolbarDemo",
title: "用户数据表",
cols: [
[
{ type: "checkbox", width: 20 },
{ field: "id", title: "ID", hide: true },
{ field: "col", title: "列名", width: 250, edit: "text" },
{ field: "type", title: "类型", width: 250, edit: "text" },
],
],
page: false,
});
},
});
});
}
table.on("toolbar(editTable)", function (obj) {
var checkStatus = table.checkStatus(obj.config.id);
if (obj.event == "getCheckData") {
var data = checkStatus.data;
if (data.length == 0) {
layer.msg('请选择列');
return false;
}
// admin.req({
// url: url,
// data: params,
// success: function (res) {
// layer.msg('成功');
// },
// });
layer.close(layer.index);
}
});
//step3
form.on("submit(lay-step3-pre-submit)", function () {
element.progress("progress", "50%");
$($(".step-ul").children()[1]).addClass("active");
$($(".step-ul").children()[2]).removeClass("active");
$(".step-2")
.removeClass("display-none")
.siblings()
.addClass("display-none");
});
form.on("submit(lay-step3-next-submit)", function () {
element.progress("progress", "100%");
$($(".step-ul").children()[3]).addClass("active");
$(".active-after").addClass("display-none");
$(".step-4")
.removeClass("display-none")
.siblings()
.addClass("display-none");
getTableData();
});
//step4
function getTableData() {
var where = {};
var tableRenderOptions = {
height: 600,
id: LIST_TABLE_ID,
elem: "#" + LIST_TABLE_ID,
data: LIST_TABLE_DATA,
// url: LIST_TABLE_URL,
even: "false",
defaultToolbar: [],
page: false,
cols: [LIST_TABLE_COLS],
where: where,
parseData: function (res) {
return {
code: 0,
msg: "",
//count: res.totalSize,
data: res,
};
},
/* done: function (res, curr, count) {
loadPage(curr, count);
},*/
};
table.render(tableRenderOptions);
}
});