Files
2023-03-03 16:07:50 +08:00

362 lines
18 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@{
ViewBag.Title = "Form";
Layout = "~/Views/Shared/_Form.cshtml";
}
<link href="~/css/stepcss.css" rel="stylesheet" />
<script>
layui.use(['form', 'step', 'upload', 'laydate', 'common', 'dtree', 'optimizeSelectOption'], function () {
var $ = layui.$,
form = layui.form,
dtree = layui.dtree,
common = layui.common,
upload = layui.upload,
laydate = layui.laydate,
step = layui.step;
var keyValue = $.request("keyValue");
//权限字段
common.authorizeFields('stepForm');
//类型为时间时
laydate.render({
elem: '#F_EndTime'
, btns: ['clear', 'now']
, trigger: 'click',
format: 'yyyy-MM-dd',
});
//普通图片上传
var uploadInst = upload.render({
elem: '#test1'
, url: '/FileManage/Uploadfile/Upload' //改成您自己的上传接口
, size: 1024
, accept: 'file'
, data: { filetype: 1, fileby: '公司logo' }
, auto: false//不自动提交
, bindAction: "#hideupload1"//绑定真正提交的按钮
, choose: function (obj) {
//预读本地文件示例不支持ie8
obj.preview(function (index, file, result) {
$('#demo1').attr('src', result); //图片链接base64
});
isUpload = true;//判断是否已上传,用于表单提交中控制跳转
}
, done: function (res) {
//如果上传失败
if (res.code > 0) {
//失败状态,并实现重传
var demoText = $('#demoText');
demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
demoText.find('.demo-reload').on('click', function () {
uploadInst.upload();
});
common.modalMsg(res.msg, "warning");
return false;
}
postData.F_Logo = res.data[0].src;
//上传成功
common.submitForm({
url: "/SystemOrganize/SystemSet/SubmitForm?keyValue=" + keyValue,
param: postData,
success: function () {
common.parentreload('data-search-btn');
}
})
}
, error: function () {
//演示失败状态,并实现重传
var demoText = $('#demoText');
demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
demoText.find('.demo-reload').on('click', function () {
uploadInst.upload();
});
}
});
step.render({
elem: '#stepForm',
filter: 'stepForm',
width: '90%', //设置容器宽度
stepWidth: '300px',
height: '500px',
stepItems: [{
title: '填写租户信息'
}, {
title: '设置功能权限'
}, {
title: '设置字段权限'
}]
});
$(function () {
$("#F_DBProvider").bindSelect({
url: "/SystemOrganize/SystemSet/GetDbTypeJson",
id:""
});
if (!!keyValue) {
common.ajax({
url: "/SystemOrganize/SystemSet/GetFormJson",
dataType: "json",
data: { keyValue: keyValue },
async: false,
success: function (data) {
common.val('stepForm', data);
$('#F_EndTime').val(new Date(data.F_EndTime).Format("yyyy-MM-dd"));
$('#demo1').attr('src', data.F_Logo); //图片链接
}
});
}
form.render();
});
wcLoading.close();
//select验证
form.verify({
required: function (value, item) {
var msg = "必填项不能为空";
value = $.trim(value);
var isEmpty = !value || value.length < 1;
// 当前验证元素是select且为空时,将页面定位至layui渲染的select处或自定义想定位的位置
if (item.tagName == 'SELECT' && isEmpty) {
$("html").animate({
scrollTop: $(item).siblings(".layui-form-select").offset().top - 74
}, 50);
}
if (isEmpty) {
return msg;
}
}
});
// 初始化树
var DemoTree1 = dtree.render({
elem: "#demoTree1",
width: '200px',
method: "GET",
async: false,
checkbar: true,
line: true, // 显示树线
initLevel: 0,
icon: "-1", // 隐藏二级图标
checkbarType: "p-casc",
scroll: "#toolbarDiv1", // 绑定div元素
url: "/SystemOrganize/RoleAuthorize/GetPermissionTree?v=" + new Date().Format("yyyy-MM-dd hh:mm:ss"), // 使用url加载可与data加载同时存在
request: { roleId: keyValue }
});
var isUpload = false;
var role;
form.on('submit(formStep)', function (data) {
role = data.field;
if (!role["F_EnabledMark"]) role["F_EnabledMark"] = false;
step.next('#stepForm');
return false;
});
var moduleids = [];
form.on('submit(formStep2)', function (data) {
moduleids = [];
var params = dtree.getCheckbarNodesParam("demoTree1");
for (var i = 0; i < params.length; i++) {
moduleids.push(params[i].nodeId);
}
// 初始化树
var DemoTree2 = dtree.render({
elem: "#demoTree2",
width: '200px',
method: "POST",
async: false,
checkbar: true,
line: true, // 显示树线
initLevel: 0,
icon: "-1", // 隐藏二级图标
checkbarType: "p-casc",
scroll: "#toolbarDiv2", // 绑定div元素
url: "/SystemOrganize/RoleAuthorize/GetPermissionFieldsTree?v=" + new Date().Format("yyyy-MM-dd hh:mm:ss"), // 使用url加载可与data加载同时存在
request: { roleId: keyValue, moduleids: String(moduleids) }
});
step.next('#stepForm');
return false;
});
var postData
form.on('submit(formStep3)', function (data) {
postData = role;
var params = dtree.getCheckbarNodesParam("demoTree2");
var note = [];
for (var i = 0; i < params.length; i++) {
note.push(params[i].nodeId);
}
postData["permissionbuttonIds"] = String(moduleids);
postData["permissionfieldsIds"] = String(note);
if (isUpload) {
$("#hideupload1").trigger('click');
}
else {
common.submitForm({
url: "/SystemOrganize/SystemSet/SubmitForm?keyValue=" + keyValue,
param: postData,
success: function () {
common.parentreload('data-search-btn');
}
})
}
return false;
});
$('.pre').click(function () {
step.pre('#stepForm');
});
})
</script>
<div class="layuimini-container">
<div class="layuimini-main">
<div class="layui-carousel" id="stepForm" lay-filter="stepForm">
<div carousel-item>
<div>
<form class="layui-form layuimini-form">
<div class="layui-form-item">
<div class="layui-col-md6 layui-col-sm6 layui-hide">
<label class="layui-form-label required">项目名称</label>
<div class="layui-input-block">
<input type="text" id="F_ProjectName" name="F_ProjectName" maxlength="50" autocomplete="off" lay-verify="required" class="layui-input">
</div>
</div>
<div class="layui-col-md6 layui-col-sm6 layui-hide">
<label class="layui-form-label required">公司名称</label>
<div class="layui-input-block">
<input type="text" id="F_CompanyName" name="F_CompanyName" maxlength="50" autocomplete="off" lay-verify="required" class="layui-input">
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-col-md6 layui-col-sm6 layui-hide">
<label class="layui-form-label required">联系人</label>
<div class="layui-input-block">
<input type="text" id="F_PrincipalMan" name="F_PrincipalMan" maxlength="50" autocomplete="off" lay-verify="required" class="layui-input">
</div>
</div>
<div class="layui-col-md6 layui-col-sm6 layui-hide">
<label class="layui-form-label required">联系方式</label>
<div class="layui-input-block">
<input type="text" id="F_MobilePhone" name="F_MobilePhone" autocomplete="off" lay-verify="required|phone" class="layui-input">
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-col-md6 layui-col-sm6 layui-hide">
<label class="layui-form-label required" style="margin-top: 50px;">Logo图标</label>
<div class="layui-input-block" style="padding-right: 0px;">
<input class="layui-hide" hidden type="text" id="F_Logo" name="F_Logo">
<div class="layui-upload-list">
<img class="layui-upload-img" id="demo1">
<p id="demoText"></p>
</div>
</div>
<button type="button" class="layui-btn" id="test1" style="position: absolute;top: 0;right: 6px;cursor: pointer;margin-top: 50px;">选择</button>
<button type="button" class="layui-hide" id="hideupload1">上传</button>
</div>
<div class="layui-col-md6 layui-col-sm6 layui-hide">
<label class="layui-form-label required">Logo编号</label>
<div class="layui-input-block">
<input type="text" id="F_LogoCode" name="F_LogoCode" maxlength="50" autocomplete="off" lay-verify="required" class="layui-input">
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-col-md6 layui-col-sm6 layui-hide">
<label class="layui-form-label required">系统账户</label>
<div class="layui-input-block">
<input type="text" id="F_AdminAccount" name="F_AdminAccount" maxlength="50" autocomplete="off" lay-verify="required" class="layui-input">
</div>
</div>
<div class="layui-col-md6 layui-col-sm6 layui-hide">
<label class="layui-form-label required">系统密码</label>
<div class="layui-input-block">
<input type="password" id="F_AdminPassword" name="F_AdminPassword" maxlength="50" autocomplete="off" lay-verify="required" class="layui-input">
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-col-md6 layui-col-sm6 layui-hide">
<label class="layui-form-label required">数据库类型</label>
<div class="layui-input-block">
<select id="F_DBProvider" name="F_DBProvider" lay-verify="required">
</select>
</div>
</div>
<div class="layui-col-md6 layui-col-sm6 layui-hide">
<label class="layui-form-label required">连接字符串</label>
<div class="layui-input-block">
<input type="text" id="F_DbString" name="F_DbString" maxlength="255" autocomplete="off" lay-verify="required" class="layui-input">
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-col-md6 layui-col-sm6 layui-hide">
<label class="layui-form-label required">域名</label>
<div class="layui-input-block">
<input id="F_HostUrl" name="F_HostUrl" class="layui-input" autocomplete="off" maxlength="50" lay-verify="required" placeholder="请输入域名">
</div>
</div>
<div class="layui-col-md6 layui-col-sm6 layui-hide">
<label class="layui-form-label required">数据库序号</label>
<div class="layui-input-block">
<input id="F_DbNumber" name="F_DbNumber" class="layui-input" autocomplete="off" maxlength="50" lay-verify="required" placeholder="请输入数据库序号">
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-col-md6 layui-col-sm6 layui-hide">
<label class="layui-form-label required">有效</label>
<div class="layui-input-block">
<input type="checkbox" name="F_EnabledMark" id="F_EnabledMark" checked="" value="true" title="有效标识">
</div>
</div>
<div class="layui-col-md6 layui-col-sm6 layui-hide">
<label class="layui-form-label required">到期时间</label>
<div class="layui-input-block">
<input type="text" id="F_EndTime" name="F_EndTime" autocomplete="off" lay-verify="required" class="layui-input">
</div>
</div>
</div>
<div class="form-group-bottom text-right">
<div class="layui-input-block">
<button class="layui-btn" lay-submit lay-filter="formStep">
&emsp;下一步&emsp;
</button>
</div>
</div>
</form>
</div>
<div>
<form class="layui-form layuimini-form">
<div class="layui-form-item ">
<div style="height: 350px;overflow: auto;" id="toolbarDiv1">
<ul id="demoTree1" class="dtree" data-id="0"></ul>
</div>
</div>
<div class="form-group-bottom text-right">
<div class="layui-input-block">
<button type="button" class="layui-btn layui-btn-primary pre">上一步</button>
<button class="layui-btn" lay-submit lay-filter="formStep2">
&emsp;下一步&emsp;
</button>
</div>
</div>
</form>
</div>
<div>
<form class="layui-form layuimini-form">
<div class="layui-form-item ">
<div style="height: 350px;overflow: auto;" id="toolbarDiv2">
<ul id="demoTree2" class="dtree" data-id="0"></ul>
</div>
</div>
<div class="form-group-bottom text-right">
<div class="layui-input-block">
<button type="button" class="layui-btn layui-btn-primary pre">上一步</button>
<button class="layui-btn site-demo-active" lay-submit lay-filter="formStep3">
确认保存
</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>