<title>代码生成器</title>
|
|
<!--当前位置结束-->
|
<div class="layui-card layadmin-header">
|
<div class="layui-breadcrumb" lay-filter="breadcrumb">
|
<script
|
type="text/html"
|
template
|
lay-done="layui.data.updateMainBreadcrumb();"
|
></script>
|
</div>
|
</div>
|
<!--当前位置结束-->
|
<div class="layui-fluid">
|
<div class="layui-row layui-col-space15">
|
<div class="layui-col-md12">
|
<div class="layui-card">
|
<div class="layui-card-header">请选择数据库表后进行对应项目生成</div>
|
<div class="layui-card-body">
|
<div
|
class="layui-form"
|
lay-filter="layuiadmin-app-form-list"
|
id="layuiadmin-app-form-list"
|
style="margin: 0 auto; max-width: 460px; padding-top: 40px"
|
>
|
<div class="layui-form-item">
|
<label class="layui-form-label">数据表选择:</label>
|
<div class="layui-input-block">
|
<div id="selectBox" class="xm-select-demo"></div>
|
</div>
|
</div>
|
|
<div class="layui-form-item">
|
<label class="layui-form-label">生成类型</label>
|
<div class="layui-input-block">
|
<select name="fileType" id="fileType">
|
<option value="AllFiles">全部</option>
|
<option value="EntityFiles">实体</option>
|
<option value="ViewFiles">视图</option>
|
<option value="InterFaceFiles">DAL层</option>
|
<option value="ServicesFiles">BLL层</option>
|
</select>
|
</div>
|
</div>
|
|
<div class="layui-form-item">
|
<div class="layui-input-block">
|
<button
|
type="button"
|
class="layui-btn"
|
lay-submit
|
lay-filter="LAY-app-codeGenerator-form-submit"
|
id="LAY-app-codeGenerator-form-submit"
|
>
|
立即生成
|
</button>
|
<button
|
type="button"
|
class="layui-btn"
|
lay-submit
|
lay-filter="LAY-app-codeGenerator-GetDataBaseTablesToExcel-submit"
|
id="LAY-app-codeGenerator-GetDataBaseTablesToExcel-submit"
|
>
|
生成表名及说明
|
</button>
|
</div>
|
</div>
|
</div>
|
<hr />
|
<div
|
style="
|
color: #666;
|
margin-bottom: 40px;
|
margin-top: 30px;
|
padding-left: 30px;
|
"
|
>
|
<h3>说明:</h3>
|
<br />
|
<h4>请注意选择表名</h4>
|
<p>如果需要,这里可以放一些关于产品的常见问题说明。</p>
|
</div>
|
</div>
|
</div>
|
</div>
|
|
<div class="layui-col-md12">
|
<button
|
type="button"
|
class="layui-btn layui-btn-normal layui-btn-lg"
|
id="myButton"
|
>
|
更新数据库
|
</button>
|
</div>
|
</div>
|
</div>
|
<script src="/lib/jquery/jquery-2.1.4.min.js"></script>
|
<script src="/lib/jquery/jquery.fileDownload.js"></script>
|
<script>
|
layui.use(["admin", "form", "layer", "xmSelect", "coreHelper"], function () {
|
var $ = layui.$,
|
setter = layui.setter,
|
admin = layui.admin,
|
form = layui.form,
|
layer = layui.layer,
|
coreHelper = layui.coreHelper,
|
router = layui.router(),
|
xmSelect = layui.xmSelect,
|
search = router.search;
|
|
var selectBox = xmSelect.render({
|
el: "#selectBox",
|
tips: "请选择数据库表?",
|
height: "600px",
|
radio: true,
|
filterable: true,
|
clickClose: true,
|
toolbar: { show: false },
|
name: "tableName",
|
prop: {
|
name: "label",
|
value: "name",
|
},
|
data: [],
|
});
|
coreHelper.Post("api/CodeGenerator/GetTables", null, function (res) {
|
//console.log(res);
|
if (res.code === 0) {
|
selectBox.update({
|
data: res.data,
|
autoRow: true,
|
});
|
}
|
});
|
|
//重载form
|
form.render();
|
//监听提交
|
form.on("submit(LAY-app-codeGenerator-form-submit)", function (data) {
|
var field = data.field; //获取提交的字段
|
var headers = {};
|
headers[setter.request.tokenName] = layui.data(setter.tableName)[
|
setter.request.tokenName
|
];
|
var loadingIndex = false;
|
$.fileDownload(
|
setter.apiUrl +
|
"api/CodeGenerator/CodeGenDown?tableName=" +
|
field.tableName +
|
"&fileType=" +
|
field.fileType,
|
{
|
httpMethod: "POST",
|
dataType: "json",
|
contentType: "application/json",
|
//data: { tableName: field.tableName },
|
headers: headers,
|
//preparingMessageHtml: "代码正在生成中,请稍后...",
|
prepareCallback: function () {
|
loadingIndex = layer.msg("代码正在生成中,请稍后...", {
|
icon: 16,
|
shade: 0.01,
|
});
|
},
|
failCallback: function () {
|
layer.close(loadingIndex);
|
layer.msg("生成出错,请联系技术!", { icon: 5, time: 1500 });
|
},
|
//failMessageHtml: "生成出错,请联系技术!",
|
successCallback: function () {
|
layer.close(loadingIndex);
|
layer.msg("代码生成成功", { icon: 1 });
|
},
|
}
|
);
|
});
|
//监听提交
|
form.on(
|
"submit(LAY-app-codeGenerator-GetDataBaseTablesToExcel-submit)",
|
function (data) {
|
layer.confirm("确定导出数据吗?", function (index) {
|
coreHelper.PostForm(
|
"api/CodeGenerator/GetDataBaseTablesToExcel",
|
null,
|
function (e) {
|
console.log(e); //开启调试返回数据
|
if (e.code === 0) {
|
window.open(e.data);
|
} else {
|
layer.msg(e.msg);
|
}
|
}
|
);
|
});
|
}
|
);
|
|
// 绑定按钮点击事件
|
$("#myButton").on("click", function () {
|
coreHelper.Post(
|
"api/CodeGenerator/CreateAndUpdateDatabase",
|
null,
|
function (res) {
|
//console.log(res);
|
if (res.code === 0) {
|
layer.msg(res.msg);
|
layer.msg(res.msg, {
|
time: 0, // 3秒后自动关闭
|
shade: 0.5, // 遮罩透明度
|
shadeClose: true, // 点击遮罩关闭层
|
anim: 6, // 弹出动画
|
icon: 6, // 图标,0-6可以选择
|
btn: ["确认"], //按钮
|
yes: function (index, layero) {
|
// 按钮【确认】的回调函数
|
layer.close(index); // 如果设定了yes回调,需进行手工关闭
|
},
|
btnAlign: "c", // 按钮居中
|
color: "#00F", // 字体颜色
|
});
|
} else {
|
layer.msg(res.msg, {
|
time: 0, // 3秒后自动关闭
|
shade: 0.5, // 遮罩透明度
|
shadeClose: true, // 点击遮罩关闭层
|
anim: 6, // 弹出动画
|
icon: 2, // 图标,0-6可以选择
|
btn: ["确认"], //按钮
|
yes: function (index, layero) {
|
// 按钮【确认】的回调函数
|
layer.close(index); // 如果设定了yes回调,需进行手工关闭
|
},
|
btnAlign: "c", // 按钮居中
|
color: "f00000", // 字体颜色
|
});
|
}
|
}
|
);
|
layer.msg("按钮被点击了!");
|
});
|
});
|
</script>
|