Merge branch 'EasyWeb-v3.1.8'

# Conflicts:
#	src/main/resources/application.yml
pull/65/head
fengshuonan 2021-01-22 23:01:11 +08:00
commit fabee1e303
56 changed files with 1090 additions and 1423 deletions

View File

@ -15,37 +15,41 @@ import org.springframework.stereotype.Controller;
@ApiResource(name = "字典类型管理相关的界面渲染")
public class DictTypeViewController {
private String PREFIX = "/modular/system/dict/";
/**
* --
* -
*
* @author huangyao
* @date 2021/1/6 21:08
* @author chenjinlong
* @date 2021/1/22 16:09
*/
@GetResource(name = "字典类型管理-列表-视图", path = "/view/dictType")
public String indexView() {
return "/modular/system/dictType/dictType.html";
return PREFIX + "dictType.html";
}
/**
* --
*
* @author huangyao
* @date 2021/1/6 21:25
* @author chenjinlong
* @date 2021/1/22 16:09
*/
@GetResource(name = "字典类型管理-添加-视图", path = "/view/dictType/addView")
public String addView() {
return "/modular/system/dictType/dictType_add.html";
return PREFIX + "dictType_add.html";
}
/**
* --
*
* @author huangyao
* @date 2021/1/6 21:26
* @author chenjinlong
* @date 2021/1/22 16:09
*/
@GetResource(name = "字典类型管理-编辑-视图", path = "/view/dictType/editView")
public String editView() {
return "/modular/system/dictType/dictType_edit.html";
return PREFIX + "dictType_edit.html";
}
}

View File

