不分离版
1、项目结构
2、若依配置主页菜单问题
1、在主页菜单管理中配置页面路径,权限;其中路径对应controller里的请求路径和页面存放的位置
2、通常左侧菜单栏有多个模块,一个模块通常对应一个文件夹,一个文件夹下会有多个页面,通常路径名相同的页面对应主页面,add对应添加按钮,edit对应修改按钮等。
3、页面如何实现跳转和关联
通过表格初始化,在参数中设置url,每一个url对应controller里的路径,通过同一个controller实现页面跳转和关联。
$(function() {
var options = {
code: "menuId",
parentCode: "parentId",
uniqueId: "menuId",
expandAll: false,
expandFirst: false,
url: prefix + "/list",
createUrl: prefix + "/add/{id}",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove/{id}",
modalName: "菜单",
columns: [{
field: 'selectItem',
radio: true
},
{
title: '菜单名称',
field: 'menuName',
width: '20',
widthUnit: '%',
formatter: function(value, row, index) {
if ($.common.isEmpty(row.icon)) {
return row.menuName;
} else {
return '<i class="' + row.icon + '"></i> <span class="nav-label">' + row.menuName + '</span>';
}
}
},
{
field: 'orderNum',
title: '排序',
width: '10',
widthUnit: '%',
align: "left"
},
{
field: 'url',
title: '请求地址',
width: '15',
widthUnit: '%',
align: "left",
formatter: function(value, row, index) {
return $.table.tooltip(value);
}
},
{
title: '类型',
field: 'menuType',
width: '10',
widthUnit: '%',
align: "left",
formatter: function(value, item, index) {
if (item.menuType == 'M') {
return '<span class="label label-success">目录</span>';
}
else if (item.menuType == 'C') {
return '<span class="label label-primary">菜单</span>';
}
else if (item.menuType == 'F') {
return '<span class="label label-warning">按钮</span>';
}
}
},
{
field: 'visible',
title: '可见',
width: '10',
widthUnit: '%',
align: "left",
formatter: function(value, row, index) {
if (row.menuType == 'F') {
return '-';
}
return $.table.selectDictLabel(datas, row.visible);
}
},
{
field: 'perms',
title: '权限标识',
width: '15',
widthUnit: '%',
align: "left",
formatter: function(value, row, index) {
return $.table.tooltip(value);
}
},
{
title: '操作',
width: '20',
widthUnit: '%',
align: "left",
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.menuId + '\')"><i class="fa fa-edit"></i>编辑</a> ');
actions.push('<a class="btn btn-info btn-xs ' + addFlag + '" href="javascript:void(0)" onclick="$.operate.add(\'' + row.menuId + '\')"><i class="fa fa-plus"></i>新增</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.menuId + '\')"><i class="fa fa-trash"></i>删除</a>');
return actions.join('');
}
}]
};
$.treeTable.init(options);
});
4、页面表格如何实现显示
如上代码,若依封装了表格的options,通过请求和回调参数,使用column设置表格的列,还可添加相关按钮
5、使用若依框架上传下载zip思路
1、若依框架上传可分为两步:
1)将文件ajax上传后执行回调函数
2)使用回调函数异步将数据插入数据库
2、zip类文件下载也可两步:
1)使用ajax异步,将文件压缩至通用下载目录执行回调函数
2)回调函数再次执行请求,去controller里调用通用下载方法即可
未完待续。。。。。。。。