@ -1,90 +1,53 @@
package cn.stylefeng.guns.modular.dict;
import cn.stylefeng.roses.kernel.dict.modular.entity.SysDict;
import cn.stylefeng.roses.kernel.dict.modular.entity.SysDictType;
import cn.stylefeng.roses.kernel.dict.modular.service.DictService;
import cn.stylefeng.roses.kernel.dict.modular.service.DictTypeService;
import cn.stylefeng.roses.kernel.resource.api.annotation.ApiResource;
import cn.stylefeng.roses.kernel.resource.api.annotation.GetResource;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
/**
*
*
* @author huangyao
* @date 2021/1/16 19:07
* @author chenjinlong
* @date 2021/1/22 16:09
*/
@Controller
@ApiResource(name = "字典管理相关的界面渲染")
public class DictViewController {
@Resource
private DictService dictService;
@Resource
private DictTypeService dictTypeService;
private String PREFIX = "/modular/system/dict/";
/**
* --
*
* @author huangyao
* @date 2021/1/9 22:37
* @author chenjinlong
* @date 2021/1/22 16:09
*/
@GetResource(name = "字典管理-列表-视图", path = "/view/dict")
public ModelAndView indexView(ModelAndView view, @RequestParam Long dictTypeId) {
SysDictType dictType = dictTypeService.getById(dictTypeId);
view.addObject("dictTypeId", dictType.getDictTypeId());
view.addObject("dictTypeName", dictType.getDictTypeName());
view.addObject("dictTypeCode", dictType.getDictTypeCode());
view.setViewName("/modular/system/dict/dict.html");
return view;
public String indexView() {
return PREFIX + "dict.html";
}
/**
* --
*
* @author huangyao
* @date 2021/1/9 22:37
* @author chenjinlong
* @date 2021/1/22 16:09
*/
@GetResource(name = "字典管理-添加-视图", path = "/view/dict/addView")
public ModelAndView addView(ModelAndView view, @RequestParam Long dictTypeId) {
SysDictType dictType = dictTypeService.getById(dictTypeId);
view.addObject("dictTypeName", dictType.getDictTypeName());
view.addObject("dictTypeId", dictType.getDictTypeId());
view.addObject("dictTypeCode", dictType.getDictTypeCode());
view.setViewName("/modular/system/dict/dict_add.html");
return view;
public String addView() {
return PREFIX + "dict_add.html";
}
/**
* --
*
* @author huangyao
* @date 2021/1/9 22:38
* @author chenjinlong
* @date 2021/1/22 16:09
*/
@GetResource(name = "字典管理-编辑-视图", path = "/view/dict/editView")
public ModelAndView editView(ModelAndView view, @RequestParam Long dictId) {
SysDict dict = dictService.getById(dictId);
// 根据字典获取字典类型
SysDictType dictType = dictTypeService.getOne(new QueryWrapper<SysDictType>().lambda().eq(SysDictType::getDelFlag, "N")
.eq(SysDictType::getDictTypeCode, dict.getDictTypeCode()));
view.addObject("dictTypeName", dictType.getDictTypeName());
view.addObject("dictId", dictId);
view.addObject("dictTypeCode", dictType.getDictTypeCode());
view.setViewName("/modular/system/dict/dict_edit.html");
return view;
public String editView() {
return PREFIX + "dict_edit.html";
}
}

View File

@ -0,0 +1,3 @@
此目录为easyweb源代码目录
如需升级建议购买easyweb源码
除common.js外其他文件可直接替换

View File

@ -1,12 +0,0 @@
assets/common目录为easyweb的源代码为了方便升级列出所有改动如下
common.js的修改
```js
这个改动比较大建议直接覆盖然后用git对比
```
index.js的修改
```js
//第20行开启默认的单页标签
pageTabs: false,
```

View File

@ -1,7 +1,6 @@
/*表单页面*/
.layui-form-item {
margin-bottom: 0;
margin-top: 20px;
margin-bottom: 0;
}
.layui-form-item .layui-inline {
@ -10,19 +9,11 @@
}
.form-group-bottom {
z-index: 9999;
position: fixed;
bottom: 0;
left: 0;
right: 0;
background-color: #F2F2F2;
bottom: 0;
padding: 10px 20px;
}
.layui-card-body {
padding-right: 55px;
}
input[readonly]{
background-color: #efefef;
background-color: #fff;
box-shadow: 0 -1px 2px 0 rgba(0, 0, 0, .05);
}

View File

@ -91,6 +91,7 @@ layui.define(['jquery', 'layer', 'admin', 'table'], function (exports) {
//按键监听esc关闭对话框
$(window).keydown(function (event) {
if (event.keyCode === 27) {
//admin.closeThisDialog();
parent.layer.close(thisIndex)
}
});

View File

@ -1,10 +1,11 @@
layui.use(['layer', 'form', 'table', 'HttpRequest', 'func', 'tree'], function () {
layui.use(['layer', 'form', 'table', 'util', 'admin', 'tree', 'dropdown', 'xmSelect', 'treeTable', 'func', 'HttpRequest'], function () {
var $ = layui.jquery;
var form = layui.form;
var table = layui.table;
var HttpRequest = layui.HttpRequest;
var func = layui.func;
var tree = layui.tree;
var HttpRequest = layui.HttpRequest;
var selObj;
/**
* Api管理的参数
@ -19,7 +20,6 @@ layui.use(['layer', 'form', 'table', 'HttpRequest', 'func', 'tree'], function ()
// 选择api树上的接口时
ApiManager.onClickApi = function (obj) {
ApiManager.condition.resourceCode = obj.data.id;
// 如果是具体接口,则查看接口详情
if (obj.data.resourceFlag === true) {
ApiManager.search();
@ -67,22 +67,18 @@ layui.use(['layer', 'form', 'table', 'HttpRequest', 'func', 'tree'], function ()
};
// 初始化api树
var request = new HttpRequest(Feng.ctxPath + '/resource/getTree', 'get', function (data) {
new HttpRequest(Feng.ctxPath + '/resource/getTree', 'get', function (data) {
tree.render({
elem: '#apiTree',
elem: '#organizationTree',
onlyIconControl: true,
data: data.data,
click: ApiManager.onClickApi,
onlyIconControl: true
});
});
request.start();
});
$(function () {
var panehHidden = false;
if ($(this).width() < 769) {
panehHidden = true;
click: function (obj) {
selObj = obj;
$('#organizationTree').find('.ew-tree-click').removeClass('ew-tree-click');
$(obj.elem).children('.layui-tree-entry').addClass('ew-tree-click');
ApiManager.onClickApi(selObj)
}
$('#myContiner').layout({initClosed: panehHidden, west__size: 330});
});
$('#organizationTree').find('.layui-tree-entry:first>.layui-tree-main>.layui-tree-txt').trigger('click');
}).start();
});

View File

@ -1,8 +1,9 @@
layui.use(['layer', 'form', 'table', 'admin', 'HttpRequest', 'func'], function () {
layui.use(['layer', 'form', 'table', 'admin', 'HttpRequest', 'func', 'dropdown'], function () {
var $ = layui.$;
var table = layui.table;
var HttpRequest = layui.HttpRequest;
var func = layui.func;
var dropdown = layui.dropdown;
/**
* 系统管理--角色管理
@ -27,36 +28,36 @@ layui.use(['layer', 'form', 'table', 'admin', 'HttpRequest', 'func'], function (
{
field: 'dataScopeType', align: "center", sort: true, title: '数据范围类型', templet: function (data) {
if (data.dataScopeType === 10) {
return "仅本人数据";
return '<span class="layui-badge layui-badge-green">仅本人数据</span>';
}
if (data.dataScopeType === 20) {
return "本部门数据";
return '<span class="layui-badge layui-badge-green">本部门数据</span>';
}
if (data.dataScopeType === 30) {
return "本部门及以下数据";
return '<span class="layui-badge layui-badge-green">本部门及以下数据</span>';
}
if (data.dataScopeType === 40) {
return "指定部门数据";
return '<span class="layui-badge layui-badge-green">指定部门数据</span>';
}
if (data.dataScopeType === 50) {
return "全部数据";
return '<span class="layui-badge layui-badge-green">全部数据</span>';
}
return "未知";
return '<span class="layui-badge layui-badge-green">未知</span>';
}
},
{
field: 'statusFlag', align: "center", sort: true, title: '状态', templet: function (data) {
if (data.statusFlag === 1) {
return "启用";
return '<span class="layui-badge layui-badge-green">启用</span>';
}
if (data.statusFlag === 2) {
return "禁用";
return '<span class="layui-badge layui-badge-green">禁用</span>';
}
return "未知";
return '<span class="layui-badge layui-badge-green">未知</span>';
}
},
{field: 'remark', align: "center", sort: true, title: '备注'},
{align: 'center', toolbar: '#tableBar', title: '操作', minWidth: 400}
{align: 'center', toolbar: '#tableBar', title: '操作'}
]];
};
@ -203,5 +204,6 @@ layui.use(['layer', 'form', 'table', 'admin', 'HttpRequest', 'func'], function (
} else if (layEvent === 'assignApi') {
Role.assignApi(data);
}
dropdown.hideAll();
});
});

View File

@ -1,153 +0,0 @@
layui.use(['table', 'treeTable', 'func', 'HttpRequest'], function () {
var $ = layui.$;
var treeTable = layui.treeTable;
var table = layui.table;
var func = layui.func;
var HttpRequest = layui.HttpRequest;
//table的初始化实例
var insTb;
/**
* 基础字典管理
*/
var Dict = {
tableId: "dictTable"
};
/**
* 初始化表格的列
*/
Dict.initColumn = function () {
return [
{type: 'checkbox'},
{field: 'dictName', align: "center", title: '字典名称'},
{field: 'dictCode', align: "center", title: '字典编码'},
{align: 'center', toolbar: '#tableBar', title: '操作'}
];
};
/**
* 点击查询按钮
*/
Dict.search = function () {
var queryData = {};
queryData['dictName'] = $("#condition").val();
queryData['dictCode'] = $("#condition").val();
Dict.initTable(Dict.tableId, queryData);
};
/**
* 弹出添加对话框
*/
Dict.openAddDlg = function () {
func.open({
height: 680,
title: '添加字典',
content: Feng.ctxPath + '/view/dict/addView?dictTypeId=' + $("#dictTypeId").val(),
tableId: Dict.tableId,
endCallback: function () {
Dict.initTable(Dict.tableId);
}
});
};
/**
* 点击编辑
*
* @param data 点击按钮时候的行数据
*/
Dict.openEditDlg = function (data) {
func.open({
height: 680,
title: '修改字典',
content: Feng.ctxPath + '/view/dict/editView?dictId=' + data.dictId,
tableId: Dict.tableId,
endCallback: function () {
Dict.initTable(Dict.tableId);
}
});
};
/**
* 点击删除
*
* @param data 点击按钮时候的行数据
*/
Dict.onDeleteItem = function (data) {
var operation = function () {
var httpRequest = new HttpRequest(Feng.ctxPath + "/dict/deleteDict", 'post', function (data) {
Feng.success("删除成功!");
Dict.search();
}, function (data) {
Feng.error("删除失败!" + data.message + "!");
});
httpRequest.set(data);
httpRequest.start(true);
};
Feng.confirm("是否删除?", operation);
};
/**
* 渲染表格
*/
Dict.initTable = function (dictId, data) {
return treeTable.render({
elem: '#' + dictId,
tree: {
iconIndex: 1, // 折叠图标显示在第几列
idName: 'dictId', // 自定义id字段的名称
pidName: 'parentId', // 自定义标识是否还有子节点的字段名称
haveChildName: 'haveChild', // 自定义标识是否还有子节点的字段名称
isPidData: true // 是否是pid形式数据
},
page: true,
request: {pageName: 'pageNo', limitName: 'pageSize'}, //自定义分页参数
height: "full-98",
cols: Dict.initColumn(),
reqData: function (d, callback) {
var httpRequest = new HttpRequest(Feng.ctxPath + '/dict/getDictTreeList?dictTypeCode=' + $("#dictTypeCode").val(), 'get', function (result) {
callback(result.data);
}, function (result) {
Feng.error("加载失败!" + result.message + "!");
});
httpRequest.set(data);
httpRequest.start();
},
});
};
insTb = Dict.initTable(Dict.tableId);
// 搜索按钮点击事件
$('#btnSearch').click(function () {
Dict.search();
});
// 添加按钮点击事件
$('#btnAdd').click(function () {
Dict.openAddDlg();
});
// 导出excel
$('#btnExp').click(function () {
Dict.exportExcel();
});
// 关闭页面
$('#btnBack').click(function () {
window.location.href = Feng.ctxPath + "/view/dictType";
});
// 工具条点击事件
treeTable.on('tool(' + Dict.tableId + ')', function (obj) {
var data = obj.data;
var layEvent = obj.event;
if (layEvent === 'edit') {
Dict.openEditDlg(data);
} else if (layEvent === 'delete') {
Dict.onDeleteItem(data);
}
});
});

View File

@ -0,0 +1,207 @@
layui.use(['layer', 'form', 'table', 'util', 'admin', 'func', 'HttpRequest'], function () {
var $ = layui.jquery;
var layer = layui.layer;
var form = layui.form;
var table = layui.table;
var admin = layui.admin;
var HttpRequest = layui.HttpRequest;
var func = layui.func;
var dictTypeObj; // 左表选中数据
var Dict = {
tableId: "dictTable",
};
var DictType = {
tableId: "dictTypeTable"
};
/* 字典类型-点击新增对话框 */
DictType.openAddDlg = function () {
func.open({
height: 700,
title: '添加字典类型',
content: Feng.ctxPath + '/view/dictType/addView',
tableId: DictType.tableId
});
};
/* 字典类型-点击编辑对话框 */
DictType.openEditDlg = function (data) {
func.open({
height: 700,
title: '修改字典类型',
content: Feng.ctxPath + '/view/dictType/editView?dictTypeId=' + data.dictTypeId,
tableId: DictType.tableId
});
};
/* 字典类型-点击删除 */
DictType.onDeleteItem = function (data) {
if (data.dictTypeClass === 2) {
Feng.error("系统类型无法删除");
return;
}
var operation = function () {
var httpRequest = new HttpRequest(Feng.ctxPath + "/dictType/deleteDictType", 'post', function (data) {
Feng.success("删除成功!");
table.reload(DictType.tableId);
}, function (data) {
Feng.error("删除失败!" + data.message + "!");
});
httpRequest.set(data);
httpRequest.start(true);
};
Feng.confirm("是否删除?", operation);
};
/* 字典类型-点击搜索 */
form.on('submit(dictTypeTbSearch)', function (data) {
dictTypeTable.reload({where: data.field});
return false;
});
/* 字典类型-点击表格头工具栏 */
table.on('toolbar(dictTypeTable)', function (obj) {
var data = dictTypeObj.data;
if (obj.event === 'add') { // 添加
DictType.openAddDlg();
} else if (obj.event === 'edit') { // 修改
DictType.openEditDlg(data);
} else if (obj.event === 'del') { // 删除
DictType.onDeleteItem(data);
}
});
/* 字典类型-渲染表格 */
var dictTypeTable = table.render({
elem: '#dictTypeTable',
url: Feng.ctxPath + '/dictType/getDictTypePageList',
height: 'full-100',
toolbar: '#dictTypeHtbBar',
defaultToolbar: [], //默认表格头部右侧工具栏
cols: [[
{type: 'numbers'},
{field: 'dictTypeName', title: '类型'},
{field: 'dictTypeCode', title: '编码'},
]],
done: function (res, curr, count) {
//加载后自动选中第一行并出发click事件
$('#dictTypeTable+.layui-table-view .layui-table-body tbody>tr:first').trigger('click');
},
parseData: Feng.parseData //解析成 table 组件所规定的数据格式
});
/* 字典类型-监听行单击事件 */
table.on('row(dictTypeTable)', function (obj) {
dictTypeObj = obj;
obj.tr.addClass('layui-table-click').siblings().removeClass('layui-table-click');
dictTable.reload({
where: {dictTypeCode: obj.data.dictTypeCode},
page: {curr: 1},
url: Feng.ctxPath + '/dict/page'
});
});
/* 删除 */
function doDel(obj) {
layer.confirm('确定要删除此字典吗?', {
skin: 'layui-layer-admin',
shade: .1
}, function (i) {
layer.close(i);
var loadIndex = layer.load(2);
$.get('../../json/ok.json', {
id: obj.data.dictId,
}, function (res) {
layer.close(loadIndex);
if (200 === res.code) {
layer.msg(res.msg, {icon: 1});
obj.del();
$('#dictTypeTable+.layui-table-view .layui-table-body tbody>tr:first').trigger('click');
} else {
layer.msg(res.msg, {icon: 2});
}
}, 'json');
});
}
/* 字典-点击新增对话框 */
Dict.openAddDlg = function (data) {
func.open({
height: 680,
title: '添加字典',
content: Feng.ctxPath + '/view/dict/addView?dictTypeId=' + data.dictTypeId,
tableId: Dict.tableId
});
};
/* 字典-点击编辑对话框 */
Dict.openEditDlg = function (data) {
func.open({
height: 680,
title: '修改字典',
content: Feng.ctxPath + '/view/dict/editView?dictId=' + data.dictId,
tableId: Dict.tableId
});
};
/* 字典-点击删除 */
Dict.onDeleteItem = function (data) {
var operation = function () {
var httpRequest = new HttpRequest(Feng.ctxPath + "/dict/deleteDict", 'post', function (data) {
Feng.success("删除成功!");
table.reload(Dict.tableId);
}, function (data) {
Feng.error("删除失败!" + data.message + "!");
});
httpRequest.set(data);
httpRequest.start(true);
};
Feng.confirm("是否删除?", operation);
};
/* 字典-点击搜索 */
form.on('submit(dictTbSearch)', function (data) {
//赋值左表dictTypeCode
data.field.dictTypeCode = dictTypeObj.data.dictTypeCode;
dictTable.reload({where: data.field});
return false;
});
/* 字典-点击操作工具栏 */
table.on('tool(dictTable)', function (obj) {
var data = obj.data;
if (obj.event === 'edit') { // 修改
Dict.openEditDlg(data);
} else if (obj.event === 'del') { // 删除
Dict.onDeleteItem(data);
}
});
// 添加按钮点击事件
$('#btnAdd').click(function () {
Dict.openAddDlg(dictTypeObj.data);
return false;
});
/* 字典-渲染表格 */
var dictTable = table.render({
elem: '#dictTable',
data: [],
height: 'full-100',
page: true,
//toolbar: '#dictHtbBar',
cellMinWidth: 100,
cols: [[
{type: 'checkbox'},
{type: 'numbers'},
{field: 'dictName', align: "center", sort: true, title: '字典名称'},
{field: 'dictCode', align: "center", sort: true, title: '字典编码'},
{field: 'dictSort', align: "center", sort: true, title: '排序号'},
{align: 'center', toolbar: '#dictTbBar', title: '操作'}
]],
parseData: Feng.parseData
});
});

View File

@ -5,27 +5,23 @@ layui.use(['form', 'admin', 'HttpRequest'], function () {
var HttpRequest = layui.HttpRequest;
//获取详情信息,填充表单
var request = new HttpRequest(Feng.ctxPath + "/dictType/getDictDetail?dictTypeId=" + Feng.getUrlParam("dictTypeId"), 'get', function (result) {
var request = new HttpRequest(Feng.ctxPath + "/dictType/getDictDetail?dictTypeId=" + Feng.getUrlParam("dictTypeId"), 'get');
var result = request.start();
form.val('dictTypeForm', result.data);
if(result.data.dictTypeClass === 2){
$('input,select,textarea').attr("disabled",true).attr('readonly',true);
}
form.val('dictTypeForm', result.data);
}, function (data) {
Feng.error("加载失败!" + data.message);
});
request.start();
//表单提交事件
form.on('submit(btnSubmit)', function (data) {
var request = new HttpRequest(Feng.ctxPath + "/dictType/updateDictType", 'post', function (data) {
admin.closeThisDialog();
Feng.success("更新成功!");
Feng.success("修改成功!");
admin.putTempData('formOk', true);
}, function (data) {
admin.closeThisDialog();
Feng.error("更新失败!" + data.message);
Feng.error("修改失败!" + data.message);
});
request.set(data.field);
request.start(true);

View File

@ -1,19 +1,14 @@
/**
* 详情对话框
*/
var DictInfoDlg = {
data: {
dictParentId: "-1",
parentName: "顶级"
}
};
layui.use(['form', 'admin', 'HttpRequest'], function () {
var $ = layui.jquery;
var form = layui.form;
var admin = layui.admin;
var HttpRequest = layui.HttpRequest;
//获取信息详情填充表单
var request = new HttpRequest(Feng.ctxPath + "/dictType/getDictDetail?dictTypeId=" + Feng.getUrlParam("dictTypeId"), 'get');
var result = request.start();
form.val('dictForm', result.data);
//表单提交事件
form.on('submit(btnSubmit)', function (data) {
var request = new HttpRequest(Feng.ctxPath + "/dict/addDict", 'post', function (data) {
@ -24,26 +19,7 @@ layui.use(['form', 'admin', 'HttpRequest'], function () {
admin.closeThisDialog();
Feng.error("添加失败!" + data.message);
});
request.set(data.field);
request.start(true);
});
//父级字典时
$('#parentName').click(function () {
var formName = encodeURIComponent("parent.DictInfoDlg.data.parentName");
var formId = encodeURIComponent("parent.DictInfoDlg.data.dictParentId");
var treeUrl = encodeURIComponent("/dict/zTree?dictTypeCode=" + $("#dictTypeCode").val());
layer.open({
type: 2,
title: '父级字典',
area: ['300px', '400px'],
content: Feng.ctxPath + '/view/common/tree?formName=' + formName + "&formId=" + formId + "&treeUrl=" + treeUrl,
end: function () {
$("#dictParentId").val(DictInfoDlg.data.dictParentId);
$("#parentName").val(DictInfoDlg.data.parentName);
}
});
});
});

View File

@ -1,57 +1,27 @@
/**
* 详情对话框
*/
var DictInfoDlg = {
data: {
dictParentId: "-1",
parentName: "顶级"
}
};
layui.use(['form', 'admin', 'HttpRequest'], function () {
var $ = layui.jquery;
var form = layui.form;
var admin = layui.admin;
var HttpRequest = layui.HttpRequest;
//获取详情信息,填充表单
var request = new HttpRequest(Feng.ctxPath + "/dict/getDictDetail?dictId=" + Feng.getUrlParam("dictId"), 'get', function (result) {
var request = new HttpRequest(Feng.ctxPath + "/dict/getDictDetail?dictId=" + Feng.getUrlParam("dictId"), 'get');
var result = request.start();
form.val('dictForm', result.data);
}, function (data) {
Feng.error("加载失败!" + data.message);
});
request.start();
//表单提交事件
form.on('submit(btnSubmit)', function (data) {
var request = new HttpRequest(Feng.ctxPath + "/dict/updateDict", 'post', function (data) {
admin.closeThisDialog();
Feng.success("更新成功!");
Feng.success("修改成功!");
admin.putTempData('formOk', true);
}, function (data) {
admin.closeThisDialog();
Feng.error("更新失败!" + data.message);
Feng.error("修改失败!" + data.message);
});
request.set(data.field);
request.start(true);
});
//父级字典时
$('#parentName').click(function () {
var formName = encodeURIComponent("parent.DictInfoDlg.data.parentName");
var formId = encodeURIComponent("parent.DictInfoDlg.data.dictParentId");
var treeUrl = encodeURIComponent("/dict/zTree?dictTypeCode=" + $("#dictTypeCode").val() + "&dictId=" + $("#dictId").val());
layer.open({
type: 2,
title: '父级字典',
area: ['300px', '400px'],
content: Feng.ctxPath + '/view/common/tree?formName=' + formName + "&formId=" + formId + "&treeUrl=" + treeUrl,
end: function () {
$("#dictParentId").val(DictInfoDlg.data.dictParentId);
$("#parentName").val(DictInfoDlg.data.parentName);
}
});
});
});

View File

@ -1,164 +0,0 @@
layui.use(['table', 'func', 'HttpRequest', 'form'], function () {
var $ = layui.$;
var table = layui.table;
var func = layui.func;
var HttpRequest = layui.HttpRequest;
var form = layui.form;
/**
* 字典类型表管理
*/
var DictType = {
tableId: "dictTypeTable"
};
/**
* 初始化表格的列
*/
DictType.initColumn = function () {
return [[
{type: 'checkbox'},
{field: 'dictTypeId', hide: true, title: '字典类型id'},
{
field: 'dictTypeName', align: "center", sort: true, title: '类型名称', templet: function (d) {
var url = Feng.ctxPath + '/view/dict?dictTypeId=' + d.dictTypeId;
return '<a style="color: #01AAED;" href="' + url + '">' + d.dictTypeName + '</a>';
}
},
{
field: 'dictTypeClass', align: "center", sort: true, title: '字典类型', templet: function (d) {
if (d.dictTypeClass === 1) {
return "业务类型";
} else {
return "系统类型";
}
}
},
{field: 'dictTypeNamePinyin', align: "center", sort: true, title: '名词拼音'},
{field: 'dictTypeCode', align: "center", sort: true, title: '类型编码', minWidth: 166},
{field: 'dictTypeBusCode', align: "center", sort: true, title: '业务编码', minWidth: 166},
{field: 'dictTypeDesc', align: "center", sort: true, title: '字典描述'},
{field: 'statusFlag', sort: true, align: "center", title: '状态', templet: '#statusFlagTpl'},
{align: 'center', toolbar: '#tableBar', title: '操作'}
]];
};
/**
* 点击查询按钮
*/
DictType.search = function () {
var queryData = {};
queryData['dictTypeName'] = $("#dictTypeName").val();
queryData['dictTypeClass'] = $("#dictTypeClass").val();
queryData['statusFlag'] = $("#statusFlag").val();
table.reload(DictType.tableId, {
where: queryData, page: {curr: 1}
});
};
/**
* 弹出添加对话框
*/
DictType.openAddDlg = function () {
func.open({
height: 700,
title: '添加字典类型',
content: Feng.ctxPath + '/view/dictType/addView',
tableId: DictType.tableId
});
};
/**
* 点击编辑
*
* @param data 点击按钮时候的行数据
*/
DictType.openEditDlg = function (data) {
func.open({
height: 700,
title: '修改字典类型',
content: Feng.ctxPath + '/view/dictType/editView?dictTypeId=' + data.dictTypeId,
tableId: DictType.tableId
});
};
/**
* 点击删除
*
* @param data 点击按钮时候的行数据
*/
DictType.onDeleteItem = function (data) {
if (data.dictTypeClass === 2) {
Feng.error("系统类型无法删除");
return;
}
var operation = function () {
var httpRequest = new HttpRequest(Feng.ctxPath + "/dictType/deleteDictType", 'post', function (data) {
Feng.success("删除成功!");
table.reload(DictType.tableId);
}, function (data) {
Feng.error("删除失败!" + data.message + "!");
});
httpRequest.set(data);
httpRequest.start(true);
};
Feng.confirm("是否删除?", operation);
};
// 修改字典类型状态
DictType.updateStatus = function (dictTypeId, checked) {
var httpRequest = new HttpRequest(Feng.ctxPath + "/dictType/updateStatus", 'post', function (data) {
table.reload(DictType.tableId);
Feng.success("修改成功!");
}, function (data) {
table.reload(DictType.tableId);
Feng.error("修改失败!" + data.message);
});
httpRequest.set({"dictTypeId": dictTypeId, "statusFlag": checked});
httpRequest.start(true);
};
// 渲染表格
var tableResult = table.render({
elem: '#' + DictType.tableId,
url: Feng.ctxPath + '/dictType/getDictTypePageList',
page: true,
request: {pageName: 'pageNo', limitName: 'pageSize'}, //自定义分页参数
height: "full-158",
cellMinWidth: 100,
cols: DictType.initColumn(),
parseData: Feng.parseData
});
// 搜索按钮点击事件
$('#btnSearch').click(function () {
DictType.search();
});
// 添加按钮点击事件
$('#btnAdd').click(function () {
DictType.openAddDlg();
});
// 工具条点击事件
table.on('tool(' + DictType.tableId + ')', function (obj) {
var data = obj.data;
var layEvent = obj.event;
if (layEvent === 'edit') {
DictType.openEditDlg(data);
} else if (layEvent === 'delete') {
DictType.onDeleteItem(data);
}
});
// 修改状态
form.on('switch(statusFlag)', function (obj) {
var dictTypeId = obj.elem.value;
var checked = obj.elem.checked ? 1 : 2;
DictType.updateStatus(dictTypeId, checked);
});
});

View File

@ -1,85 +1,46 @@
layui.use(['layer', 'form', 'table', 'ztree', 'laydate', 'admin', 'HttpRequest', 'func', 'tree', 'util'], function () {
layui.use(['layer', 'form', 'table', 'util', 'admin', 'tree', 'dropdown', 'xmSelect', 'treeTable', 'func', 'HttpRequest'], function () {
var $ = layui.jquery;
var layer = layui.layer;
var form = layui.form;
var table = layui.table;
var HttpRequest = layui.HttpRequest;
var func = layui.func;
var admin = layui.admin;
var tree = layui.tree;
var func = layui.func;
var HttpRequest = layui.HttpRequest;
var xmSelect = layui.xmSelect;
var selObj, treeData; // 左树选中数据
/**
* 系统管理--用户管理
*/
var Organization = {
tableId: "userTable", //表格id
condition: {
orgName: "",
orgParentId: "",
orgCode: ""
}
tableId: "organizationTable", //表格id
};
// 初始化表格的列
Organization.initColumn = function () {
return [[
{type: 'checkbox'},
{field: 'orgId', hide: true, title: '主键id'},
{field: 'orgName', sort: true, title: '机构名称'},
{field: 'orgCode', sort: true, title: '机构编码'},
{field: 'orgSort', sort: true, title: '排序'},
{field: 'orgRemark', sort: true, title: '备注'},
{field: 'statusFlag', sort: true, templet: '#statusTpl', title: '状态'},
{align: 'center', toolbar: '#tableBar', title: '操作'}
]];
};
// 选择部门时
Organization.onClickDept = function (obj) {
Organization.condition.orgParentId = obj.data.id;
Organization.search();
};
// 点击查询按钮
Organization.search = function () {
var queryData = {};
queryData['orgParentId'] = Organization.condition.orgParentId;
queryData['orgName'] = $("#orgName").val();
queryData['orgCode'] = $("#orgCode").val();
table.reload(Organization.tableId, {
where: queryData, page: {curr: 1}
});
};
// 弹出添加对话框
/* 点击新增对话框 */
Organization.openAddDlg = function () {
func.open({
height: 800,
title: '添加机构',
content: Feng.ctxPath + '/view/organization/addView',
tableId: Organization.tableId
tableId: Organization.tableId,
endCallback: function () {
renderTree();
}
});
};
// 点击编辑
/* 点击编辑对话框 */
Organization.openEditDlg = function (data) {
func.open({
height: 800,
title: '修改机构',
content: Feng.ctxPath + '/view/organization/editView?orgId=' + data.orgId,
content: Feng.ctxPath + '/view/organization/editView?orgId=' + data.id,
tableId: Organization.tableId
});
};
// 导出excel按钮
Organization.exportExcel = function () {
var checkRows = table.checkStatus(Organization.tableId);
if (checkRows.data.length === 0) {
Feng.error("请选择要导出的数据");
} else {
table.exportFile(tableResult.config.id, checkRows.data, 'xls');
}
};
// 点击删除
/* 点击删除 */
Organization.delete = function (data) {
var operation = function () {
var httpRequest = new HttpRequest(Feng.ctxPath + "/hrOrganization/delete", 'post', function (data) {
@ -94,80 +55,83 @@ layui.use(['layer', 'form', 'table', 'ztree', 'laydate', 'admin', 'HttpRequest',
Feng.confirm("是否删除?", operation);
};
// 修改职位状态
Organization.updateStatus = function (orgId, checked) {
var httpRequest = new HttpRequest(Feng.ctxPath + "/hrOrganization/updateStatus", 'post', function (data) {
table.reload(Organization.tableId);
Feng.success("修改成功!");
}, function (data) {
table.reload(Organization.tableId);
Feng.error("修改失败!" + data.message);
});
httpRequest.set({"orgId": orgId, "statusFlag": checked});
httpRequest.start(true);
};
// 渲染表格
var tableResult = table.render({
elem: '#' + Organization.tableId,
url: Feng.ctxPath + '/hrOrganization/page',
page: true,
height: "full-98",
cellMinWidth: 100,
cols: Organization.initColumn(),
parseData: Feng.parseData
});
// 初始化部门树
var request = new HttpRequest(Feng.ctxPath + '/hrOrganization/treeLayui', 'get', function (data) {
/* 渲染树形 */
function renderTree() {
$.get(Feng.ctxPath + '/hrOrganization/treeLayui', function (res) {
tree.render({
elem: '#deptTree',
data: data.data,
click: Organization.onClickDept,
onlyIconControl: true
});
});
request.start();
elem: '#organizationTree',
onlyIconControl: true,
data: res.data,
click: function (obj) {
selObj = obj;
$('#organizationTree').find('.ew-tree-click').removeClass('ew-tree-click');
$(obj.elem).children('.layui-tree-entry').addClass('ew-tree-click');
// 搜索按钮点击事件
$('#btnSearch').click(function () {
Organization.search();
console.log(obj.data);
insTb.reload({
where: {orgParentId: obj.data.id},
page: {curr: 1},
url: Feng.ctxPath + '/hrOrganization/page'
});
}
});
$('#organizationTree').find('.layui-tree-entry:first>.layui-tree-main>.layui-tree-txt').trigger('click');
});
}
// 添加按钮点击事件
$('#btnAdd').click(function () {
renderTree();
/* 添加 */
$('#organizationAddBtn').click(function () {
Organization.openAddDlg();
});
// 导出excel
$('#btnExp').click(function () {
Organization.exportExcel();
/* 修改 */
$('#organizationEditBtn').click(function () {
if (!selObj) return layer.msg('未选择机构', {icon: 2});
Organization.openEditDlg(selObj.data)
});
// 工具条点击事件
table.on('tool(' + Organization.tableId + ')', function (obj) {
var data = obj.data;
var event = obj.event;
if (event === 'edit') {
Organization.openEditDlg(data);
} else if (event === 'delete') {
Organization.delete(data);
}
/* 删除 */
$('#organizationDelBtn').click(function () {
if (!selObj) return layer.msg('未选择机构', {icon: 2});
selObj.data.orgId = selObj.data.id;
Organization.delete(selObj.data)
});
// 修改状态
form.on('switch(status)', function (obj) {
var orgId = obj.elem.value;
var checked = obj.elem.checked ? 1 : 2;
Organization.updateStatus(orgId, checked);
/* 渲染表格 */
var insTb = table.render({
elem: '#organizationTable',
data: [],
height: 'full-100',
page: true,
//toolbar: '#organizationUserTbToolBar',
cellMinWidth: 100,
cols: [[
{type: 'checkbox'},
{type: 'numbers'},
{field: 'orgId', hide: true, title: '主键id'},
{field: 'orgName', sort: true, title: '机构名称'},
{field: 'orgCode', sort: true, title: '机构编码'},
{field: 'orgSort', sort: true, title: '排序'},
{field: 'orgRemark', sort: true, title: '备注'}
]],
done: function () {
// 表格搜索
form.on('submit(organizationUserTbSearch)', function (data) {
insTb.reload({where: data.field, page: {curr: 1}});
return false;
});
},
parseData: Feng.parseData
});
/* 点击搜索 */
form.on('submit(organizationTbSearch)', function (data) {
insTb.reload({where: data.field});
return false;
});
});
$(function () {
var panehHidden = false;
if ($(this).width() < 769) {
panehHidden = true;
}
$('#myContiner').layout({initClosed: panehHidden, west__size: 260});
});

View File

@ -1,107 +1,59 @@
layui.use(['layer', 'form', 'table', 'ztree', 'laydate', 'admin', 'HttpRequest', 'func', 'tree', 'util'], function () {
layui.use(['layer', 'form', 'table', 'util', 'admin', 'tree', 'dropdown', 'xmSelect', 'treeTable', 'func', 'HttpRequest'], function () {
var $ = layui.jquery;
var layer = layui.layer;
var form = layui.form;
var table = layui.table;
var HttpRequest = layui.HttpRequest;
var laydate = layui.laydate;
var func = layui.func;
var admin = layui.admin;
var tree = layui.tree;
var util=layui.util;
var func = layui.func;
var HttpRequest = layui.HttpRequest;
var xmSelect = layui.xmSelect;
var selObj, treeData; // 左树选中数据
/**
* 系统管理--用户管理
*/
var MgrUser = {
var OrganizationUser = {
tableId: "userTable", //表格id
condition: {
realName: "",
orgId: "",
account: ""
}
};
/**
* 初始化表格的列
*/
MgrUser.initColumn = function () {
//获取多语言
//var langs = layui.data('system').lang;
return [[
{type: 'checkbox'},
{field: 'userId', hide: true, sort: true, title: '用户id'},
{field: 'account', align: "center", sort: true, title: '账号'},
{field: 'realName', align: "center", sort: true, title: '姓名'},
{field: 'orgId', align: "center", sort: true, title: '机构'},
{field: 'positionId', align: "center", sort: true, title: '职务'},
{field: 'phone', align: "center", sort: true, title: '电话'},
{field: 'createTime', align: "center", sort: true, title: '创建时间', minWidth: 160},
{field: 'status', align: "center", sort: true, templet: '#statusTpl', title: '状态'},
{align: 'center', toolbar: '#tableBar', title: '操作', minWidth: 350}
]];
};
/**
* 选择部门时
*/
MgrUser.onClickDept = function (obj) {
MgrUser.condition.orgId = obj.data.id;
MgrUser.search();
};
/**
* 点击查询按钮
*/
MgrUser.search = function () {
var queryData = {};
queryData['orgId'] = MgrUser.condition.orgId;
queryData['account'] = $("#account").val();
queryData['realName'] = $("#realName").val();
table.reload(MgrUser.tableId, {
where: queryData, page: {curr: 1}
});
};
// 添加按钮
MgrUser.openAddUser = function () {
/* 点击新增对话框 */
OrganizationUser.openAddDlg = function () {
func.open({
height: 680,
title: '添加用户',
content: Feng.ctxPath + '/view/user/addView',
tableId: MgrUser.tableId
tableId: OrganizationUser.tableId
});
};
// 修改按钮
MgrUser.onEditUser = function (data) {
/* 点击编辑对话框 */
OrganizationUser.openEditDlg = function (data) {
func.open({
height: 680,
title: '修改用户',
content: Feng.ctxPath + '/view/user/editView?userId=' + data.userId,
tableId: MgrUser.tableId
tableId: OrganizationUser.tableId
});
};
/**
* 导出excel按钮
*/
MgrUser.exportExcel = function () {
var checkRows = table.checkStatus(MgrUser.tableId);
if (checkRows.data.length === 0) {
Feng.error("请选择要导出的数据");
} else {
table.exportFile(tableResult.config.id, checkRows.data, 'xls');
}
/* 修改用户状态 */
OrganizationUser.changeUserStatus = function (userId, checked) {
new HttpRequest(Feng.ctxPath + "/sysUser/changeStatus", 'post', function (data) {
table.reload(OrganizationUser.tableId);
Feng.success("修改成功!");
}, function (data) {
table.reload(OrganizationUser.tableId);
Feng.error("修改失败!" + data.message);
}).set({"userId": userId, "statusFlag": checked}).start(true);
};
// 删除用户
MgrUser.onDeleteUser = function (data) {
/* 点击删除 */
OrganizationUser.onDeleteUser = function (data) {
var operation = function () {
var httpRequest = new HttpRequest(Feng.ctxPath + "/sysUser/delete", 'post', function (data) {
Feng.success("删除成功!");
table.reload(MgrUser.tableId);
table.reload(OrganizationUser.tableId);
}, function (data) {
Feng.error("删除失败!" + data.message + "!");
});
@ -110,23 +62,22 @@ layui.use(['layer', 'form', 'table', 'ztree', 'laydate', 'admin', 'HttpRequest',
};
Feng.confirm("是否删除用户" + data.account + "?", operation);
};
// 分配角色
MgrUser.roleAssign = function (data) {
OrganizationUser.roleAssign = function (data) {
func.open({
title: '授权角色',
height: 470,
content: Feng.ctxPath + '/view/user/roleView?userId=' + data.userId,
tableId: MgrUser.tableId
tableId: OrganizationUser.tableId
});
};
// 重置密码
MgrUser.resetPassword = function (data) {
OrganizationUser.resetPassword = function (data) {
Feng.confirm("是否重置密码为" + $("#defaultPassword").val() + "?", function () {
var httpRequest = new HttpRequest(Feng.ctxPath + "/sysUser/resetPwd", 'post', function (data) {
Feng.success("重置密码成功!");
table.reload(MgrUser.tableId);
table.reload(OrganizationUser.tableId);
}, function (data) {
Feng.error("重置密码失败!" + data.message + "!");
});
@ -135,70 +86,82 @@ layui.use(['layer', 'form', 'table', 'ztree', 'laydate', 'admin', 'HttpRequest',
});
};
// 修改用户状态
MgrUser.changeUserStatus = function (userId, checked) {
var httpRequest = new HttpRequest(Feng.ctxPath + "/sysUser/changeStatus", 'post', function (data) {
table.reload(MgrUser.tableId);
Feng.success("修改成功!");
}, function (data) {
table.reload(MgrUser.tableId);
Feng.error("修改失败!" + data.message);
});
httpRequest.set({"userId": userId, "statusFlag": checked});
httpRequest.start(true);
};
// 渲染表格
var tableResult = table.render({
elem: '#' + MgrUser.tableId,
/* 渲染树形 */
function renderTree() {
$.get(Feng.ctxPath + '/hrOrganization/treeLayui', function (res) {
tree.render({
elem: '#organizationTree',
onlyIconControl: true,
data: res.data,
click: function (obj) {
selObj = obj;
$('#organizationTree').find('.ew-tree-click').removeClass('ew-tree-click');
$(obj.elem).children('.layui-tree-entry').addClass('ew-tree-click');
insTb.reload({
where: {orgId: obj.data.id},
page: {curr: 1},
url: Feng.ctxPath + '/sysUser/page',
});
}
});
$('#organizationTree').find('.layui-tree-entry:first>.layui-tree-main>.layui-tree-txt').trigger('click');
});
}
renderTree();
/* 添加 */
$('#userAddBtn').click(function () {
OrganizationUser.openAddDlg();
return false;
});
/* 渲染表格 */
var insTb = table.render({
elem: '#userTable',
data: [],
height: 'full-100',
page: true,
height: "full-98",
//toolbar: '#organizationUserTbToolBar',
cellMinWidth: 100,
cols: MgrUser.initColumn(),
cols: [[
{type: 'checkbox'},
{field: 'userId', hide: true, sort: true, title: '用户id'},
{field: 'account', align: "center", sort: true, title: '账号'},
{field: 'realName', align: "center", sort: true, title: '姓名'},
{field: 'positionId', align: "center", sort: true, title: '职务'},
{field: 'phone', align: "center", sort: true, title: '电话'},
{field: 'status', align: "center", templet: '#statusTpl', title: '状态'},
{title: '操作', toolbar: '#userTbBar'}
]],
done: function () {
// 表格搜索
form.on('submit(organizationUserTbSearch)', function (data) {
insTb.reload({where: data.field, page: {curr: 1}});
return false;
});
},
parseData: Feng.parseData
});
// 初始化部门树
var request = new HttpRequest(Feng.ctxPath + '/hrOrganization/treeLayui', 'get', function (data) {
tree.render({
elem: '#deptTree',
data: data.data,
click: MgrUser.onClickDept,
onlyIconControl: true
});
});
request.start();
// 搜索按钮点击事件
$('#btnSearch').click(function () {
MgrUser.search();
/* 点击搜索 */
form.on('submit(userTbSearch)', function (data) {
insTb.reload({where: data.field});
return false;
});
// 添加按钮点击事件
$('#btnAdd').click(function () {
MgrUser.openAddUser();
});
// 导出excel
$('#btnExp').click(function () {
MgrUser.exportExcel();
});
// 工具条点击事件
table.on('tool(' + MgrUser.tableId + ')', function (obj) {
var data = obj.data;
var layEvent = obj.event;
if (layEvent === 'edit') {
MgrUser.onEditUser(data);
} else if (layEvent === 'delete') {
MgrUser.onDeleteUser(data);
} else if (layEvent === 'roleAssign') {
MgrUser.roleAssign(data);
} else if (layEvent === 'reset') {
MgrUser.resetPassword(data);
/* 表格工具条点击事件 */
table.on('tool(userTable)', function (obj) {
if (obj.event === 'edit') { // 修改
OrganizationUser.openEditDlg(obj.data);
} else if (obj.event === 'delete') { // 删除
OrganizationUser.onDeleteUser(obj.data);
} else if (obj.event === 'roleAssign') {
OrganizationUser.roleAssign(obj.data);
} else if (obj.event === 'reset') {
OrganizationUser.resetPassword(obj.data);
}
});
@ -206,15 +169,7 @@ layui.use(['layer', 'form', 'table', 'ztree', 'laydate', 'admin', 'HttpRequest',
form.on('switch(status)', function (obj) {
var userId = obj.elem.value;
var checked = obj.elem.checked ? 1 : 2;
MgrUser.changeUserStatus(userId, checked);
OrganizationUser.changeUserStatus(userId, checked);
});
});
$(function () {
var panehHidden = false;
if ($(this).width() < 769) {
panehHidden = true;
}
$('#myContiner').layout({initClosed: panehHidden, west__size: 260});
});

View File

@ -1,74 +0,0 @@
/**
* 用户详情对话框可用于添加和修改对话框
*/
var UserPwdPage = {
data: {
oldPassword: "",
newPassword: "",
repeatPassword: ""
}
};
/**
* 重置输入框
*/
UserPwdPage.reset = function () {
UserPwdPage.data.oldPassword = "";
UserPwdPage.data.newPassword = "";
UserPwdPage.data.repeatPassword = "";
};
/**
* 验证表单
*/
UserPwdPage.validateForm = function () {
var data = UserPwdPage.data;
if (!data.oldPassword) {
return "请输入旧密码";
}
if (!data.newPassword) {
return "请输入新密码";
}
if (!(data.newPassword === data.repeatPassword)) {
return "两次密码输入不一致";
}
return true;
};
/**
* 修改密码
*/
UserPwdPage.chPwd = function () {
var ajax = new $ax(Feng.ctxPath + "/mgr/changePwd", function (data) {
Feng.success("修改成功!");
}, function (data) {
Feng.error("修改失败!" + data.responseJSON.message + "!");
});
ajax.setData(UserPwdPage.data);
ajax.start();
};
$(function () {
UserPwdPage.app = new Vue({
el: '#passwordForm',
data: UserPwdPage.data,
methods: {
ensure: function () {
var validateForm = UserPwdPage.validateForm();
if (validateForm === true) {
UserPwdPage.chPwd();
} else {
Feng.alert(validateForm);
}
},
reset: function () {
UserPwdPage.reset();
}
}
});
});

View File

@ -1,6 +1,5 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
@ -9,12 +8,13 @@
<title>${constants.getSystemName()}</title>
<link rel="stylesheet" href="${ctxPath}/assets/common/libs/layui/css/layui.css?v=${constants.getReleaseVersion()}"/>
<link rel="stylesheet" href="${ctxPath}/assets/common/module/admin.css?v=${constants.getReleaseVersion()}"/>
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body class="layui-layout-body">
<div class="layui-layout layui-layout-admin">
<!-- 头部 -->
@include("/layout/_header.html"){}
@ -29,10 +29,10 @@
</div>
<!-- 加载动画移除位置在common.js中 -->
<!-- 加载动画 -->
@include("/layout/loading.html"){}
@/* 加入contextPath属性和session超时的配置 */
<!-- js全局变量 -->
<script type="text/javascript">
var Feng = {
ctxPath: "${ctxPath}",

View File

@ -1,23 +1,2 @@
@/* 框架的主界面 */
<div class="layui-body">
<div class="layui-tab" lay-allowClose="true" lay-filter="admin-pagetabs">
<ul class="layui-tab-title">
</ul>
<div class="layui-tab-content">
</div>
</div>
<div class="layui-icon admin-tabs-control layui-icon-prev" ew-event="leftPage"></div>
<div class="layui-icon admin-tabs-control layui-icon-next" ew-event="rightPage"></div>
<div class="layui-icon admin-tabs-control layui-icon-down">
<ul class="layui-nav admin-tabs-select" lay-filter="admin-pagetabs-nav">
<li class="layui-nav-item" lay-unselect>
<a href="javascript:;"></a>
<dl class="layui-nav-child layui-anim-fadein">
<dd ew-event="closeThisTabs" lay-unselect><a href="javascript:;">关闭当前标签页</a></dd>
<dd ew-event="closeOtherTabs" lay-unselect><a href="javascript:;">关闭其它标签页</a></dd>
<dd ew-event="closeAllTabs" lay-unselect><a href="javascript:;">关闭全部标签页</a></dd>
</dl>
</li>
</ul>
</div>
</div>
@/* 主体部分 */
<div class="layui-body"></div>

View File

@ -2,33 +2,38 @@
<html class="${bg!}">
@/**
@ * 本页面所用的模板变量
@ * 模板变量
@ *
@ * title : 页面的标题
@ * layoutContent : 主页面的html内容
@ * js : 业务所需要的js数组
@ * css : 业务所需要的css数组
@ * title : 标题
@ * layoutContent : html 代码块
@ * js : js 参数类型:数组
@ * css : css 参数类型:数组
@ * bg : 背景颜色
@ * plugins : 需要用到的插件,目前有["ztree"]
@ * plugins : 插件 参数类型:数组
@ **/
<head>
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link href="${ctxPath}/assets/expand/images/favicon.ico" rel="icon">
<title>${title!"管理系统"}</title>
<link rel="stylesheet" href="${ctxPath}/assets/common/libs/layui/css/layui.css?v=${constants.getReleaseVersion()}"/>
<link rel="stylesheet" href="${ctxPath}/assets/common/module/admin.css?v=${constants.getReleaseVersion()}" media="all"/>
<link rel="stylesheet" href="${ctxPath}/assets/expand/css/style.css?v=${constants.getReleaseVersion()}" media="all"/>
<link rel="stylesheet" href="${ctxPath}/assets/common/module/admin.css?v=${constants.getReleaseVersion()}"/>
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
<!--其他插件css-->
<!--插件css-->
@if(isNotEmpty(plugins)){
<!-- 此处由layui模块注册 建议弃用 -->
@if(array.contain(plugins,"ztree")){
<link href="${ctxPath}/assets/expand/plugins/ztree/zTreeStyle.css?v=${constants.getReleaseVersion()}" rel="stylesheet" type="text/css" />
@}
@}
@/* 其他业务用的css */
<!--业务css-->
@if(isNotEmpty(css)){
@for(item in css){
@if(strutil.startWith(item,"/")){
@ -41,32 +46,41 @@
<body>
@/* 页面加载loading */
@ include("/layout/loading.html"){}
@/* 正文 */
<!-- 正文开始 -->
${layoutContent}
<!-- 正文结束 -->
@/* 加入contextPath属性和session超时的配置 */
<!-- js全局变量 -->
<script type="text/javascript">
var Feng = {
ctxPath: "${ctxPath}",
version: '${constants.getReleaseVersion()}'
};
</script>
@/* js和业务用的js数组 */
<script type="text/javascript" src="${ctxPath}/assets/common/libs/layui/layui.js?v=${constants.getReleaseVersion()}"></script>
<script type="text/javascript" src="${ctxPath}/assets/common/js/common.js?v=${constants.getReleaseVersion()}"></script>
<!--其他插件js-->
<!-- 插件js -->
@if(isNotEmpty(plugins)){
<!-- ztree 由layui模块注册 建议弃用 -->
@if(array.contain(plugins,"ztree")){
<script src="${ctxPath}/assets/expand/plugins/jquery/jquery-3.2.1.min.js?v=${constants.getReleaseVersion()}"></script>
<script src="${ctxPath}/assets/expand/plugins/ztree/jquery.ztree.all.min.js?v=${constants.getReleaseVersion()}"></script>
@}
@if(array.contain(plugins,"ue")){
<script src="${ctxPath}/assets/expand/plugins/jquery/jquery-3.2.1.min.js?v=${constants.getReleaseVersion()}"></script>
<script src="${ctxPath}/assets/expand/plugins/ueditor/ueditor.config.js?v=${constants.getReleaseVersion()}"></script>
<script src="${ctxPath}/assets/expand/plugins/ueditor/ueditor.all.js?v=${constants.getReleaseVersion()}"></script>
@}
@if(array.contain(plugins,"tinymce")){
<script src="${ctxPath}/assets/common/libs/tinymce/tinymce.min.js?v=${constants.getReleaseVersion()}"></script>
@}
@if(array.contain(plugins,"pinyin")){
<script type="text/javascript" src="${ctxPath}/assets/common/libs/py/ChinesePY.js?v=${constants.getReleaseVersion()}"></script>
@}
@}
<!-- 业务js -->
@if(isNotEmpty(js)){
@for(item in js){
@if(strutil.startWith(item,"/")){

View File

@ -1,8 +1,5 @@
@/* 页脚 */
<div class="layui-footer">
Copyright © 2021 <a href="https://www.stylefeng.cn" target="_blank">stylefeng</a> All rights reserved.
<span class="pull-right">Version v7</span>
@/* 底部 */
<div class="layui-footer layui-text">
copyright © 2020 <a href="https://www.stylefeng.cn" target="_blank">GUNS</a> all rights reserved.
<span class="pull-right">Version 1.0</span>
</div>
@/* 手机屏幕遮罩层 */
<div class="site-mobile-shade"></div>

View File

@ -16,19 +16,26 @@
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link href="${ctxPath}/assets/expand/images/favicon.ico" rel="icon">
<title>${title!"管理系统"}</title>
<link rel="stylesheet" href="${ctxPath}/assets/common/libs/layui/css/layui.css?v=${constants.getReleaseVersion()}"/>
<link rel="stylesheet" href="${ctxPath}/assets/common/module/admin.css?v=${constants.getReleaseVersion()}" media="all"/>
<link rel="stylesheet" href="${ctxPath}/assets/common/module/admin.css?v=${constants.getReleaseVersion()}"/>
<!-- 扩展样式 -->
<link rel="stylesheet" href="${ctxPath}/assets/expand/css/form.css?v=${constants.getReleaseVersion()}" media="all"/>
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
<!--其他插件css-->
<!--插件css-->
@if(isNotEmpty(plugins)){
<!-- 此处由layui模块注册 建议弃用 -->
@if(array.contain(plugins,"ztree")){
<link href="${ctxPath}/assets/expand/plugins/ztree/zTreeStyle.css?v=${constants.getReleaseVersion()}" rel="stylesheet" type="text/css" />
@}
@}
@/* 其他业务用的css */
<!--业务css-->
@if(isNotEmpty(css)){
@for(item in css){
@if(strutil.startWith(item,"/")){
@ -41,26 +48,23 @@
<body>
@/* 页面加载loading */
@ include("/layout/loading.html"){}
@/* 正文 */
<!-- 正文开始 -->
${layoutContent}
<!-- 正文结束 -->
@/* 加入contextPath属性和session超时的配置 */
<!-- js全局变量 -->
<script type="text/javascript">
var Feng = {
ctxPath: "${ctxPath}",
version: '${constants.getReleaseVersion()}'
};
</script>
@/* js和业务用的js数组 */
<script type="text/javascript" src="${ctxPath}/assets/common/libs/layui/layui.js?v=${constants.getReleaseVersion()}"></script>
<script type="text/javascript" src="${ctxPath}/assets/common/js/common.js?v=${constants.getReleaseVersion()}"></script>
<!--其他插件js-->
@if(isNotEmpty(plugins)){
<!-- ztree 由layui模块注册 建议弃用 -->
@if(array.contain(plugins,"ztree")){
<script src="${ctxPath}/assets/expand/plugins/jquery/jquery-3.2.1.min.js?v=${constants.getReleaseVersion()}"></script>
<script src="${ctxPath}/assets/expand/plugins/ztree/jquery.ztree.all.min.js?v=${constants.getReleaseVersion()}"></script>
@ -78,6 +82,7 @@ ${layoutContent}
@}
@}
<!-- 业务js -->
@if(isNotEmpty(js)){
@for(item in js){
@if(strutil.startWith(item,"/")){

View File

@ -1,4 +1,4 @@
@/* 框架顶部 */
@/* 部 */
<div class="layui-header">
<div class="layui-logo">
<!--<img src="${ctxPath}/assets/common/images/logo.png"/>-->
@ -18,14 +18,25 @@
<li class="layui-nav-item layui-hide-xs" lay-unselect><a nav-bind="${item.appCode}">${item.appName}</a></li>
@}
@}
<!-- 小屏幕下变为下拉形式 -->
<li class="layui-nav-item layui-hide-sm layui-show-xs-inline-block" lay-unselect>
<a>更多</a>
<dl class="layui-nav-child">
@if(objectUtil.isNotEmpty(layuiAppIndexMenus)){
@for(item in layuiAppIndexMenus) {
<dd lay-unselect><a nav-bind="${item.appCode}">${item.appName}</a></dd>
@}
@}
</dl>
</li>
</ul>
<ul class="layui-nav layui-layout-right">
<li class="layui-nav-item" lay-unselect="">
<a ew-event="message" title="消息" data-url="${ctxPath}/view/message">
<i class="layui-icon layui-icon-notice"></i>
<!-- 未读消息气泡提示 -->
@if(msgUnReadCount>0){
<span id="msg-dot" class="layui-badge-dot "></span>
<span class="layui-badge-dot"></span>
@}
</a>
</li>
@ -41,16 +52,10 @@
<cite>${name!"用户"}</cite>
</a>
<dl class="layui-nav-child">
<dd lay-unselect>
<a ew-href="${ctxPath}/view/personal">个人中心</a>
</dd>
<dd lay-unselect>
<a id="setPsw">修改密码</a>
</dd>
<dd lay-unselect><a ew-href="${ctxPath}/view/personal">个人中心</a></dd>
<dd lay-unselect><a id="setPsw">修改密码</a></dd>
<hr>
<dd lay-unselect>
<a id="btnLogout">退出</a>
</dd>
<dd lay-unselect><a id="btnLogout">退出</a></dd>
</dl>
</li>
<li class="layui-nav-item" lay-unselect>

View File

@ -3,7 +3,7 @@
<div class="layui-side-scroll">
@for(item in layuiAppIndexMenus){
<ul class="layui-nav layui-nav-tree arrow2" nav-id="${item.appCode}" lay-shrink="all" lay-filter="admin-side-nav" style="margin-top: 15px;">
<ul class="layui-nav layui-nav-tree" nav-id="${item.appCode}" lay-shrink="all" lay-filter="admin-side-nav" style="margin: 15px 0;">
@for(menu in item.layuiIndexMenuTreeNodes) {
@if(objectUtil.isEmpty(menu.children)){
<li class="layui-nav-item">

View File

@ -1,4 +1,4 @@
@/* 页面加载loading */
@/* 加载动画 */
<div class="page-loading">
<div class="ball-loader">
<span></span><span></span><span></span><span></span>

View File

@ -1,23 +1,64 @@
@layout("/layout/_tree_container.html", {plugins:["jquery-layout"], js:["/assets/modular/api/api.js"]}){
@layout("/layout/_container.html",{js:["/assets/modular/api/api.js"]}){
<style>
/* 左树 */
#organizationTreeBar {
padding: 10px 15px;
border: 1px solid #e6e6e6;
background-color: #f2f2f2;
}
<div class="layui-body-header">
<span class="layui-body-header-title">API接口文档</span>
</div>
#organizationTree {
border: 1px solid #e6e6e6;
border-top: none;
padding: 10px 5px;
overflow: auto;
height: -webkit-calc(100vh - 125px);
height: -moz-calc(100vh - 125px);
height: calc(100vh - 125px);
}
<div id="myContiner" style="height: 100%">
<div class="ui-layout-west">
<div class="box box-main">
<div class="ui-layout-content">
<div id="apiTree"></div>
</div>
</div>
</div>
<div class="ui-layout-center" style="height: 97%;overflow: scroll">
<div class="layui-fluid">
<div class="layui-row">
<div class="layui-col-md12">
.layui-tree-entry .layui-tree-txt {
padding: 0 5px;
border: 1px transparent solid;
text-decoration: none !important;
}
.layui-tree-entry.ew-tree-click .layui-tree-txt {
background-color: #fff3e0;
border: 1px #FFE6B0 solid;
}
/* 右表搜索表单 */
#organizationUserTbSearchForm .layui-form-label {
box-sizing: border-box !important;
width: 90px !important;
}
#organizationUserTbSearchForm .layui-input-block {
margin-left: 90px !important;
}
</style>
</head>
<body>
<!-- 正文开始 -->
<div class="layui-fluid" style="padding-bottom: 0;">
<div class="layui-row layui-col-space15">
<div class="layui-col-md2">
<div class="layui-card">
<div class="layui-card-body">
<div class="layui-card-body" style="padding: 10px;">
<!-- 树工具栏 -->
<div class="layui-form toolbar" id="organizationTreeBar">
</div>
<!-- 左树 -->
<div id="organizationTree"></div>
</div>
</div>
</div>
<div class="layui-col-md10">
<div class="layui-card">
<div class="layui-card-body" style="padding: 10px;">
<div class="layui-form-item layui-row">
<fieldset class="layui-elem-field layui-field-title" style="margin-top: 20px;">
<legend>接口详情</legend>
</fieldset>
@ -83,8 +124,6 @@
</fieldset>
<table class="layui-hide" id="responseParamsTable" lay-filter="responseParamsTable"></table>
</div>
</div>
</div>
</div>

View File

@ -7,13 +7,13 @@
<div class="layui-form-item layui-row">
<input name="deptId" type="hidden"/>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">应用名称<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">应用名称</label>
<div class="layui-input-block">
<input name="appName" placeholder="请输入应用名称" type="text" class="layui-input" lay-verify="required" required autocomplete="off"/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">应用编码<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">应用编码</label>
<div class="layui-input-block">
<input name="appCode" placeholder="请输入应用编码" type="text" class="layui-input" lay-verify="required" required autocomplete="off"/>
</div>

View File

@ -7,15 +7,15 @@
<div class="layui-form-item layui-row">
<input name="appId" type="hidden"/>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">应用名称<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">应用名称</label>
<div class="layui-input-block">
<input name="appName" placeholder="请输入应用名称" type="text" class="layui-input" lay-verify="required" required autocomplete="off"/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">应用编码<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">应用编码</label>
<div class="layui-input-block">
<input name="appCode" placeholder="请输入应用编码" type="text" class="layui-input layui-disabled" lay-verify="required" disabled required autocomplete="off"/>
<input name="appCode" placeholder="请输入应用编码" type="text" class="layui-input" lay-verify="required" required autocomplete="off"/>
</div>
</div>
</div>

View File

@ -8,26 +8,26 @@
<div class="layui-form-item layui-row">
<input name="menuId" type="hidden"/>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">菜单名称<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">菜单名称</label>
<div class="layui-input-block">
<input name="menuName" placeholder="请输入菜单名称" type="text" class="layui-input" lay-verify="required" required/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">菜单编号<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">菜单编号</label>
<div class="layui-input-block">
<input name="menuCode" placeholder="请输入菜单编号" type="text" class="layui-input" lay-verify="required" required/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">父级菜单<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">父级菜单</label>
<div class="layui-input-block">
<input id="menuParentId" name="menuParentId" type="hidden">
<input id="menuParentName" name="menuParentName" placeholder="请选择父级菜单" type="text" class="layui-input" autocomplete="off" lay-verify="required" required/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">菜单的路径<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">菜单路径</label>
<div class="layui-input-block">
<input id="layuiPath" name="layuiPath" placeholder="请输入菜单的路径" type="text" class="layui-input" autocomplete="off"/>
</div>
@ -39,7 +39,7 @@
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">所属应用<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">所属应用</label>
<div class="layui-input-block" id="dictDetails">
<input type="radio" name="appCode" value="" title="无" disabled="disabled">
</div>

View File

@ -8,26 +8,26 @@
<div class="layui-form-item layui-row">
<input name="menuId" type="hidden"/>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">菜单名称<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">菜单名称</label>
<div class="layui-input-block">
<input name="menuName" placeholder="请输入菜单名称" type="text" class="layui-input" lay-verify="required" required/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">菜单编号<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">菜单编号</label>
<div class="layui-input-block">
<input name="menuCode" placeholder="请输入菜单编号" type="text" class="layui-input" lay-verify="required" required/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">父级菜单<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">父级菜单</label>
<div class="layui-input-block">
<input id="menuParentId" name="menuParentId" type="hidden">
<input id="menuParentName" name="menuParentName" placeholder="请选择父级菜单" type="text" class="layui-input" autocomplete="off" lay-verify="required" required/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">菜单的路径<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">菜单路径</label>
<div class="layui-input-block">
<input id="layuiPath" name="layuiPath" placeholder="请输入菜单的路径" type="text" class="layui-input" autocomplete="off"/>
</div>
@ -39,7 +39,7 @@
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">所属应用<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">所属应用</label>
<div class="layui-input-block" id="dictDetails">
<input type="radio" name="appCode" value="" title="无" disabled="disabled">
</div>

View File

@ -5,14 +5,12 @@
<div class="layui-card">
<div class="layui-card-body">
<div class="layui-form-item layui-row">
<div class="layui-inline layui-col-md6">
<label class="layui-form-label">应用标识</label>
<div class="layui-input-block">
<input name="appCode" type="text" class="layui-input"/>
</div>
</div>
<div class="layui-inline layui-col-md6">
<label class="layui-form-label">资源标识</label>
<div class="layui-input-block">
@ -76,13 +74,12 @@
</div>
</div>
<div class="layui-inline layui-col-md6">
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">请求路径</label>
<div class="layui-input-block">
<input name="url" type="text" class="layui-input"/>
</div>
</div>
<div class="layui-inline layui-col-md6">
<label class="layui-form-label">请求方法</label>
<div class="layui-input-block">

View File

@ -33,17 +33,25 @@
@if(loginUser.haveButton("BUTTON_ROLE_EDIT")){
<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="edit">修改</a>
@}
@if(loginUser.haveButton("BUTTON_ROLE_EDIT")){
<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="editDataScope">设置数据范围</a>
@}
@if(loginUser.haveButton("BUTTON_ROLE_DELETE")){
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="delete">删除</a>
@}
@if(loginUser.haveButton("BUTTON_ROLE_EDIT")||loginUser.haveButton("BUTTON_ROLE_ASSIGN_MENU_BUTTON")||loginUser.haveButton("BUTTON_ROLE_ASSIGN_RESOURCE")){
<a class="layui-btn layui-btn-xs" data-dropdown="#userTbDrop{{d.LAY_INDEX}}" no-shade="true">
更多<i class="layui-icon layui-icon-drop" style="font-size: 12px;margin-right: 0;"></i></a>
<!-- 下拉菜单 -->
<ul class="dropdown-menu-nav dropdown-bottom-right layui-hide" id="userTbDrop{{d.LAY_INDEX}}">
<div class="dropdown-anchor"></div>
@if(loginUser.haveButton("BUTTON_ROLE_EDIT")){
<li><a lay-event="editDataScope">设置数据范围</a></li>
@}
@if(loginUser.haveButton("BUTTON_ROLE_ASSIGN_MENU_BUTTON")){
<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="assignMenu">分配菜单按钮</a>
<li><a lay-event="assignMenu">分配菜单按钮</a></li>
@}
@if(loginUser.haveButton("BUTTON_ROLE_ASSIGN_RESOURCE")){
<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="assignApi">分配接口</a>
<li><a lay-event="assignApi">分配接口</a></li>
@}
</ul>
@}
</script>
@}

View File

@ -8,19 +8,19 @@
<div class="layui-form-item layui-row">
<input name="roleId" type="hidden"/>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">角色名称<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">角色名称</label>
<div class="layui-input-block">
<input name="roleName" placeholder="请输入角色名称" type="text" class="layui-input" lay-verify="required" required autocomplete="off"/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">角色编码<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">角色编码</label>
<div class="layui-input-block">
<input name="roleCode" placeholder="角色编码" type="text" class="layui-input" lay-verify="required" required autocomplete="off"/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">排序<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">排序</label>
<div class="layui-input-block">
<input name="roleSort" placeholder="排序" type="text" class="layui-input" lay-verify="required" required autocomplete="off"/>
</div>

View File

@ -8,19 +8,19 @@
<div class="layui-form-item layui-row">
<input name="roleId" type="hidden"/>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">角色名称<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">角色名称</label>
<div class="layui-input-block">
<input name="roleName" placeholder="请输入角色名称" type="text" class="layui-input" lay-verify="required" required autocomplete="off"/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">角色编码<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">角色编码</label>
<div class="layui-input-block">
<input name="roleCode" placeholder="角色编码" type="text" class="layui-input layui-disabled" lay-verify="required" disabled="disabled" required autocomplete="off"/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">排序<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">排序</label>
<div class="layui-input-block">
<input name="roleSort" placeholder="排序" type="text" class="layui-input" lay-verify="required" required autocomplete="off"/>
</div>

View File

@ -7,13 +7,13 @@
<div class="layui-form-item layui-row">
<input name="roleId" type="hidden"/>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label" style="width: 120px">角色名称<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">角色名称</label>
<div class="layui-input-block" style="margin-left: 150px">
<input name="roleName" placeholder="请输入角色名称" type="text" class="layui-input layui-disabled" lay-verify="required" disabled="disabled" required autocomplete="off"/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label" style="width: 120px">数据范围类型<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">数据范围</label>
<div class="layui-input-block" style="margin-left: 150px">
<input type="radio" name="dataScopeType" lay-filter="dataScopeType" value="10" title="仅本人数据">
<input type="radio" name="dataScopeType" lay-filter="dataScopeType" value="20" title="本部门数据">
@ -24,7 +24,7 @@
</div>
<div class="layui-inline layui-col-md12 layui-hide" id="deptTreeContext">
<label class="layui-form-label" style="width: 120px">指定部门选择<span style="color: red;">*</span></label>
<label class="layui-form-label" style="width: 120px">指定部门选择</label>
<div class="layui-input-block" style="margin-left: 150px">
<ul id="deptTree" class="ztree" style="background: #f2f7f8;"></ul>
</div>

View File

@ -1,38 +0,0 @@
@layout("/layout/_container.html",{js:["/assets/modular/system/dict/dict.js"]}){
<div class="layui-body-header">
<span class="layui-body-header-title">字典管理(字典类型:<span style="color: #1E9FFF;">${dictTypeName}</span></span>
</div>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-sm12 layui-col-md12 layui-col-lg12">
<div class="layui-card">
<div class="layui-card-body">
<div class="layui-form toolbar">
<div class="layui-form-item">
<div class="layui-inline">
<input type="hidden" id="dictTypeId" value="${dictTypeId}"/>
<input type="hidden" id="dictTypeCode" value="${dictTypeCode}"/>
<input id="condition" class="layui-input" type="text" placeholder="名称/编码" autocomplete="off"/>
</div>
<div class="layui-inline">
<button id="btnSearch" class="layui-btn icon-btn"><i class="layui-icon">&#xe615;</i>搜索</button>
<button id="btnAdd" class="layui-btn icon-btn"><i class="layui-icon">&#xe654;</i>添加</button>
<button id="btnBack" class="layui-btn icon-btn layui-btn-normal"><i class="layui-icon">&#xe65c;</i>返回</button>
</div>
</div>
</div>
<table class="layui-table" id="dictTable" lay-filter="dictTable"></table>
</div>
</div>
</div>
</div>
</div>
<script type="text/html" id="tableBar">
<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="edit">修改</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="delete">删除</a>
</script>
@}

View File

@ -0,0 +1,109 @@
@layout("/layout/_container.html",{js:["/assets/modular/system/dict/dictType.js"]}){
<style>
#dictTypeTable + .layui-table-view .layui-table-tool-temp {
padding-right: 0;
}
#dictTypeTable + .layui-table-view .layui-table-body tbody > tr td {
cursor: pointer;
}
#dictTypeTable + .layui-table-view .layui-table-body tbody > tr.layui-table-click {
background-color: #fff3e0;
}
#dictTypeTable + .layui-table-view .layui-table-body tbody > tr.layui-table-click td:last-child > div:before {
position: absolute;
right: 6px;
content: "\e602";
font-size: 12px;
font-style: normal;
font-family: layui-icon !important;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
</style>
<div class="layui-fluid" style="padding-bottom: 0;">
<div class="layui-row layui-col-space15">
<div class="layui-col-md3">
<div class="layui-card">
<div class="layui-card-body" style="padding: 10px;">
<!-- 表格工具栏1 -->
<form class="layui-form toolbar">
<div class="layui-form-item">
<div class="layui-inline" style="max-width: 140px;">
<input name="dictTypeName" class="layui-input" type="text" placeholder="类型" autocomplete="off"/>
</div>
<!--
<div class="layui-inline" style="max-width: 140px;">
<input name="dictTypeCode" class="layui-input" type="text" placeholder="编码" autocomplete="off"/>
</div>-->
<div class="layui-inline">
<button class="layui-btn icon-btn" lay-filter="dictTypeTbSearch" lay-submit>
<i class="layui-icon">&#xe615;</i>搜索
</button>
</div>
</div>
</form>
<!-- 数据表格1 -->
<table id="dictTypeTable" lay-filter="dictTypeTable"></table>
</div>
</div>
</div>
<div class="layui-col-md9">
<div class="layui-card">
<div class="layui-card-body" style="padding: 10px;">
<!-- 表格工具栏2 -->
<form class="layui-form toolbar">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">字典名称:</label>
<div class="layui-input-inline">
<input name="dictName" class="layui-input" placeholder="输入字典名称"/>
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">字典编码:</label>
<div class="layui-input-inline">
<input name="dictCode" class="layui-input" placeholder="输入字典键值"/>
</div>
</div>
<div class="layui-inline">&emsp;
<button class="layui-btn icon-btn" lay-filter="dictTbSearch" lay-submit><i class="layui-icon">&#xe615;</i>搜索</button>
<button id="btnAdd" class="layui-btn icon-btn"><i class="layui-icon">&#xe654;</i>添加</button>
</div>
</div>
</form>
<!-- 数据表格2 -->
<table id="dictTable" lay-filter="dictTable"></table>
</div>
</div>
</div>
</div>
</div>
<!-- 表格头部操作列 -->
<script type="text/html" id="dictTypeHtbBar">
<button lay-event="add" class="layui-btn layui-btn-sm icon-btn"><i class="layui-icon">&#xe654;</i>添加</button>
<button lay-event="edit" class="layui-btn layui-btn-sm layui-btn-warm icon-btn"><i class="layui-icon">&#xe642;</i>修改</button>
<button lay-event="del" class="layui-btn layui-btn-sm layui-btn-danger icon-btn"><i class="layui-icon">&#xe640;</i>删除</button>
</script>
<!-- 表格头部操作列结束 -->
<!-- 表格头部操作列 -->
<script type="text/html" id="dictHtbBar">
<button lay-event="add" class="layui-btn layui-btn-sm icon-btn"><i class="layui-icon">&#xe654;</i>添加</button>
<button lay-event="del" class="layui-btn layui-btn-sm layui-btn-danger icon-btn"><i class="layui-icon">&#xe640;</i>删除</button>
</script>
<!-- 表格头部操作列结束 -->
<!-- 表格操作列 -->
<script type="text/html" id="dictTbBar">
<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="edit">修改</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>
<!-- 表格操作列结束 -->
@}

View File

@ -1,28 +1,32 @@
@layout("/layout/_form.html",{js:["/assets/modular/system/dictType/dictType_add.js"]}){
@layout("/layout/_form.html",{js:["/assets/modular/system/dict/dictType_add.js"]}){
<form class="layui-form" id="dictTypeForm" lay-filter="dictTypeForm">
<div class="layui-fluid" style="padding-bottom: 75px;">
<div class="layui-card">
<div class="layui-card-header">基本信息</div>
<div class="layui-card-body">
<div class="layui-form-item layui-row">
<input name="dictTypeId" type="hidden"/>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">名称<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">名称</label>
<div class="layui-input-block">
<input id="dictTypeName" name="dictTypeName" placeholder="请输入字典类型名称,例如:状态标识" type="text" class="layui-input" lay-verify="required" required/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">系统字典<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">系统字典</label>
<div class="layui-input-block">
<input type="radio" name="dictTypeClass" value="1" title="业务类型" lay-filter="dictTypeClass" checked="">
<input type="radio" name="dictTypeClass" value="2" title="系统类型" lay-filter="dictTypeClass">
</div>
<div class="layui-form-mid layui-word-aux">系统类型与代码中枚举关联,添加后不可修改</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<div class="layui-input-block">
<blockquote class="layui-elem-quote">系统类型与代码中枚举关联,添加后不可修改</blockquote>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">类型编码<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">类型编码</label>
<div class="layui-input-block">
<input id="dictTypeCode" name="dictTypeCode" placeholder="请输入字典类型编码例如STATUS" type="text" class="layui-input" lay-verify="required" required/>
</div>

View File

@ -1,34 +1,38 @@
@layout("/layout/_form.html",{js:["/assets/modular/system/dictType/dictType_edit.js"]}){
@layout("/layout/_form.html",{js:["/assets/modular/system/dict/dictType_edit.js"]}){
<form class="layui-form" id="dictTypeForm" lay-filter="dictTypeForm">
<div class="layui-fluid" style="padding-bottom: 75px;">
<div class="layui-card">
<div class="layui-card-header">基本信息</div>
<div class="layui-card-body">
<div class="layui-form-item layui-row">
<input name="dictTypeId" type="hidden"/>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">名称<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">名称</label>
<div class="layui-input-block">
<input id="dictTypeName" name="dictTypeName" placeholder="请输入字典类型名称,例如:状态标识" type="text" class="layui-input" lay-verify="required" required/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">系统字典<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">系统字典</label>
<div class="layui-input-block">
<input type="radio" name="dictTypeClass" value="1" title="业务类型" lay-filter="dictTypeClass" checked="">
<input type="radio" name="dictTypeClass" value="2" title="系统类型" lay-filter="dictTypeClass">
</div>
<div class="layui-form-mid layui-word-aux">系统类型与代码中枚举关联,添加后不可修改</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<div class="layui-input-block">
<blockquote class="layui-elem-quote">系统类型与代码中枚举关联,添加后不可修改</blockquote>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">类型编码<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">类型编码</label>
<div class="layui-input-block">
<input id="dictTypeCode" name="dictTypeCode" placeholder="请输入字典类型编码例如STATUS" type="text" class="layui-input" lay-verify="required" required/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">业务编码<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">业务编码</label>
<div class="layui-input-block">
<input id="dictTypeBusCode" name="dictTypeBusCode" placeholder="请输入字典业务编码" type="text" class="layui-input"/>
</div>

View File

@ -3,48 +3,40 @@
<form class="layui-form" id="dictForm" lay-filter="dictForm">
<div class="layui-fluid" style="padding-bottom: 75px;">
<div class="layui-card">
<div class="layui-card-header">基本信息</div>
<div class="layui-card-body">
<div class="layui-form-item layui-row">
<input id="dictTypeId" name="dictTypeId" type="hidden" value="${dictTypeId}"/>
<input id="dictTypeCode" name="dictTypeCode" type="hidden" value="${dictTypeCode}"/>
<input id="dictTypeId" name="dictTypeId" type="hidden"/>
<input id="dictTypeCode" name="dictTypeCode" type="hidden"/>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">字典类型</label>
<label class="layui-form-label layui-form-required">字典类型</label>
<div class="layui-input-block">
<input type="text" class="layui-input white-border layui-disabled" value="${dictTypeName}" disabled="disabled"/>
<input id="dictTypeName" name="dictTypeName" placeholder="" type="text" class="layui-input" lay-verify="required" readonly/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">字典名称<span style="color: red;">*</span></label>
<div class="layui-inline layui-col-md6">
<label class="layui-form-label layui-form-required">字典名称</label>
<div class="layui-input-block">
<input id="dictName" name="dictName" placeholder="请输入字典名称" type="text" class="layui-input" lay-verify="required" required/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">简称</label>
<div class="layui-inline layui-col-md6">
<label class="layui-form-label">字典简称</label>
<div class="layui-input-block">
<input id="dictShortName" name="dictShortName" placeholder="请输入简称" type="text" class="layui-input"/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">字典编码<span style="color: red;">*</span></label>
<div class="layui-inline layui-col-md6">
<label class="layui-form-label layui-form-required">字典编码</label>
<div class="layui-input-block">
<input id="dictCode" name="dictCode" placeholder="请输入字典编码" type="text" class="layui-input" lay-verify="required" required/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<div class="layui-inline layui-col-md6">
<label class="layui-form-label">编码简写</label>
<div class="layui-input-block">
<input id="dictShortCode" name="dictShortCode" placeholder="请输入编码简写" type="text" class="layui-input"/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">上级字典<span style="color: red;">*</span></label>
<div class="layui-input-block">
<input id="dictParentId" name="dictParentId" type="hidden" class="layui-input" lay-verify="required" required/>
<input id="parentName" name="parentName" placeholder="请选择上级字典,如没有请选择顶级" type="text" class="layui-input" lay-verify="required" required readonly="readonly"/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">排序</label>
<div class="layui-input-block">

View File

@ -6,46 +6,40 @@
<div class="layui-card-header">基本信息</div>
<div class="layui-card-body">
<div class="layui-form-item layui-row">
<input id="dictId" name="dictId" type="hidden"/>
<input id="dictTypeId" name="dictTypeId" type="hidden"/>
<input id="dictTypeCode" name="dictTypeCode" type="hidden"/>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">字典类型</label>
<label class="layui-form-label layui-form-required">字典类型</label>
<div class="layui-input-block">
<input id="dictId" name="dictId" type="hidden" value="${dictId}"/>
<input id="dictTypeCode" name="dictTypeCode" type="hidden" value="${dictTypeCode}"/>
<input type="text" class="layui-input white-border layui-disabled" value="${dictTypeName}" disabled="disabled"/>
<input id="dictTypeName" name="dictTypeName" placeholder="" type="text" class="layui-input" lay-verify="required" readonly/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">字典名称<span style="color: red;">*</span></label>
<div class="layui-inline layui-col-md6">
<label class="layui-form-label layui-form-required">字典名称</label>
<div class="layui-input-block">
<input id="dictName" name="dictName" placeholder="请输入字典名称" type="text" class="layui-input" lay-verify="required" required/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">简称</label>
<div class="layui-inline layui-col-md6">
<label class="layui-form-label">字典简称</label>
<div class="layui-input-block">
<input id="dictShortName" name="dictShortName" placeholder="请输入简称" type="text" class="layui-input"/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">字典编码<span style="color: red;">*</span></label>
<div class="layui-inline layui-col-md6">
<label class="layui-form-label layui-form-required">字典编码</label>
<div class="layui-input-block">
<input id="dictCode" name="dictCode" placeholder="请输入字典编码" type="text" class="layui-input layui-disabled" lay-verify="required" disabled required/>
<input id="dictCode" name="dictCode" placeholder="请输入字典编码" type="text" class="layui-input" lay-verify="required" required/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<div class="layui-inline layui-col-md6">
<label class="layui-form-label">编码简写</label>
<div class="layui-input-block">
<input id="dictShortCode" name="dictShortCode" placeholder="请输入编码简写" type="text" class="layui-input"/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">上级字典<span style="color: red;">*</span></label>
<div class="layui-input-block">
<input id="dictParentId" name="dictParentId" type="hidden" class="layui-input" lay-verify="required" required/>
<input id="parentName" name="parentName" placeholder="请选择上级字典,如没有请选择顶级" type="text" class="layui-input" lay-verify="required" required readonly="readonly"/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">排序</label>
<div class="layui-input-block">

View File

@ -1,53 +0,0 @@
@layout("/layout/_container.html",{js:["/assets/modular/system/dictType/dictType.js"]}){
<div class="layui-body-header">
<span class="layui-body-header-title">字典类型表管理</span>
</div>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-sm12 layui-col-md12 layui-col-lg12">
<div class="layui-card">
<div class="layui-card-body">
<div class="layui-form toolbar">
<div class="layui-form-item">
<div class="layui-inline">
<input id="dictTypeName" class="layui-input" type="text" placeholder="名称/编码" autocomplete="off"/>
</div>
<div class="layui-inline">
<select id="dictTypeClass">
<option value="">字典类型</option>
<option value="1">业务类型</option>
<option value="2">系统类型</option>
</select>
</div>
<div class="layui-inline">
<select id="statusFlag">
<option value="">状态</option>
<option value="1">启用</option>
<option value="2">禁用</option>
</select>
</div>
<div class="layui-inline">
<button id="btnSearch" class="layui-btn icon-btn"><i class="layui-icon">&#xe615;</i>搜索</button>
<button id="btnAdd" class="layui-btn icon-btn"><i class="layui-icon">&#xe654;</i>添加类型</button>
</div>
</div>
</div>
<table class="layui-table" id="dictTypeTable" lay-filter="dictTypeTable"></table>
</div>
</div>
</div>
</div>
</div>
<script type="text/html" id="tableBar">
<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="edit">修改</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="delete">删除</a>
</script>
<script type="text/html" id="statusFlagTpl">
<input type="checkbox" lay-filter="statusFlag" value="{{d.dictTypeId}}" lay-skin="switch" lay-text="正常|禁用" {{d.statusFlag=='1'?'checked':''}}/>
</script>
@}

View File

@ -8,7 +8,7 @@
<div class="layui-form-item layui-row">
<input name="noticeId" type="hidden"/>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">通知标题<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">通知标题</label>
<div class="layui-input-block">
<input name="noticeTitle" placeholder="请输入通知标题" type="text" class="layui-input" lay-verify="required" required autocomplete="off"/>
</div>
@ -20,7 +20,7 @@
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">优先级<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">优先级</label>
<div class="layui-input-block">
<tag:dict_select id="priorityLevel" name="priorityLevel" type="select" head-type="2" head-name="" head-value="" default-value="" dict-type-code="priority_level" lay-verify="required" >
@ -34,20 +34,20 @@
<!-- <input name="priorityLevel" placeholder="请输入通知优先级" type="text" class="layui-input" lay-verify="required" required autocomplete="off"/>-->
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">开始时间<span style="color: red;">*</span></label>
<div class="layui-inline layui-col-md6">
<label class="layui-form-label layui-form-required">开始时间</label>
<div class="layui-input-block">
<input name="noticeBeginTime" placeholder="请输入开始时间" type="text" class="layui-input date-icon date-input" lay-verify="required" required autocomplete="off"/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">结束时间<span style="color: red;">*</span></label>
<div class="layui-inline layui-col-md6">
<label class="layui-form-label layui-form-required">结束时间</label>
<div class="layui-input-block">
<input name="noticeEndTime" placeholder="请输入结束时间" type="text" class="layui-input date-icon date-input" lay-verify="required" required autocomplete="off"/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">通知范围<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">通知范围</label>
<div class="layui-input-block">
<select id="noticeScopeSelect" name="noticeScope" lay-verify="required" lay-filter="noticeScopeFilter">
<option value="all">全部用户</option>

View File

@ -8,7 +8,7 @@
<div class="layui-form-item layui-row">
<input name="noticeId" type="hidden"/>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">通知标题<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">通知标题</label>
<div class="layui-input-block">
<input name="noticeTitle" placeholder="请输入通知标题" type="text" class="layui-input" lay-verify="required" required autocomplete="off"/>
</div>
@ -20,26 +20,26 @@
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">优先级<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">优先级</label>
<div class="layui-input-block">
<tag:dict_select id="priorityLevel" name="priorityLevel" type="select" head-type="2" head-name="" head-value="" default-value="" dict-type-code="priority_level" lay-verify="required" >
</tag:dict_select>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">开始时间<span style="color: red;">*</span></label>
<div class="layui-inline layui-col-md6">
<label class="layui-form-label layui-form-required">开始时间</label>
<div class="layui-input-block">
<input name="noticeBeginTime" placeholder="请输入开始时间" type="text" class="layui-input date-icon date-input" lay-verify="required" required autocomplete="off"/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">结束时间<span style="color: red;">*</span></label>
<div class="layui-inline layui-col-md6">
<label class="layui-form-label layui-form-required">结束时间</label>
<div class="layui-input-block">
<input name="noticeEndTime" placeholder="请输入结束时间" type="text" class="layui-input date-icon date-input" lay-verify="required" required autocomplete="off"/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">通知范围<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">通知范围</label>
<div class="layui-input-block">
<select id="noticeScopeSelect" name="noticeScope" lay-verify="required" lay-filter="noticeScopeFilter">
<option value="all">全部用户</option>

View File

@ -1,55 +1,97 @@
@layout("/layout/_tree_container.html",{plugins:["jquery-layout"],js:["/assets/modular/system/organization/organization.js"]}){
@layout("/layout/_container.html",{js:["/assets/modular/system/organization/organization.js"]}){
<style>
/* 左树 */
#organizationTreeBar {
padding: 10px 15px;
border: 1px solid #e6e6e6;
background-color: #f2f2f2;
}
<div class="layui-body-header">
<span class="layui-body-header-title">机构管理</span>
</div>
#organizationTree {
border: 1px solid #e6e6e6;
border-top: none;
padding: 10px 5px;
overflow: auto;
height: -webkit-calc(100vh - 125px);
height: -moz-calc(100vh - 125px);
height: calc(100vh - 125px);
}
<div id="myContiner" style="height: 100%">
<div class="ui-layout-west">
<div class="box box-main">
<div class="ui-layout-content">
<div id="deptTree"></div>
</div>
</div>
</div>
<div class="ui-layout-center">
<div class="layui-fluid">
<div class="layui-row">
<div class="layui-col-md12">
.layui-tree-entry .layui-tree-txt {
padding: 0 5px;
border: 1px transparent solid;
text-decoration: none !important;
}
.layui-tree-entry.ew-tree-click .layui-tree-txt {
background-color: #fff3e0;
border: 1px #FFE6B0 solid;
}
/* 右表搜索表单 */
#organizationUserTbSearchForm .layui-form-label {
box-sizing: border-box !important;
width: 90px !important;
}
#organizationUserTbSearchForm .layui-input-block {
margin-left: 90px !important;
}
</style>
</head>
<body>
<!-- 正文开始 -->
<div class="layui-fluid" style="padding-bottom: 0;">
<div class="layui-row layui-col-space15">
<div class="layui-col-md2">
<div class="layui-card">
<div class="layui-card-body">
<div class="layui-form toolbar">
<input id="defaultPassword" class="layui-input" type="hidden" value="${constants.getDefaultPassWord()}"/>
<div class="layui-card-body" style="padding: 10px;">
<!-- 树工具栏 -->
<div class="layui-form toolbar" id="organizationTreeBar">
<button id="organizationAddBtn" class="layui-btn layui-btn-sm icon-btn">
<i class="layui-icon">&#xe654;</i>添加
</button>&nbsp;
<button id="organizationEditBtn" class="layui-btn layui-btn-sm layui-btn-warm icon-btn">
<i class="layui-icon">&#xe642;</i>修改
</button>&nbsp;
<button id="organizationDelBtn" class="layui-btn layui-btn-sm layui-btn-danger icon-btn">
<i class="layui-icon">&#xe640;</i>删除
</button>
</div>
<!-- 左树 -->
<div id="organizationTree"></div>
</div>
</div>
</div>
<div class="layui-col-md10">
<div class="layui-card">
<div class="layui-card-body" style="padding: 10px;">
<!-- 表格工具栏2 -->
<form class="layui-form toolbar">
<div class="layui-form-item">
<div class="layui-inline">
<input id="orgName" class="layui-input" type="text" placeholder="组织名称"/>
<label class="layui-form-label">组织名称:</label>
<div class="layui-input-inline">
<input name="orgName" class="layui-input" placeholder="组织名称"/>
</div>
</div>
<div class="layui-inline">
<input id="orgCode" class="layui-input" type="text" placeholder="组织编码"/>
</div>
<div class="layui-inline">
<button id="btnSearch" class="layui-btn icon-btn"><i class="layui-icon">&#xe615;</i>搜索</button>
<button id="btnAdd" class="layui-btn icon-btn"><i class="layui-icon">&#xe654;</i>添加</button>
<button id="btnExp" class="layui-btn icon-btn"><i class="layui-icon">&#xe67d;</i>导出</button>
<label class="layui-form-label">组织编码:</label>
<div class="layui-input-inline">
<input name="orgCode" class="layui-input" placeholder="组织编码"/>
</div>
</div>
</div>
<table class="layui-table" id="userTable" lay-filter="userTable"></table>
<div class="layui-inline">&emsp;
<button class="layui-btn icon-btn" lay-filter="organizationTbSearch" lay-submit><i class="layui-icon">&#xe615;</i>搜索</button>
</div>
</div>
</form>
<!-- 数据表格 -->
<table id="organizationTable" lay-filter="organizationTable"></table>
</div>
</div>
</div>
</div>
</div>
<script type="text/html" id="tableBar">
<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="edit">修改</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="delete">删除</a>
</script>
<script type="text/html" id="statusTpl">
<input type="checkbox" lay-filter="status" value="{{d.userId}}" lay-skin="switch" lay-text="正常|锁定" {{d.statusFlag=='1'?'checked':''}}/>
</script>
@}

View File

@ -3,37 +3,36 @@
<form class="layui-form" id="organizationForm" lay-filter="organizationForm">
<div class="layui-fluid" style="padding-bottom: 75px;">
<div class="layui-card">
<div class="layui-card-header">基本信息</div>
<div class="layui-card-body">
<div class="layui-form-item layui-row">
<input name="orgId" type="hidden"/>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">上级机构<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">上级机构</label>
<div class="layui-input-block">
<div id="organization" class="ew-xmselect-tree"></div>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">机构名称<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">机构名称</label>
<div class="layui-input-block">
<input id="orgName" name="orgName" placeholder="请输入机构名称" type="text" class="layui-input" lay-verify="required" required/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">机构编码<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">机构编码</label>
<div class="layui-input-block">
<input id="orgCode" name="orgCode" placeholder="请输入机构编码" type="text" class="layui-input" lay-verify="required" required/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">顺序<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">顺序</label>
<div class="layui-input-block">
<input id="orgSort" name="orgSort" placeholder="请输入顺序" type="text" class="layui-input" lay-verify="required" required/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">备注</label>
<label class="layui-form-label layui-form-required">备注</label>
<div class="layui-input-block">
<textarea id="orgRemark" name="orgRemark" placeholder="请输入备注" class="layui-textarea"></textarea>
</div>

View File

@ -3,37 +3,36 @@
<form class="layui-form" id="organizationForm" lay-filter="organizationForm">
<div class="layui-fluid" style="padding-bottom: 75px;">
<div class="layui-card">
<div class="layui-card-header">基本信息</div>
<div class="layui-card-body">
<div class="layui-form-item layui-row">
<input name="orgId" type="hidden"/>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">上级机构<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">上级机构</label>
<div class="layui-input-block">
<div id="organization" class="ew-xmselect-tree"></div>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">机构名称<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">机构名称</label>
<div class="layui-input-block">
<input id="orgName" name="orgName" placeholder="请输入机构名称" type="text" class="layui-input" lay-verify="required" required/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">机构编码<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">机构编码</label>
<div class="layui-input-block">
<input id="orgCode" name="orgCode" placeholder="请输入机构编码" type="text" class="layui-input" lay-verify="required" required/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">顺序<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">顺序</label>
<div class="layui-input-block">
<input id="orgSort" name="orgSort" placeholder="请输入顺序" type="text" class="layui-input" lay-verify="required" required/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">备注</label>
<label class="layui-form-label layui-form-required">备注</label>
<div class="layui-input-block">
<textarea id="orgRemark" name="orgRemark" placeholder="请输入备注" class="layui-textarea"></textarea>
</div>

View File

@ -9,19 +9,19 @@
<input name="positionId" type="hidden"/>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">职位名称<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">职位名称</label>
<div class="layui-input-block">
<input id="positionName" name="positionName" placeholder="请输入职位名称" type="text" class="layui-input" lay-verify="required" required/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">职位编码<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">职位编码</label>
<div class="layui-input-block">
<input id="positionCode" name="positionCode" placeholder="请输入职位编码" type="text" class="layui-input" lay-verify="required" required/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">顺序<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">顺序</label>
<div class="layui-input-block">
<input id="positionSort" name="positionSort" placeholder="请输入顺序" type="text" class="layui-input" lay-verify="required" required/>
</div>

View File

@ -9,19 +9,19 @@
<input name="positionId" type="hidden"/>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">职位名称<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">职位名称</label>
<div class="layui-input-block">
<input id="positionName" name="positionName" placeholder="请输入职位名称" type="text" class="layui-input" lay-verify="required" required/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">职位编码<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">职位编码</label>
<div class="layui-input-block">
<input id="positionCode" name="positionCode" placeholder="请输入职位编码" type="text" class="layui-input" lay-verify="required" required/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">顺序<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">顺序</label>
<div class="layui-input-block">
<input id="positionSort" name="positionSort" placeholder="请输入顺序" type="text" class="layui-input" lay-verify="required" required/>
</div>

View File

@ -8,13 +8,13 @@
<div class="layui-form-item layui-row">
<input name="timerId" type="hidden"/>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">任务名称<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">任务名称</label>
<div class="layui-input-block">
<input id="timerName" name="timerName" placeholder="请输入任务名称" type="text" class="layui-input" lay-verify="required" required/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">任务job<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">任务job</label>
<div class="layui-input-block">
<select name="actionClass" id="actionClass" lay-verify="required" lay-filter="actionClass">
<option value=""></option>
@ -22,7 +22,7 @@
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label" style="width: auto">cron表达式<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">cron</label>
<!-- http://89tool.com/cron -->
<div class="layui-input-block" style="width: auto">
<input id="cron" name="cron" placeholder="请输入cron表达式" type="text" class="layui-input" lay-verify="required" required/>

View File

@ -9,13 +9,13 @@
<input name="timerId" type="hidden"/>
<input name="jobStatus" type="hidden"/>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">任务名称<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">任务名称</label>
<div class="layui-input-block">
<input id="timerName" name="timerName" placeholder="请输入任务名称" type="text" class="layui-input" lay-verify="required" required/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">任务job<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">任务job</label>
<!-- http://89tool.com/cron -->
<div class="layui-input-block">
<select name="actionClass" id="actionClass" lay-verify="required" lay-filter="actionClass">
@ -24,7 +24,7 @@
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label" style="width: auto">cron表达式<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">cron</label>
<div class="layui-input-block" style="width: auto">
<input id="cron" name="cron" placeholder="请输入cron表达式" type="text" class="layui-input" lay-verify="required" required/>
</div>

View File

@ -1,50 +1,99 @@
@layout("/layout/_tree_container.html",{plugins:["jquery-layout"],js:["/assets/modular/system/user/user.js"]}){
@layout("/layout/_container.html",{js:["/assets/modular/system/user/user.js"]}){
<style>
/* 左树 */
#organizationTreeBar {
padding: 10px 15px;
border: 1px solid #e6e6e6;
background-color: #f2f2f2;
}
<div class="layui-body-header">
<span class="layui-body-header-title">用户管理</span>
</div>
#organizationTree {
border: 1px solid #e6e6e6;
border-top: none;
padding: 10px 5px;
overflow: auto;
height: -webkit-calc(100vh - 125px);
height: -moz-calc(100vh - 125px);
height: calc(100vh - 125px);
}
<div id="myContiner" style="height: 100%">
<div class="ui-layout-west">
<div class="box box-main">
<div class="ui-layout-content">
<div id="deptTree"></div>
</div>
</div>
</div>
<div class="ui-layout-center">
<div class="layui-fluid">
<div class="layui-row">
<div class="layui-col-md12">
.layui-tree-entry .layui-tree-txt {
padding: 0 5px;
border: 1px transparent solid;
text-decoration: none !important;
}
.layui-tree-entry.ew-tree-click .layui-tree-txt {
background-color: #fff3e0;
border: 1px #FFE6B0 solid;
}
/* 右表搜索表单 */
#organizationUserTbSearchForm .layui-form-label {
box-sizing: border-box !important;
width: 90px !important;
}
#organizationUserTbSearchForm .layui-input-block {
margin-left: 90px !important;
}
</style>
</head>
<body>
<!-- 正文开始 -->
<div class="layui-fluid" style="padding-bottom: 0;">
<div class="layui-row layui-col-space15">
<div class="layui-col-md2">
<div class="layui-card">
<div class="layui-card-body">
<div class="layui-form toolbar">
<input id="defaultPassword" class="layui-input" type="hidden" value="${constants.getDefaultPassWord()}"/>
<div class="layui-card-body" style="padding: 10px;">
<!-- 树工具栏 -->
<div class="layui-form toolbar" id="organizationTreeBar">
<!--
<button id="organizationAddBtn" class="layui-btn layui-btn-sm icon-btn">
<i class="layui-icon">&#xe654;</i>添加
</button>&nbsp;
-->
</div>
<!-- 左树 -->
<div id="organizationTree"></div>
</div>
</div>
</div>
<div class="layui-col-md10">
<div class="layui-card">
<div class="layui-card-body" style="padding: 10px;">
<!-- 表格工具栏2 -->
<form class="layui-form toolbar">
<div class="layui-form-item">
<div class="layui-inline">
<input id="account" class="layui-input" type="text" placeholder="账号"/>
<label class="layui-form-label">账号:</label>
<div class="layui-input-inline">
<input name="account" class="layui-input" type="text" placeholder="账号"/>
</div>
</div>
<div class="layui-inline">
<input id="realName" class="layui-input" type="text" placeholder="姓名"/>
<label class="layui-form-label">姓名:</label>
<div class="layui-input-inline">
<input name="realName" class="layui-input" type="text" placeholder="姓名"/>
</div>
<div class="layui-inline">
<button id="btnSearch" class="layui-btn icon-btn"><i class="layui-icon">&#xe615;</i>搜索</button>
<button id="btnAdd" class="layui-btn icon-btn"><i class="layui-icon">&#xe654;</i>添加</button>
</div>
<div class="layui-inline">&emsp;
<button class="layui-btn icon-btn" lay-filter="userTbSearch" lay-submit><i class="layui-icon">&#xe615;</i>搜索</button>
<button id="userAddBtn" class="layui-btn icon-btn"><i class="layui-icon">&#xe654;</i>添加</button>
<button id="btnExp" class="layui-btn icon-btn"><i class="layui-icon">&#xe67d;</i>导出</button>
</div>
</div>
</div>
<table class="layui-table" id="userTable" lay-filter="userTable"></table>
</div>
</div>
</form>
<!-- 数据表格 -->
<table id="userTable" lay-filter="userTable"></table>
</div>
</div>
</div>
</div>
</div>
<script type="text/html" id="tableBar">
<input id="defaultPassword" class="layui-input" type="hidden" value="${constants.getDefaultPassWord()}"/>
<!-- 表格操作列 -->
<script type="text/html" id="userTbBar">
<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="edit">修改</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="delete">删除</a>
<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="roleAssign">分配角色</a>
@ -54,4 +103,5 @@
<script type="text/html" id="statusTpl">
<input type="checkbox" lay-filter="status" value="{{d.userId}}" lay-skin="switch" lay-text="正常|锁定" {{d.statusFlag=='1'?'checked':''}}/>
</script>
@}

View File

@ -1,4 +1,4 @@
@layout("/layout/_form.html",{js:["/assets/modular/system/user/user_add.js"],css:["/assets/expand/module/formSelects/formSelects-v4.css"]}){
@layout("/layout/_form.html",{js:["/assets/modular/system/user/user_add.js"]}){
<form class="layui-form" id="userForm" lay-filter="userForm">
<div class="layui-fluid" style="padding-bottom: 75px;">
@ -8,19 +8,19 @@
<div class="layui-form-item layui-row">
<input name="userId" type="hidden"/>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">账号<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">账号</label>
<div class="layui-input-block">
<input name="account" placeholder="请输入账号" type="text" class="layui-input" lay-verify="required" required/>
</div>
</div>
<div class="layui-inline layui-col-md6">
<label class="layui-form-label">密码<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">密码</label>
<div class="layui-input-block">
<input name="password" placeholder="请输入密码" type="password" class="layui-input" lay-verify="required|psw" autocomplete="new-password" required/>
</div>
</div>
<div class="layui-inline layui-col-md6">
<label class="layui-form-label">重复密码<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">重复密码</label>
<div class="layui-input-block">
<input name="rePassword" placeholder="请输入重复密码" type="password" class="layui-input" autocomplete="new-password" lay-verify="required|repsw" required/>
</div>
@ -33,7 +33,7 @@
</div>
</div>
<div class="layui-inline layui-col-md6">
<label class="layui-form-label">名称<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">名称</label>
<div class="layui-input-block">
<input name="realName" placeholder="请输入姓名" type="text" class="layui-input" lay-verify="required" required/>
</div>
@ -45,21 +45,21 @@
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">生日<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">生日</label>
<div class="layui-input-block">
<input id="birthday" name="birthday" placeholder="请输入生日" type="text" class="layui-input date-icon" autocomplete="off" lay-verify="required" required/>
</div>
</div>
<div class="layui-inline layui-col-md6">
<label class="layui-form-label">邮件<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">邮件</label>
<div class="layui-input-block">
<input name="email" placeholder="请输入邮箱" type="text" class="layui-input" lay-verify="required|email" autocomplete="off" required/>
</div>
</div>
<div class="layui-inline layui-col-md6">
<label class="layui-form-label">电话<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">电话</label>
<div class="layui-input-block">
<input name="phone" placeholder="请输入电话" type="text" class="layui-input" lay-verify="required" required/>
</div>
@ -72,20 +72,13 @@
<div class="layui-card-body">
<div class="layui-form-item layui-row">
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">机构<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">机构</label>
<div class="layui-input-block">
<div id="organization" class="ew-xmselect-tree"></div>
</div>
</div>
<!-- <div class="layui-inline layui-col-md12">-->
<!-- <label class="layui-form-label">机构<span style="color: red;">*</span></label>-->
<!-- <div class="layui-input-block">-->
<!-- <input id="deptId" name="deptId" type="hidden">-->
<!-- <input id="deptName" name="deptName" placeholder="请输入部门" type="text" class="layui-input" lay-verify="required" required autocomplete="off"/>-->
<!-- </div>-->
<!-- </div>-->
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">职位<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">职位</label>
<div class="layui-input-block">
<div id="position" class="xm-select-demo"></div>
</div>

View File

@ -1,4 +1,4 @@
@layout("/layout/_form.html",{js:["/assets/modular/system/user/user_edit.js"],css:["/assets/expand/module/formSelects/formSelects-v4.css"]}){
@layout("/layout/_form.html",{js:["/assets/modular/system/user/user_edit.js"]}){
<form class="layui-form" id="userForm" lay-filter="userForm">
<div class="layui-fluid" style="padding-bottom: 75px;">
@ -17,7 +17,7 @@
</div>
</div>
<div class="layui-inline layui-col-md6">
<label class="layui-form-label">名称<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">名称</label>
<div class="layui-input-block">
<input name="realName" placeholder="请输入姓名" type="text" class="layui-input" lay-verify="required" required/>
</div>
@ -29,20 +29,20 @@
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">生日<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">生日</label>
<div class="layui-input-block">
<input id="birthday" name="birthday" placeholder="请输入生日" type="text" class="layui-input date-icon" autocomplete="off" lay-verify="required" required/>
</div>
</div>
<div class="layui-inline layui-col-md6">
<label class="layui-form-label">邮件<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">邮件</label>
<div class="layui-input-block">
<input name="email" placeholder="请输入邮箱" type="text" class="layui-input" lay-verify="required|email" autocomplete="off" required/>
</div>
</div>
<div class="layui-inline layui-col-md6">
<label class="layui-form-label">电话<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">电话</label>
<div class="layui-input-block">
<input name="phone" placeholder="请输入电话" type="text" class="layui-input" lay-verify="required" required/>
</div>
@ -55,20 +55,13 @@
<div class="layui-card-body">
<div class="layui-form-item layui-row">
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">机构<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">机构</label>
<div class="layui-input-block">
<div id="organization" class="ew-xmselect-tree"></div>
</div>
</div>
<!-- <div class="layui-inline layui-col-md12">-->
<!-- <label class="layui-form-label">机构<span style="color: red;">*</span></label>-->
<!-- <div class="layui-input-block">-->
<!-- <input id="deptId" name="deptId" type="hidden">-->
<!-- <input id="deptName" name="deptName" placeholder="请输入部门" type="text" class="layui-input" lay-verify="required" required autocomplete="off"/>-->
<!-- </div>-->
<!-- </div>-->
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">职位<span style="color: red;">*</span></label>
<label class="layui-form-label layui-form-required">职位</label>
<div id="demo1" class="xm-select-demo"></div>
<div class="layui-input-block">
<div id="position" class="xm-select-demo"></div>

View File

@ -1,90 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>${constants.getSystemName()}</title>
<meta name="description" content="${constants.getSystemName()}">
<meta name="author" content="stylefeng">
<link rel="stylesheet" href="${ctxPath}/assets/common/libs/layui/css/layui.css?v=${constants.getReleaseVersion()}"/>
<link href="${ctxPath}/assets/expand/plugins/ztree/zTreeStyle.css?v=${constants.getReleaseVersion()}" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="deptForm" class="layui-fluid">
<div class="layui-row" style="margin-top:15px;background: #f2f7f8;padding: 20px;">
<ul id="zTree" class="ztree"></ul>
</div>
<div class="layui-row" style="background: #CFD4D5;padding: 10px;">
<div style="text-align: center;">
<button class="layui-btn layui-btn-sm" id="saveButton">${lang.get("BTN_SAVE","保存")}</button>
<button class="layui-btn layui-btn-sm layui-btn-primary" type="button" ew-event="closeDialog">${lang.get("BTN_CANCEL","取消")}</button>
</div>
</div>
</div>
@/* 加入contextPath属性和session超时的配置 */
<script type="text/javascript">
var Feng = {
ctxPath: "${ctxPath}",
version: '${constants.getReleaseVersion()}'
};
</script>
<script type="text/javascript" src="${ctxPath}/assets/common/libs/layui/layui.js?v=${constants.getReleaseVersion()}"></script>
<script type="text/javascript" src="${ctxPath}/assets/common/js/common.js?v=${constants.getReleaseVersion()}"></script>
<!--其他插件js-->
<script type="text/javascript" src="${ctxPath}/assets/expand/plugins/jquery/jquery-3.2.1.min.js?v=${constants.getReleaseVersion()}"></script>
<script type="text/javascript" src="${ctxPath}/assets/expand/plugins/ztree/jquery.ztree.all.min.js?v=${constants.getReleaseVersion()}"></script>
<script type="text/javascript">
layui.use(['ztree', 'ax'], function () {
var $ZTree = layui.ztree;
var $ax = layui.ax;
var ZTreeDlg = {
index: parent.layer.getFrameIndex(window.name)
};
$("#saveButton").bind("click", function () {
var ids = Feng.zTreeCheckedNodes("zTree");
var ajax = new $ax(Feng.ctxPath + "/mgr/setRole", function (data) {
Feng.success("分配角色成功!");
parent.layer.close(ZTreeDlg.index);
}, function (data) {
Feng.error("分配角色失败!" + data.responseJSON.message + "!");
});
ajax.set("roleIds", ids);
ajax.set("userId", "${userId}");
ajax.start();
});
var setting = {
check: {
enable: true,
chkboxType: {
"Y": "",
"N": ""
}
},
data: {
simpleData: {
enable: true
}
}
};
var ztree = new $ZTree("zTree", "/role/roleTreeListByUserId/${userId}");
ztree.setSettings(setting);
ztree.init();
});
</script>
</body>
</html>